비결정적 콘텐츠 모델Non-Deterministic Content Models

SQL Server 2005SQL Server 2005 SP1(서비스 팩 1) 이전에, SQL ServerSQL Server 에서는 비결정적 콘텐츠 모델이 있는 XML 스키마를 거부했습니다.Before SQL Server 2005SQL Server 2005 Service Pack 1 (SP1), SQL ServerSQL Server rejected XML schemas that had non-deterministic content models.

그러나 SQL Server 2005SQL Server 2005 SP1부터 비결정적 콘텐츠 모델은 발생빈도 제약 조건이 0 또는 1이거나 해제된 경우 허용됩니다.Beginning with SQL Server 2005SQL Server 2005 SP1, however, non-deterministic content models are accepted if the occurrence constraints are 0,1, or unbounded.

예제: 비결정적 콘텐츠 모델이 거부됨Example: Non-deterministic content model rejected

다음 예에서는 비결정적 콘텐츠 모델이 있는 XML 스키마를 만들려고 시도합니다.The following example attempts to create an XML schema with a non-deterministic content model. <root> 요소에 <a> 요소가 두 개 포함된 하나의 시퀀스가 있는지 또는 <root> 요소에 각각 <a> 요소가 하나씩 포함된 두 개의 시퀀스가 있는지가 명확하지 않기 때문에 이 코드는 실패합니다.The code fails because it is not clear whether the <root> element should have a sequence of two <a> elements or if the <root> element should have two sequences, each with an <a> element.

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  

발생빈도 제약 조건을 고유한 위치로 이동하여 스키마를 수정할 수 있습니다.The schema can be fixed by moving the occurrence constraint to a unique location. 예를 들어 이 제약 조건을 포함하는 시퀀스 파티클로 이동할 수 있습니다.For example, the constraint can be moved to the containing sequence particle:

<sequence minOccurs="1" maxOccurs="4">  
    <element name="a" type="string" minOccurs="1" maxOccurs="1"/>  
</sequence>  

또는 이 제약 조건을 포함된 요소로 이동할 수 있습니다.Or the constraint can be moved to the contained element:

<sequence minOccurs="1" maxOccurs="1">  
     <element name="a" type="string" minOccurs="1" maxOccurs="4"/>  
</sequence>  

예제: 비결정적 콘텐츠 모델이 허용됨Example: Non-deterministic content model accepted

다음 스키마는 SQL ServerSQL Server SP1 이전의 SQL Server 2005SQL Server 2005 버전에서 거부됩니다.The following schema would be rejected in versions of SQL ServerSQL Server before SQL Server 2005SQL Server 2005 SP1.

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  

참고 항목See Also

서버의 XML 스키마 컬렉션에 대한 요구 사항 및 제한 사항Requirements and Limitations for XML Schema Collections on the Server