我已经看到了如何在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,我可以使用以下示例,但它直接在元素声明中使用。
谢谢!
答案 0 :(得分:6)
在XSD中,身份约束与元素相关联,而不是与类型相关联。因此,在模式中定义为flighttype
类型的元素上定义标识约束,而不是flighttype
本身。