是否可以在 XPath 中制定一个规则来识别像这样的 xml 元素:
<A>something...<A>
?
我正在使用 Schematron,我需要指定某些元素不能像示例中的那样具有子元素,这就是我需要识别它们的原因。
提前致谢
是否可以在 XPath 中制定一个规则来识别像这样的 xml 元素:
<A>something...<A>
?
我正在使用 Schematron,我需要指定某些元素不能像示例中的那样具有子元素,这就是我需要识别它们的原因。
提前致谢
对于以下输入:
<?xml version="1.0" encoding="utf-8"?>
<root>
<a>Only Text</a>
<a><b>Child node</b></a>
<a><b>Child node</b>Mixed content</a>
</root>
这些 Schematron 规则应该可以满足您的需求:
<?xml version="1.0" encoding="UTF-8"?>
<iso:schema xmlns:iso="http://purl.oclc.org/dsdl/schematron">
<iso:pattern id="children tests">
<iso:rule context="a">
<iso:assert test="child::node()">
Element has nodes
</iso:assert>
<iso:report test="child::*">
Element has child elements
</iso:report>
<iso:assert test="empty(child::text())">
Element has text
</iso:assert>
<iso:report test="child::text() and empty(child::*)">
Element has only text
</iso:report>
</iso:rule>
</iso:pattern>
</iso:schema>