是否可以限制当前日期的XSD日期和时间数据类型? 例如,如果要将日期的maxInclusive设置为当前日期:
<xs:element name="DateOfBirths" type="birthsDate"/>
<xs:simpleType name="birthsDate">
<xs:restriction base="xs:date">
<xs:minInclusive value="1920-01-01"/>
<xs:maxInclusive value="current-date()" fixed="true"/>
</xs:restriction>
</xs:simpleType>
如果默认情况下无法执行此操作,是否存在变通方法?任何帮助将不胜感激。
答案 0 :(得分:1)
XSD不支持在设置构面值时调用XPath函数,因此(正如您可能已经知道的那样)问题中的代码将无法正常工作。
最明显的解决方法是
将birthDate类型的声明移动到自己的模式文档中;定期生成该架构文档的新版本,可以手动或使用cron作业或类似的东西。今天生成的架构文档将具有
<xs:maxInclusive value="2013-06-20"/>
明天生成的架构文档将有
<xs:maxInclusive value="2013-06-21"/>