[Home] [By Thread] [By Date] [Recent Entries]

  • From: Roger L Costello <costello@m...>
  • To: "xml-dev@l..." <xml-dev@l...>
  • Date: Wed, 8 Dec 2021 18:34:39 +0000

Hi Folks,

This XML Schema simpleType uses the enumeration facet to specify that the allowable values are: A, B, or the question mark.

    <xs:simpleType name="Test1">
        <xs:restriction base="xs:string">
            <xs:enumeration value="A" />
            <xs:enumeration value="B" />
            <xs:enumeration value="?" />
        </xs:restriction>
    </xs:simpleType>

That is a legal simpleType.

This XML Schema simpleType uses the pattern facet to specify the same set of allowable values:

    <xs:simpleType name="Test2">
        <xs:restriction base="xs:string">
            <xs:pattern value="A|B|?" />
        </xs:restriction>
    </xs:simpleType>

That is not a legal simpleType. 

The value of the pattern facet is a regular expression (regex) and the question mark is a reserved symbol (it is a meta-symbol). To indicate that we want the question mark (not the meta-symbol) we must escape it:

    <xs:simpleType name="Test2">
        <xs:restriction base="xs:string">
            <xs:pattern value="A|B|\?" />
        </xs:restriction>
    </xs:simpleType>

Now it is a legal simpleType.

/Roger


[Date Prev] | [Thread Prev] | [Thread Next] | [Date Next] -- [Date Index] | [Thread Index]


Site Map | Privacy Policy | Terms of Use | Trademarks
Free Stylus Studio XML Training:
W3C Member