2011-10-03 60 views
0

我想看看是否有一種方法可以根據枚舉值加載/卸載額外的元素。如何將4個類似的XSD合併爲一個?

,我有以下的元素類型:

<xs:element name="requestType" xmlns:xs="http://www.w3.org/2001/XMLSchema"> 
    <xs:simpleType> 
     <xs:restriction base="xs:string"> 
      <xs:enumeration value="FUND" /> 
      <xs:enumeration value="GENLDGR" /> 
      <xs:enumeration value="SECDIST" /> 
      <xs:enumeration value="TRAN" /> 
     </xs:restriction> 
    </xs:simpleType> 
</xs:element> 

這是從4個XSD文件,我試圖合併過來。它們都具有我可以通過繼承來引用的相同元素,這沒關係。然而,有些元素表示,例如,基金可能需要,但TRAN不需要,但它們可能是3或4個頂部。

有沒有一種方法可以基於「requestType」的XML值,我可以使用它來利用其他可以約束的元素並忽略那些我不需要的元素?

回答

0

我想你可能正在尋找XSD 1.1中稱爲「條件類型賦值」的特性,它允許元素的內容模型依賴於它的一個屬性的值。這是XSD 1.0非常令人惋惜的地方。

XSD 1.1功能目前在Saxon和Xerces中實現(僅在我知道的情況下)。

+0

好吧所以1.1不在圖片中。我如何在1.0上做到這一點?或者也許是讓我接近它的東西。 – Carlos

+0

只是意識到你是邁克爾凱。感謝您看我的問題!我很欣賞這些反饋。 :-) – Carlos