我無法弄清楚如何創建我的XSD文件來爲子元素賦予唯一的ID。它對根元素工作正常,但複製這些代碼並更改值不起作用,所以我認爲我做錯了什麼。下面是我的XML:如何將唯一的ID添加到XSD文件中的子元素?
<?xml version="1.0" encoding="UTF-8"?>
<flights
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:noNamespaceSchemaLocation="test.xsd">
<flight flightid="1">
<plane planeid="1">Airbus A380-861</plane>
</flight>
</flights>
下面是XSD文件:
<?xml version="1.0" encoding="UTF-8"?>
<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema"
elementFormDefault="qualified"
attributeFormDefault="unqualified">
<xs:element name="flights">
<xs:complexType>
<xs:sequence>
<xs:element name="flight"
type="flighttype"
minOccurs='1'
maxOccurs='unbounded' />
</xs:sequence>
</xs:complexType>
<xs:unique name="flightidisunique">
<xs:selector xpath="flight"/>
<xs:field xpath="@flightid"/>
</xs:unique>
</xs:element>
<xs:complexType name="flighttype">
<xs:sequence>
<xs:element name="plane"
type="planetype"
minOccurs='1'
maxOccurs='unbounded' />
</xs:sequence>
<xs:unique name="planeidisunique">
<xs:selector xpath="plane"/>
<xs:field xpath="@planeid"/>
</xs:unique>
<xs:attribute name="flightid" type="xs:string"/>
</xs:complexType>
<xs:complexType name="planetype">
<xs:sequence>
</xs:sequence>
<xs:attribute name="planeid" type="xs:string"/>
</xs:complexType>
</xs:schema>
什麼是創造我已經發布了XML的有效模式的正確方法是什麼?
這真是太神奇了,這完全是我在找的東西!我還需要知道使飛機在全球獨一無二,或者只是在飛機內部的區別!非常感謝! – deucalion0 2013-02-12 08:57:40