comment puis-je définir un fichier xsd qui permet à des inconnus (générique) éléments?

Je suis de la réception d'un message xml avec des inconnus nom de la variable d'éléments... qui est, ils ne sont pas prédéfinies...

Je sais seulement il peut y avoir 0 ou plusieurs de ces éléments, au jeu complet avec quelques autres qui sont obligatoires...

par exemple

<root>
    <service>my service</service>
    <resource>my resource</resource>
    <action>update</action>
    <parameters>
      <field1>value1</field1>
      <field2>value2</field2>
      <field3>value3</field3>
    </parameters>
</root>

qui est, je ne sais pas ce qui va être passé sous "paramètres", je sais seulement il sera de 0 ou plusieurs éléments avec une valeur, à une profondeur d'imbrication de balise permis....

Je pensais à quelque chose comme

<?xml version="1.0" encoding="ISO-8859-1" ?>
<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema">

<xs:element name="root">
  <xs:complexType>
    <xs:sequence>
      <xs:element name="service" type="xs:string" minOccurs="1" maxOccurs="1" nillable="false"/>
      <xs:element name="resource" type="xs:string" minOccurs="1" maxOccurs="1" nillable="false"/>
      <xs:element name="action" type="xs:string" minOccurs="1" maxOccurs="1" nillable="false"/>
      <xs:element name="parameters">
        <xs:complexType>
          <xs:element name="*" maxOccurs="unbounded">
        </xs:complexType>
      </xs:element>
    </xs:sequence>
  </xs:complexType>
</xs:element>

</xs:schema>

bien sûr, la partie la plus difficile est

<xs:element name="*" maxOccurs="unbounded">

est-il possible de faire sucha une chose?

comment puis-je définir un fichier xsd qui valide un tel message?

--

J'ai vérifié le w3c référence à

http://www.w3.org/TR/2004/REC-xmlschema-2-20041028/datatypes.html#NCName

et il dit:

"L' ·lexicales de l'espace· de NCName est l'ensemble de toutes les chaînes qui ·du match· de la NCName de production de [les espaces de nommage dans XML]."

donc, ça veut dire quoi?

en plus... pourriez-vous me recommander quelque moyen facile de tester la conformité avec une définition xsd?

OriginalL'auteur opensas | 2009-06-03