これは私のxsdの外観です。空気と車はセグメントを延長する。XML自動生成の問題
<Segments>
<Segment xsi:type="Air">
<Departure></Departure>
<Arrival></Arrival>
</Segment>
<Segment xsi:type="Car">
<PickUp></PickUp>
<DropOff></DropOff>
</Segment>
</Segments>
をしかし、私は、このようなXMLSpyのまたは.NETライブラリ(または何でも)などのツールを使用して、私のXSDからXMLを自動生成、I:
<xs:element name="PNR" type="PNR" />
<xs:element minOccurs="0" maxOccurs="1" name="Segments" >
<xs:complexType>
<xs:sequence>
<xs:element minOccurs="0" maxOccurs="unbounded" name="Segment" type="Segment"/>
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:complexType name="Air">
<xs:complexContent>
<xs:extension base="Segment">
<xs:sequence>
<xs:element minOccurs="0" maxOccurs="1" name="Departure" type="AirportInfo" />
<xs:element minOccurs="0" maxOccurs="1" name="Arrival" type="AirportInfo" />
</xs:sequence>
</xs:extension>
</xs:complexContent>
</xs:complexType>
<xs:complexType name="Car">
<xs:complexContent>
<xs:extension base="Segment">
<xs:sequence>
<xs:element name="PickUp" type="AddressInfo" minOccurs="0" maxOccurs="1"/>
<xs:element name="DropOff" type="AddressInfo" minOccurs="0" maxOccurs="1"/>
</xs:sequence>
</xs:extension>
</xs:complexContent>
</xs:complexType>
は、私は、このような出力をしたいですこれを得る(空気は複数回w/o車で生成される)。
<Segments>
<Segment xsi:type="Air">
<Departure></Departure>
<Arrival></Arrival>
</Segment>
<Segment xsi:type="Air">
<Departure></Departure>
<Arrival></Arrival>
</Segment>
</Segments>
私のXSDに問題がありますか?
XMLを生成する理由は何ですか?それはあなたのスキーマに基づいて有効なXMLを生成しました。あなたのスキーマは2つの "Air"要素を防ぎません。 –
2つの "Air"を生成するかどうかは気にしません... "Car"も生成する必要があります。どうすればいいですか? – Laguna
なぜ自動生成を行っていますか?目的は何ですか?自動生成は、サンプル文書を生成するためのものです。 –