数据类型方面

简单类型(内置类型和派生的类型)具有方面。 方面是单个定义方面,有助于为简单类型确定值集。 例如,lengthminInclusivemaxInclusive 是内置数据类型的公共方面。 一个简单类型的所有方面为该简单类型定义合法值的集合。

方面是作为元素定义的。 每一 facet 元素都具有 fixed 属性,该属性是一个布尔值。 在定义简单类型时,可以防止该类型的派生修改指定方面的值。 若要防止对方面的修改,请将 fixed 属性添加到该方面并将其值设置为 true

除了 enumeration 方面和 pattern 方面之外,方面在类型定义中只能出现一次。 Enumerationpattern 方面可以具有多个项并且会组合在一起。

示例

以下示例说明一个简单类型,其 fixed 属性设置为 true,以防止长度值不是 7

<xs:simpleType name="Postcode">
 <xs:restriction base="xs:string">
  <xs:length value="7" fixed="true"/>
 </xs:restriction>
</xs:simpleType>

约束方面的列表

下面列出了约束方面(可用于约束简单类型的值的方面)、其说明以及应用这些约束的内置数据类型。

  • pattern
    数据类型的值必须匹配的特定模式。 这将数据类型限制为与指定模式匹配的文本。 模式值必须是正则表达式。 有关更多信息,请参见“W3C XML Schema Part 2: Datatypes Recommendation”(W3C XML 架构第 2 部分:数据类型建议),网址为 http://www.w3.org/TR/2001/REC-xmlschema-2-20010502/\#element-pattern。
  • whiteSpace
    必须是 preservereplacecollapse 之一的值。 对于大多数数字数据类型,不能更改 whiteSpace 方面。 有关更多信息,请参见“W3C XML Schema Part 2: Datatypes Recommendation”(W3C XML 架构第 2 部分:数据类型建议),网址为 http://www.w3.org/TR/2001/REC-xmlschema-2-20010502/\#element-whiteSpace。

    preserve

    不执行任何标准化;根据“W3C XML 1.0 建议”的要求,不为元素内容更改该值。

    replace

    出现的所有 #x9(制表符)、#xA(换行符)和 #xD(回车符)均由 #x20(空格)替代。

    collapse

    在执行了由 replace 暗指的处理后,多个 #x20 的连续序列被压缩成单个 #x20,并且移除前导和尾随的 #x20。

另请参见

参考

XML 数据类型引用
基元 XML 数据类型
派生的 XML 数据类型