我的XML文档结构如下:
<document>
<!-- heading is an element of complexType ns:blockType -->
<heading>
</heading>
<!-- so is paragraph -->
<paragraph>
</paragraph>
<!-- foo, in another namespace, is also of complexType ns:blockType -->
<otherNS:foo>
</otherNS:foo>
</document>
如何限制document
的孩子只属于blockType
类型?
答案 0 :(得分:0)
您可以定义
<xs:element name="block" abstract="true" type="ns:blockType"/>
和
<xs:complexType name="headingType">
<xs:sequence>
<xs:element ref="block" maxOccurs="unbounded"/>
</xs:sequence>
</xs:complexType>
这允许标题包含“block”的替换组中的任何元素,并且如果元素的类型为ns:blockType,则该元素只能位于此替换组中。
这不是你要求的,但它是我能得到的最接近的。