XML Schema 中的 anxs:group
和 an 有什么区别?xs:sequence
您什么时候使用其中一种?
问问题
28326 次
1 回答
37
xs:sequence
xs:choice
-与- 一起xs:all
用于定义目标 XML 中 XML 元素的有效序列。例如,此 XML 的架构:
<mainElement>
<firstSubElement/>
<subElementA/>
<subElementB/>
</mainElement>
是这样的:
<xs:element name='mainElement'>
<xs:complexType>
<xs:sequence>
<xs:element name="firstSubElement"/>
<xs:element name="subElementA"/>
<xs:element name="subElementB"/>
</xs:sequence>
</xs:complexType>
</xs:element>
xs:group
用于定义一组命名的 XML 元素,遵循某些规则,然后可以在架构的不同部分引用。例如,如果 XML 是:
<root>
<mainElementA>
<firstSubElement/>
<subElementA/>
<subElementB/>
</mainElementA>
<mainElementB>
<otherSubElement/>
<subElementA/>
<subElementB/>
</mainElementB>
</root>
您可以为公共子元素定义一个组:
<xs:group name="subElements">
<xs:sequence>
<xs:element name="subElementA"/>
<xs:element name="subElementB"/>
</xs:sequence>
</xs:group>
然后使用它:
<xs:element name="mainElementA">
<xs:complexType>
<xs:sequence>
<xs:element name="firstSubElement"/>
<xs:group ref="subElements"/>
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:element name="mainElementB">
<xs:complexType>
<xs:sequence>
<xs:element name="otherSubElement"/>
<xs:group ref="subElements"/>
</xs:sequence>
</xs:complexType>
</xs:element>
于 2012-09-16T22:36:19.493 回答