← Prev in month ← Prev in thread

Using the question mark symbol in a simpleType - legal and illegal usage

From
Roger L Costello <>
To
"" <>
Date
2021-12-08T18:34:39Z
ID
<>
Thread
Using the question mark symbol in a simpleType - legal and illegal usage
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
← Prev in month ← Prev in thread