고유 파티클 특성 제약 조건
적용 대상:SQL ServerAzure SQL DatabaseAzure SQL Managed Instance
XSD에서 복잡한 콘텐츠 모델은 UPA(고유한 파티클 특성) 제약 조건 규칙에 의해 제한됩니다. 이 규칙을 사용하려면 인스턴스 문서의 각 요소가 해당 부모의 콘텐츠 모델에서 정확히 하나 <xsd:element>
또는 <xsd:any>
파티클에 명확하게 대응해야 합니다. 잠재적으로 모호한 콘텐츠 모델이 있는 유형이 포함되는 스키마는 모두 거부됩니다.
모호성의 가장 일반적인 원인은 <xsd:any>
minOccurs maxOccurs < 와 같은 변수 발생 범위가 있는 와일드카드 문자 및 파티클입니다. 예를 들어 요소가 요소 또는 <xsd:any>
요소와 일치 <xsd:element>
할 수 있으므로 <e1>
다음 콘텐츠 모델은 모호합니다.
<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>
문서의 경우 시퀀스는 두 번째 <xsd:sequence>
시퀀스를 <e1/><e3/>
명확하게 일치합니다. 그러나 앞을 내다보지 않고는 해당 값을 확인할 수 없으므로 <xsd:element>
<e1/>
<e3/>
콘텐츠 모델은 UPA 제약 조건 규칙을 위반합니다.
다음 단계
다음 문서는 W3C(World Wide Web 컨소시엄)에 의해 게시되며 고유한 파티클 특성 제약 조건에 대한 기술 설명을 포함합니다.
"XML 스키마 파트 1: Structures Second Edition, W3C 제안 편집 권장 사항":
섹션 3.8.6: 모델 그룹 스키마 구성 요소에 대한 제약 조건
부록 H: 고유 파티클 특성 제약 조건 분석(비표준)
문서를 보려면 다음을 방문하세요 http://www.w3.org/TR/xmlschema-1.
참고 항목
피드백
https://aka.ms/ContentUserFeedback
출시 예정: 2024년 내내 콘텐츠에 대한 피드백 메커니즘으로 GitHub 문제를 단계적으로 폐지하고 이를 새로운 피드백 시스템으로 바꿀 예정입니다. 자세한 내용은 다음을 참조하세요.다음에 대한 사용자 의견 제출 및 보기