Ich suche nach der besten Lösung meines XML
Schemas (XSD
).Wie kann abgeleitete Antwort (XSD) realisiert werden?
Ich habe ein response
:
<xs:element name="exampleCatalogResponse">
<xs:complexType>
<xs:sequence>
<xs:element name="meta" type="tns:metaType" />
<xs:element name="data" type="tns:defaultDataType" />
</xs:sequence>
</xs:complexType>
</xs:element>
... die defaultDatatype
:
<xs:complexType name="defaultDataType">
<xs:sequence>
<xs:element name="catalog">
<xs:complexType>
<xs:sequence maxOccurs="unbounded">
<xs:element name="catalogItem" type="tns:catalogItem" />
</xs:sequence>
</xs:complexType>
<xs:unique name="itemIdConstraint">
<xs:selector xpath="tns:catalogItem" />
<xs:field xpath="tns:id" />
</xs:unique>
</xs:element>
</xs:sequence>
</xs:complexType>
... und die catalogItem
:
<xs:complexType name="catalogItem">
<xs:sequence>
<xs:element name="id" type="xs:nonNegativeInteger" />
</xs:sequence>
</xs:complexType>
... aber jetzt gibt es ein spezieller Artikel, der spezialisiert catalogItem
:
<xs:complexType name="specialItem">
<xs:complexContent>
<xs:extension base="tns:catalogItem">
<xs:sequence>
<xs:element name="code" type="xs:string" />
</xs:sequence>
</xs:extension>
</xs:complexContent>
</xs:complexType>
Ich brauche ein Fach Response
für meine specialItem
für die Beantwortung der Anfrage, die diese specialItem
erwartet.
Wie kann ich dies realisieren, ohne einen weiteren defaultDataType
zu schreiben, wo nur der Typ catalogItem
zu tns:specialItem
wechselt?
Ein Einrücken um acht ist nicht unbedingt erforderlich. –
Sie haben definitiv Recht, ich habe das behoben – codevour