Ich erhalte eine XML-Nachricht mit unbekannten Variablennamen ... das heißt, sie sind nicht vordefiniert ...Wie kann ich eine Xsd-Datei definieren, die unbekannte (Wildcard-) Elemente erlaubt?
Ich weiß nur, dass es 0 oder mehr dieser Elemente geben kann, allong mit einigen anderen, die sind obligatorisch ...
zum Beispiel
<root>
<service>my service</service>
<resource>my resource</resource>
<action>update</action>
<parameters>
<field1>value1</field1>
<field2>value2</field2>
<field3>value3</field3>
</parameters>
</root>
das heißt, ich weiß nicht, was als „Parameter“ übergeben wird, ich weiß nur, es 0 oder mehr Elemente mit einem Wert sein, nicht tiefer Tag-Verschachtelung erlaubt ....
ich über so etwas wie
<?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>
natürlich zu denken, ist der schwierige Teil
<xs:element name="*" maxOccurs="unbounded">
ist es möglich, sucha etwas zu tun?
Wie kann ich eine Xsd-Datei definieren, die eine solche Nachricht validiert?
-
überprüfte ich die w3c Bezug auf
http://www.w3.org/TR/2004/REC-xmlschema-2-20041028/datatypes.html#NCName
und es sagt:
„Der lexikalische Bereich von NCName ist die Menge aller Strings, die · Spiel · Die NCName-Produktion von [Namespaces in XML]. "
Was bedeutet es?
außerdem ... könnten Sie mir einen einfachen Weg empfehlen, die Einhaltung einer xsd-Definition zu testen?