我收到一個帶有未知變量名稱元素的xml消息...也就是說,它們沒有被預定義...如何定義允許未知(通配符)元素的xsd文件?
我只知道可以有0個或更多的那些元素,與其他一些元素強制性...
例如
<root>
<service>my service</service>
<resource>my resource</resource>
<action>update</action>
<parameters>
<field1>value1</field1>
<field2>value2</field2>
<field3>value3</field3>
</parameters>
</root>
就是,我不知道什麼會「參數」傳遞,我只知道會出現0或多種元素的值,不得更深標籤嵌套允許....
我在想是這樣
<?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>
當然
,難的是
<xs:element name="*" maxOccurs="unbounded">
是有可能做蘇哈的事?
如何定義驗證此類消息的xsd文件?
-
我在
http://www.w3.org/TR/2004/REC-xmlschema-2-20041028/datatypes.html#NCName
檢查W3C參考,並說:
「的詞彙··NCName來的空間是一組中的所有字符串,其·賽·[名稱空間的XML]的NCName生成。「
那麼這是什麼意思?
此外...你能推薦一些簡單的方法來測試遵從xsd定義嗎?