我尝试为以下xml制作架构。
<root>
<allow_any_name id="string">
<required_tag_1>string</required_tag_1>
<required_tag_2>string</required_tag_2>
<required_tag_3>string</required_tag_3>
</allow_any_name>
<name1 id="string">
<required_tag_1>string</required_tag_1>
<required_tag_2>string</required_tag_2>
<required_tag_3>string</required_tag_3>
</name1>
<name2 id="string">
<required_tag_1>string</required_tag_1>
<required_tag_2>string</required_tag_2>
<required_tag_3>string</required_tag_3>
</name2>
</root>
主要问题是我找不到指定子元素的方法,也指定了标记名称。在上面的xml中,allow_any_name
标记可以是任何名称。
我尝试<xs:any processContents="lax"></xs:any>
允许任何标记名称,但不允许我指定子项。
我也尝试使用强制子元素的<xs:any processContents="strict" namespace="##local"></xs:any>
,但意味着我必须知道所有使用的标签名称(我不知道)
由于
答案 0 :(得分:1)
XSD 1.0无法实现。
在XSD 1.1中,可以使用断言来完成。
答案 1 :(得分:0)
我认为这不适用于XML Schema。 我认为你必须从
改变你的结构<allow_any_name id="string">
<required_tag_1>string</required_tag_1>
<required_tag_2>string</required_tag_2>
<required_tag_3>string</required_tag_3>
</allow_any_name>
这样的事情:
<fixed_tag_name id="string" name="allow_any_name">
<required_tag_1>string</required_tag_1>
<required_tag_2>string</required_tag_2>
<required_tag_3>string</required_tag_3>
</fixed_tag_name>
HTH