我收到一个带有未知变量名称元素的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定义吗?