2011-04-12 7 views
1

속성이나 내용을 허용하는 XSD 내용 유형을 만들려고하지만 동시에 또는 둘 다 허용하지는 않습니다. 예를 들어, 다음은 허용 될 것이다 :속성 OR 내용 만 허용하는 XSD 유형

<data cid="my_id" /> 
<data>TWFuIGlzIGRpc3Rpbmd1aXNoZWQsIG5vdCBvbmx5IGJ5IGh</data> 

하지만 다음은 허용되지 않을 것이다 :

<data cid="my_id">TWFuIGlzIGRpc3Rpbmd1aXNoZWQsIG5vdCBvbmx5IGJ5IGh</data> 
<data /> 

나는이에 대한이 최선의 시도는 지금까지뿐만 아니라 둘 다/둘 중 하나를 할 수 있습니다.

<xs:complexType name="data"> 
    <xs:simpleContent> 
    <xs:extension base="xs:base64Binary"> 
     <xs:attribute name="cid" type="xs:string" use="optional" /> 
    </xs:extension> 
    </xs:simpleContent> 
</xs:complexType> 

답변

1

불행히도 XSD 1.0에서는이 기능을 사용할 수 없습니다. 이러한 요구 사항으로 인해 Schematron과 같은 XSD 위에 다른 스키마 언어의 도움을 받아야합니다. XSD 1.1을 사용하면 필요한 효과에 대한 규칙을 지정할 수 있습니다. 안타깝게도 XSD 1.1에 대한 지원은 현재로서는 매우 제한적입니다.