2012-03-14 60 views
0

我正在創建一個包含在具有許多其他xsd的較大架構中的XSD架構。 那些其他XSD以編程方式改變,因此我需要做到以下幾點:在運行時在XSD中擴展複雜類型

我定義的複雜類型延伸其他類型如下:

<xs:element name="Device" maxOccurs="unbounded"> 
    <xs:complexType> 
     <xs:complexContent> 
     <xs:extension base="myType"> 
      <xs:attribute name="label" use="required"/> 
     </xs:extension> 
     </xs:complexContent> 
    </xs:complexType> 
</xs:element> 

,迄今...好... 問題是,現在我想要做同樣的事情,但不擴展myType,但擴展名稱包含在代碼中的其他屬性中。 有沒有辦法做這樣的事情?

我想表達這種在XPath與像

<xs:extension base="./../../[@myType]"> 

somethink但我承認......我完全猜... 有誰知道正在使用什麼類似的東西是可行的,萬一? 我不確定xsd在運行時是否「足夠聰明」處理此類問題...

回答

0

使用XSD或其他我經常使用的建模語言來實現此類功能是不可能的,例如UML,ER或AOM。

+0

這是我期望的...但我給了它一個絕望的嘗試.. :( – Stefano 2012-03-14 12:41:52