如何在复杂类型的xsd文件中使用唯一标记?

时间:2013-02-04 22:50:56

标签: xml xsd uniqueidentifier

我已经看到了如何在xsd中的元素声明中直接使用唯一标记的示例,但我无法弄清楚如何放入复杂类型的元素声明,请参阅下面的代码:

<xs:complexType name="flighttype">
<xs:sequence>
    <xs:element name="departure" type="departuretype"/>
    <xs:element name="arrival" type="arrivaltype"/>
    <xs:element name="altitude" type="xs:string"/>
    <xs:element name="speed" type="xs:string"/>
    <xs:element name="distance" type="xs:string"/>
    <xs:element name="entertainment" type="entertainmenttype"/>
    <xs:element name="safetymessage" type="xs:string"/>
</xs:sequence>
<xs:attribute name="id" type="xs:string"/>
<xs:attribute name="airline" type="xs:string"/>
<xs:attribute name="flightno" type="xs:string"/>
<xs:attribute name="model" type="xs:string"/>
<xs:attribute name="passengers" type="xs:integer"/>
<xs:attribute name="status" type="xs:string"/>
</xs:complexType>

我想将id设为唯一ID,我可以使用以下示例,但它直接在元素声明中使用。

Example

谢谢!

1 个答案:

答案 0 :(得分:6)

在XSD中,身份约束与元素相关联,而不是与类型相关联。因此,在模式中定义为flighttype类型的元素上定义标识约束,而不是flighttype本身。