我是xsd验证的新手,我正在尝试验证一个选择标签是否有一组特定的元素,但也有一个任意命名的元素.类似于以下内容:
...
<xs:choice>
<xs:element name="test1" type="xs:string" />
<xs:element name="test2" type="xs:string" />
<xs:element name="-some regex or something to specify arbitrary name here" type="xs:string" />
</xs:choice>
...
Run Code Online (Sandbox Code Playgroud)
XML:
...
<test1>example text</test1>
<test2>example text again</test2>
<exampleNode>example text</exampleNode>
...
Run Code Online (Sandbox Code Playgroud)
这可能在xsd中吗?验证新的任意命名节点?
您可以使用xs:any通配符来允许任何元素名称或特定名称空间集合中的任何名称.您不能进一步限制名称(除非在XSD 1.1中使用断言).
使用具有内部结构的名称(例如地址行-1,地址行-2,地址行-3)在XML设计中总是不好的做法.在这种情况下,更好的设计是<address-line nr="1">等等.所以允许名称匹配一些正则表达式的想法表明设计不佳.通常,XML Schema的设计使得为设计不佳的词汇表编写模式变得困难或不可能.
| 归档时间: |
|
| 查看次数: |
1813 次 |
| 最近记录: |