Как проверить все элементы и атрибуты одного и того же типа данных (например, xs: dateTime) в XML, используя Schematron и XPath 1.0 в одном тесте?
Я знаю, что вы можете создать несколько тестов для этого, но как я могу просто протестировать все даты (xs: dateTime) и затем сообщить пользователю, какой элемент или атрибут имел проблему?Ниже приведен пример, который проверяет все элементы со специально названным атрибутом «signatureWhen».Однако имя атрибута не всегда совпадает, и иногда xs: dateTime является элементом ...
Тест Schematron в файле XSD:
<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>