2013-06-04 7 views
7

ich ein XSD für einen Parameter Element definieren will, die mich die Parameter in der folgenden WeiseWie XSD zu definieren, ein beliebiges Element zu ermöglichen

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

oder

<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> 

Im definieren können zweite Annäherung der XML-Inhalt innerhalb des Parameterelements ist nicht vorher bekannt, also kann es alles sein.

Folgendes ist die xsd ich erstellt, aber es scheint nicht zu funktionieren.

<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> 

Jede Hilfe mit diesem wird sehr geschätzt. Vielen Dank im Voraus

Antwort

24

Ich konnte es herausfinden, nachdem ich die Spezifikationen durchgesehen habe, um es hier zu veröffentlichen, damit jemand anderes es brauchen könnte :). Sie müssen processContents="skip" hinzufügen, damit der Inhalt nicht verarbeitet wird.

<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> 

Verwandte Themen