我正在尋找我的XML
模式(XSD
)的最佳解決方案。如何實現派生響應(XSD)?
我有一個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>
...的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>
...和catalogItem
:
<xs:complexType name="catalogItem">
<xs:sequence>
<xs:element name="id" type="xs:nonNegativeInteger" />
</xs:sequence>
</xs:complexType>
...但現在有一個專門的項目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>
現在我需要爲我的specialItem
專門Response
回答其預計這一specialItem
請求。
如何才能認識到這一點,而無需另外編寫defaultDataType
,其中只有catalogItem
的類型更改爲tns:specialItem
?
這不是嚴格有必要縮進八。 – 2009-08-04 12:47:39