2013-06-04 52 views
7

我要定義一個參數元素,這將使我通過以下方式定義參數如何定義XSD允許任何元素

<parameter name="save.type" value="attribute" /> 

<parameter name="payload"> 
     <p:AdderProcessRequest xmlns:p="http://wso2.org/bps/sample"> 
      <!--Exactly 1 occurrence --> 
      <x xmlns="http://wso2.org/bps/sample">{@xvalue}</x> 
      <!--Exactly 1 occurrence --> 
      <y xmlns="http://wso2.org/bps/sample">{@yvalue}</y> 
     </p:AdderProcessRequest> 
</parameter> 

在一個xsd第二種方法參數元素內的xml內容事先不知道,所以它可以是任何東西。

以下是我創建的xsd,但它似乎不起作用。

<xs:element name="parameter" maxOccurs="unbounded" minOccurs="0"> 
    <xs:complexType> 
     <xs:sequence> 
      <xs:any minOccurs="0"/> 
     </xs:sequence> 
     <xs:attribute type="xs:string" name="name" use="optional"/> 
     <xs:attribute type="xs:string" name="value" use="optional"/> 
    </xs:complexType> 
</xs:element> 

任何幫助,將不勝感激。 在此先感謝

回答

24

我能夠通過在這裏發佈它的規格,所以別人可能需要它:)後能夠找出它。您必須添加processContents="skip",以便不會處理內容。

<xs:element name="parameter" maxOccurs="unbounded" minOccurs="0"> 
<xs:complexType> 
    <xs:sequence> 
     <xs:any processContents="skip" minOccurs="0"/> 
    </xs:sequence> 
    <xs:attribute type="xs:string" name="name" use="optional"/> 
    <xs:attribute type="xs:string" name="value" use="optional"/> 
</xs:complexType> 

相關問題