serve - xml schema web service



Come definire XSD per consentire qualsiasi elemento (1)

Sono stato in grado di capirlo dopo aver esaminato le specifiche pubblicandole qui in modo che qualcun altro potesse averne bisogno :). Devi aggiungere processContents="skip" modo che il contenuto non venga elaborato.

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

Voglio definire un xsd per un elemento parametro che mi permetterà di definire il parametro nei modi seguenti

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

o

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

Nel secondo approccio il contenuto xml all'interno dell'elemento parametro non è noto in anticipo, quindi può essere qualsiasi cosa.

Quello che segue è il xsd che ho creato ma non sembra funzionare.

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

Qualsiasi aiuto con questo sarà molto apprezzato. Grazie in anticipo





xsd