文档似乎说它引用了模式中的另一个元素,但是如何使用它 – 我从来没有在我已经使用的模式中看到它。
任何人有任何好的用例或可以解释其使用进一步的东西?
基本上,它引用在其他地方开发的另一个元素,它可能是也可能不是同一个模式文档。例如,它可能来自不同命名空间中的外部引用模式。假设您在多个不同模式中使用item元素,可以在公共模式中声明它(以及任何其他常见类型和属性),然后在所有其他模式中重复使用它们。如果您使用命名空间c引用公共模式,则可以单独声明项elemnt的实例,或者作为类型的一部分声明如下:
<xs:element ref="c:item" /><!-- reference here --> <xs:complexType name="something"> <xs:sequence> <xs:element ref="c:item" /><!-- and here --> </xs:sequence> <xs:element name="other" type="xs:Name" /> </xs:complexType>
数据模式中的定义如下所示:
<xs:element name="item" type="itemType" /><!-- referenced element --> <xs:complexType name="itemType"> <xs:sequence> <xs:element name="code" type="xs:Name" minOccurs="0" maxOccurs="unbounded" /> </xs:sequence> <xs:attribute name="description" type="xs:normalizedString" use="required" /> </xs:complexType>