我可以在任何地方找到内置数据类型的 xsd 定义,还是它们不是使用 xsd 定义的?
例如,我猜想 xs:boolean 数据类型将被定义为:
<xs:simpleType name="boolean">
<xs:restriction>
<xs:pattern value="true|false|0|1"/>
</xs:restriction>
</xs:simpleType>
(由于根据规范http://www.w3.org/TR/xmlschema-2/#boolean,布尔值可以具有值“真”、“假”、“0”或“1”之一。)
但我找不到内置数据类型的架构规范。
同样,在http://www.w3.org/TR/xmlschema-2上有“数据类型定义的模式”,但对我来说,这个 scema 并没有真正定义太多。同样,布尔类型在该模式中定义如下:
<xs:simpleType name="boolean" id="boolean">
<xs:annotation>
<xs:appinfo>
<hfp:hasFacet name="pattern"/>
<hfp:hasFacet name="whiteSpace"/>
<hfp:hasProperty name="ordered" value="false"/>
<hfp:hasProperty name="bounded" value="false"/>
<hfp:hasProperty name="cardinality" value="finite"/>
<hfp:hasProperty name="numeric" value="false"/>
</xs:appinfo>
<xs:documentation source="http://www.w3.org/TR/xmlschema-2/#boolean"/>
</xs:annotation>
<xs:restriction base="xs:anySimpleType">
<xs:whiteSpace fixed="true" value="collapse" id="boolean.whiteSpace"/>
</xs:restriction>
</xs:simpleType>
但这仅给出了空白限制。这同样适用于所有其他数据类型,所以我不明白这个模式如何正确定义数据类型。
再说一次,如果有一个定义内置数据类型的模式,我在哪里可以找到它?...或者我在这里误解了什么?
希望我的问题足够清楚:)
提前感谢您的帮助!