如何在一次测试中使用 Schematron 和 XPath 1.0 验证 XML 中相同数据类型的所有元素和属性(例如:xs:dateTime)?
我知道您可以为此创建多个测试,但我如何才能测试所有日期(xs:dateTime),然后向用户报告哪个元素或属性有问题?下面是一个示例,它测试了具有特定命名属性“signedWhen”的所有元素。但是属性名称并不总是相同的,有时 xs:dateTime 是一个元素......
XSD 文件中的 Schematron 测试:
<xs:appinfo>
<sch:pattern name="TimeZone constraints">
<sch:rule context="*[@signedWhen]">
<sch:assert test<sch:assert test=""not ( (contains(substring(@signedWhen, 11, 2), '-')) or (contains(@signedWhen, '+')) or (contains(@signedWhen, 'Z')) )">>
<name/> must not include TimeZone information
</sch:assert>
</sch:rule>
</sch:pattern>
</xs:appinfo>