비결정적 콘텐츠 모델
적용 대상:SQL ServerAzure SQL DatabaseAzure SQL Managed Instance
발생 제약 조건이 0, 1 또는 바인딩되지 않은 경우 SQL Server에서 비결정적 콘텐츠 모델이 허용됩니다.
SQL Server 2005(9.x) SP1(서비스 팩 1) 이전에 SQL Server는 비결정적 콘텐츠 모델이 있는 XML 스키마를 거부했습니다.
예: 비결정적 콘텐츠 모델 거부됨
다음 예제에서는 비결정적 콘텐츠 모델을 사용하여 XML 스키마를 만들려고 시도합니다. 요소에 두 개의 요소 시퀀스가 있어야 하는지 또는 요소에 각각 요소가 있는 두 <a>
<root>
개의 시퀀스가 있어야 하는지 명확하지 <root>
않기 때문에 코드가 <a>
실패합니다.
CREATE XML SCHEMA COLLECTION MyCollection AS '
<schema xmlns="http://www.w3.org/2001/XMLSchema">
<element name="root">
<complexType>
<sequence minOccurs="1" maxOccurs="2">
<element name="a" type="string" minOccurs="1" maxOccurs="2"/>
</sequence>
</complexType>
</element>
</schema>
';
GO
발생 제약 조건을 고유한 위치로 이동하여 스키마를 수정할 수 있습니다. 예를 들어 제약 조건을 포함하는 시퀀스 파티클로 이동할 수 있습니다.
<sequence minOccurs="1" maxOccurs="4">
<element name="a" type="string" minOccurs="1" maxOccurs="1"/>
</sequence>
또는 제약 조건을 포함된 요소로 이동할 수 있습니다.
<sequence minOccurs="1" maxOccurs="1">
<element name="a" type="string" minOccurs="1" maxOccurs="4"/>
</sequence>
예: 비결정적 콘텐츠 모델 허용됨
다음 스키마는 SQL Server 2005(9.x) SP1 이전 버전의 SQL Server에서 거부됩니다.
CREATE XML SCHEMA COLLECTION MyCollection AS '
<schema xmlns="http://www.w3.org/2001/XMLSchema">
<element name="root">
<complexType>
<sequence minOccurs="0" maxOccurs="unbounded">
<element name="a" type="string" minOccurs="0" maxOccurs="1"/>
<element name="b" type="string" minOccurs="1" maxOccurs="unbounded"/>
</sequence>
</complexType>
</element>
</schema>
';
GO
참고 항목
피드백
https://aka.ms/ContentUserFeedback
출시 예정: 2024년 내내 콘텐츠에 대한 피드백 메커니즘으로 GitHub 문제를 단계적으로 폐지하고 이를 새로운 피드백 시스템으로 바꿀 예정입니다. 자세한 내용은 다음을 참조하세요.다음에 대한 사용자 의견 제출 및 보기