假设我有一个XML文档定义:
<people>
<person>
<city>London</city>
</person>
<person>
<city>Paris</city>
</person>
</people>我想要一个能检查每个人是否住在伦敦的示意图。
我试过:
<sch:rule context="people">
<sch:assert test="person/city = 'London'">Everybody must live in London!</sch:assert>
</sch:rule>然而,只要有一个人住在伦敦,这种情况就会重现。有什么方法可以告诉schematron对匹配XPathcondition person/city的每个元素应用测试吗?
发布于 2015-10-25 15:43:48
“没有人可以住在伦敦以外”怎么样?
<sch:rule context="people">
<sch:assert test="not(person[city != 'London'])">Everybody must live in London!</sch:assert>
</sch:rule>发布于 2015-10-25 15:49:53
这有许多不同的解决方案。示例解决方案1,如果有人不在伦敦,请报告:
<sch:rule context="people">
<sch:report test="person/city != 'London'">Everybody must live in London!</sch:report>
</sch:rule>示例解决方案2断言每个人都必须居住在伦敦,请注意,这会报告每个不居住在伦敦的人都是一个错误,而不仅仅是报告节点people。
<sch:rule context="people/person">
<sch:assert test="city = 'London'">This person should be living in london</sch:assert>
</sch:rule>https://stackoverflow.com/questions/33331548
复制相似问题