XML 架构正则表达式
XML 架构正则表达式与 pattern 方面一起使用,提供对符合定义的模式的字符串的约束或限制。
pattern 方面是对数据类型的值空间的约束,这是通过将词法空间约束为匹配特定模式的文本实现的。pattern 的值必须是正则表达式。
Pattern 用于将值空间约束为由匹配特定正则表达式的文本表示的值。
示例
以下示例定义一个用户导出的数据类型,该数据类型创建美国邮政编码的表示形式,该表示形式被限制为与特定正则表达式匹配的字符串。
输入文件:T.xml
<zips xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="t.xsd">
<zip>12345</zip>
<zip>12345-1234</zip>
</zips>
XML 架构文件:T.xsd
<?xml version="1.0"?>
<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema" >
<xs:element name="zips">
<xs:complexType>
<xs:sequence maxOccurs="unbounded">
<xs:element name="zip" type="better-us-zipcode"></xs:element>
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:simpleType name="better-us-zipcode">
<xs:restriction base="xs:string">
<xs:pattern value="[0-9]{5}(-[0-9]{4})?"/>
</xs:restriction>
</xs:simpleType>
</xs:schema>
正则表达式中使用以下两种类型的字符:元字符和常规字符。元字符为下列字符之一:.、\、?、*、+、{、}、(、)、[ 或 ]。这些字符在正则表达式中具有特殊含义,但这些字符可从表示只包含其自身的字符串集的原子转义。转义的元字符具有常规字符的行为。
常规字符为不是元字符的任何 XML 字符。在正则表达式中,一个常规字符是一个原子,它表示只包含其自身的单字符串集。
以下主题描述 XML 架构正则表达式。
若要理解 XML 架构正则表达式中的关系,请参见 XML 架构正则表达式参考图表。