如何在XSD文件中将多个compelxType添加到相同的Element类型中?如下例所示:
<xs:element name="InboundFlight" type="eInboundFlight"
<xs:complexType name="Flight">
<xs:sequence>
<xs:element name="aircraftIdentification" type="xs:int"/>
<xs:element name="iataFlightDesignator" type="xs:string"/>
</xs:sequence>
</xs:complexType>
<xs:complexType name="Aircraft">
<xs:sequence>
<xs:element name="aircraftRegistration" type="xs:int"/>
<xs:element name="iataAircraftType" type="xs:string"/>
<xs:element name="icaoAircraftType" type="xs:string"/>
</xs:sequence>
</xs:complexType> />
代码是否正确?或者应该为每个complexType添加单独的elementType?
答案 0 :(得分:1)
您无法在XML中的任何元素的开始标记内添加元素,包括XSD中的xs:element
。
要为InboundFlight
构建由单独的航班和飞机信息组成的内容模型,使用单独的元素,而不仅仅是这两个部分的单独类型:
<?xml version="1.0" encoding="utf-8" ?>
<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema">
<xs:element name="InboundFlight" type="eInboundFlight"/>
<xs:complexType name="eInboundFlight">
<xs:sequence>
<xs:element name="Flight">
<xs:complexType>
<xs:sequence>
<xs:element name="aircraftIdentification" type="xs:int"/>
<xs:element name="iataFlightDesignator" type="xs:string"/>
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:element name="Aircraft">
<xs:complexType>
<xs:sequence>
<xs:element name="aircraftRegistration" type="xs:int"/>
<xs:element name="iataAircraftType" type="xs:string"/>
<xs:element name="icaoAircraftType" type="xs:string"/>
</xs:sequence>
</xs:complexType>
</xs:element>
</xs:sequence>
</xs:complexType>
</xs:schema>