[英]XML Schema - child element valid or not dependent on the parent
我正在尝试为以下条件编写XML模式:
我有类似HTML的XML。 如果“ b”标记是“ p”,“ li”,“ cell”等的子代,则可以具有子元素“脚注”。 它还可以嵌套其他子“ b”标签。 但是,如果它是带有“ ht”标签的子项,则在其子树中禁止使用“脚注”。
例如:
<p><b>text<footnote>footnote text</footnote><b>double bold</b>more text</p>
<p><b>text<b>double <footnote>footnote text</footnote> bold</b></p>
有效且
<ht><b>text<footnote>footnote text</footnote><b>double bold</b></ht>
<ht><b>text<b>double <footnote>footnote text</footnote> bold</b> more text</ht>
不是。 我可以覆盖“ ht”中的“ b”标签,但是它可以嵌套“ b”,因此我必须设置最大深度。 我可以禁止XPath之类在“ ht”子树中使用“脚注”吗?
不适用于XSD 1.0。 您必须使用其他架构语言,或者使用Schematron扩展XSD 1.0。
XSD 1.1还可以为您提供帮助,因为它现在支持基于XPath的断言。 不幸的是,目前XSD 1.1支持仅限于Xerces(Beta版,免费)和Saxon EE(完整版,商业版),并且肯定还没有广泛使用。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.