다음을 통해 공유


Unique Particle Attribution 제약 조건

XSD에서 복잡한 콘텐츠 모델은 UPA(고유한 파티클 특성) 제약 조건 규칙에 의해 제한됩니다. 이 규칙을 사용하려면 인스턴스 문서의 각 요소가 부모의 콘텐츠 모델에서 정확히 하나 <xsd:element> 또는 <xsd:any> 파티클에 명확하게 대응해야 합니다. 잠재적으로 모호한 콘텐츠 모델이 있는 형식이 포함된 스키마는 거부됩니다.

모호성의 가장 일반적인 원인은 <xsd:any> minOccurs maxOccurs < 와 같은 변수 발생 범위가 있는 와일드카드 문자 및 파티클입니다. 예를 들어, 다음 콘텐츠 모델은 모호합니다. 왜냐하면 <e1> 요소는 <xsd:element> 요소나 <xsd:any> 요소 중 어느 것으로도 일치할 수 있기 때문입니다.

<xsd:element name="root">  
    <xsd:complexType>  
        <xsd:choice>  
            <xsd:element name="e1"/>  
            <xsd:any namespace="##any"/>  
        </xsd:choice>  
    </xsd:complexType>  
</xsd:element>  

다음 콘텐츠 모델도 모호합니다.

<xsd:element name="root">  
    <xsd:complexType>  
        <xsd:sequence>  
            <xsd:element name="e1" maxOccurs="2"/>  
            <xsd:element name="e2" minOccurs="0"/>  
            <xsd:element name="e1"/>  
        </xsd:sequence>  
    </xsd:complexType>  
</xsd:element>  

이러한 <root><e1/><e2/><e1/></root> 문서의 유효성을 명확하게 확인할 수 있지만 두 번째 <e1/> 문서가 어느 <xsd:element> 문서에 해당하는지 명확하지 않기 때문에 이러한 <root><e1/><e1/></root> 문서는 사용할 수 없습니다. 일부 문서의 유효성을 명확하게 확인할 수 있지만 모호성 때문에 스키마가 거부됩니다.

콘텐츠 모델이 유효하려면 인스턴스의 유효성을 앞을 내다보지 않고도 명확하게 검사할 수 있어야 합니다. 예를 들어 다음 콘텐츠 모델을 고려합니다.

<xsd:element name="root">  
    <xsd:complexType>  
        <xsd:choice>  
           <xsd:sequence>  
               <xsd:element name="e1"/>  
               <xsd:element name="e2"/>  
           </xsd:sequence>  
           <xsd:sequence>  
               <xsd:element name="e1"/>  
               <xsd:element name="e3"/>  
           </xsd:sequence>  
       </xsd:choice>  
    </xsd:complexType>  
</xsd:element>  

문서 <root><e1/><e3/></root>와 같은 경우, 시퀀스 <e1/><e3/>는 두 번째 <xsd:sequence>와 명확하게 일치합니다. 그러나 <e3/>를 내다보기 전에는 <e1/><xsd:element>에 대응되는지를 결정할 수 없기 때문에, 콘텐츠 모델은 UPA 제약 조건 규칙을 위반합니다.

추가 정보 찾기

다음 문서는 W3C(World Wide Web 컨소시엄)에 의해 게시되며 고유한 파티클 특성 제약 조건에 대한 기술 설명을 포함합니다.

"XML 스키마 부 1: 구조 제2판, W3C 추천 수정 권고안"

  • 섹션 3.8.6: 모델 그룹 스키마 구성 요소에 대한 제약 조건

  • 부록 H: 고유 파티클 특성 제약 조건 분석(비표준)

문서를 보려면 다음을 방문하세요 http://www.w3.org/TR/xmlschema-1.

또한 참조하십시오

XML 스키마 컬렉션 [SQL Server]