4

我已经看到了有关如何在 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,我可以让下面的示例工作,但它直接在元素声明中使用。

例子

谢谢!

4

1 回答 1

6

在 XSD 中,标识约束与元素相关联,而不是与类型相关联。因此,在定义为具有 type 的架构中的元素上定义身份约束flighttype,而不是在flighttype其自身上。

于 2013-02-05T16:57:59.160 回答