2011-01-28 46 views
1

我們使用XML來定義一個模型,我們稍後將使用它來生成代碼。該文件看起來是這樣的:XSD Key/KeyRef以及如何引用

<def xmlns="http://tempuri.org/schema.xsd" xmlns:xsi="http://tempuri.org/schema.xsd"> 
    <ns xmlns="" name="asd"> 
    <alias name="NicknameType" ref="String" /> 
    <alias name="SomethingType" ref="o3" /> 

    <obj1 name="o1"> 
     <element name="Nick" ref="NicknameType" /> 
    </obj1 > 

    <obj2 name="o2"> 
     <action name="a1"> 
      <attribute name="TheObject1" ref="o1" /> 
     </action> 
    </obj2 > 

    <obj3 name="o3"> 
     <element name="SomeText" ref="int32" /> 
    </obj3 > 
    </ns> 
</def> 

我真的想執行是任何標籤的參考屬性或者一個別名標籤,一個OBJ1標籤或obj2的標籤或名稱標籤相匹配一些預定義的值,如字符串int32。 我已經定義了文件在XSD中必須具有的一般結構。我想用XSD實現甚至可能實現的目標?

謝謝

回答

2

它可能在XSD 1.1中使用聲明,但不能在XSD 1.0中使用。

Saxon和Xerces中最新版本的模式處理器都支持斷言。

+0

+1表示斷言 – 2011-01-29 00:50:07