xsd在1900年到今年之间限制gYear?

时间:2016-11-10 13:31:14

标签: xml date xsd restriction

我是XML新手,想从一个简单的movieDB开始。到目前为止我得到了他的:

<xs:element name="release">
       <xs:simpleType>
          <xs:restriction base="xs:integer">
             <xs:minInclusive value="1900"/>
             <xs:maxInclusive value="2016"/>
          </xs:restriction>
       </xs:simpleType>
</xs:element>

如何使用gYear的simpleType?

1 个答案:

答案 0 :(得分:1)

XSD 1.0

不可能。必须测试带外的XSD。

XSD 1.1

可能使用xs:assertion和XPath 2.0 current-date()函数:

<?xml version="1.0" encoding="UTF-8"?>
<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema"
           xmlns:vc="http://www.w3.org/2007/XMLSchema-versioning"
           vc:minVersion="1.1">
  <xs:element name="release">
    <xs:simpleType>
      <xs:restriction base="xs:integer">
        <xs:minInclusive value="1900"/>
        <xs:assertion test="$value le year-from-date(current-date())"/>
      </xs:restriction>
    </xs:simpleType>
  </xs:element>
</xs:schema>