如何使用Schematron和XPath 1.0验证XML中相同数据类型(xs:date)的所有元素和属性

时间:2012-03-16 15:07:17

标签: xml xpath xsd schematron

如何在一次测试中使用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>

0 个答案:

没有答案