2011-05-26 66 views
1

我在我的XSD以下部分:如何將XSD元素從字符串修改爲xml?

<xs:element name="Parameter"> 
    <xs:complexType mixed="true"> 
    <xs:attribute name="Name" use="required" type="xs:string"/> 
    </xs:complexType> 
</xs:element> 

,這意味着一個參數可以是任何string該值。我能以某種方式指定參數的值可以是任何有效的xml,比如<aaa></aaa>?類似type="xs:xml"

回答

1

你將不得不使用

<xs:element name="Parameter" type="myType> 

其中

<complexType name="myType> 
<choice> 
<element "myXml" type="xml"> 
<element "myStr" type="xs:sting"> 
</choice> 
</complexType> 

,你必須定義xml就像你想成爲你的價值的XML模式。

2

使用<xs:any>允許您的內容模型中的任何XML元素。

<xs:element name="Parameter"> 
    <xs:complexType> 
    <xs:sequence> 
     <xs:any minOccurs="0" maxOccurs="unbounded"/> 
    </xs:sequence> 
    </xs:complexType> 
</xs:element> 

您可以限制<xs:any>允許特定的命名空間與namespace屬性的元素,並與processContents屬性控制自己的驗證。要允許任何屬性,使用<xs:anyAttribute>

更多信息的XML Schema推薦:3.10.2 XML Representation of Wildcard Schema Components

+0

參數仍然可以有值「dfdf」我想只有有效的xml值 – Dominating 2011-06-01 09:02:17

+0

@Dominating使用我的答案中的代碼,它不能只有文本的內容。你確定你的代碼符合我的例子嗎?您的''元素中是否仍然有'mixed =「true」屬性?因爲如果你有它,那麼也只允許文本內容。 – jasso 2011-06-01 12:45:53