Je reçois un message XML avec des éléments de nom variable inconnue ... qui est, ils ne sont pas prédéfinies ...comment puis-je définir un fichier xsd qui accepte des éléments inconnus (jokers)?
Je sais seulement il peut y avoir 0 ou plusieurs de ces éléments, allong avec d'autres qui sont obligatoire ...
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 sera passé comme « paramètres », je sais seulement qu'il y aura 0 éléments ou plus d'une valeur, pas plus profonde l'imbrication des étiquettes est autorisée ....
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, le plus dur 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é la référence w3c à
http://www.w3.org/TR/2004/REC-xmlschema-2-20041028/datatypes.html#NCName
et il dit:
« L'espace lexical · · de NCName est l'ensemble de toutes les chaînes qui · Confrontations · La production NCName de [Namespaces in XML]. "
alors qu'est-ce que cela signifie? En outre ... pourriez-vous me recommander un moyen facile de tester la conformité à une définition de xsd?