Re: [xml-dev] Enumerating a set of values using the pattern facet versus the enumeration facet ... which is better?

From
John Cowan <>
To
"Costello, Roger L." <>
Date
2017-11-08T18:27:35Z
ID
<>
Thread
Re: [xml-dev] Enumerating a set of values using the pattern facet versus the enumeration facet ... which is better?
I prefer the enumeration facet, since it does not care about special regex characters.

On Wed, Nov 8, 2017 at 1:18 PM, Costello, Roger L. <[email protected]> wrote:

Hi Folks,

 

Below are two XML Schema element declarations. Both enumerate a set of values for the <type> element. The first uses the pattern facet to enumerate the set of values. The second uses the enumeration facet. Is there a reason to prefer one over the other? Or, are they identical for all practical purposes?  /Roger

 

<xs:element name="type">
   
<xs:simpleType>
       
<xs:restriction base="xs:string">
           
<xs:pattern value="contact|acquaintance|friend|met|co\-worker|colleague|co\-resident|neighbor|child|parent|sibling|spouse|kin|muse|crush|date|sweetheart|me|agent|emergency" />
       
</xs:restriction>
   
</xs:simpleType>
</xs:element>

<xs:element name="type">
   
<xs:simpleType>
       
<xs:restriction base="xs:string">
           
<xs:enumeration value="contact" />
           
<xs:enumeration value="acquaintance" />
           
<xs:enumeration value="friend" />
           
<xs:enumeration value="met" />
           
<xs:enumeration value="co-worker" />
           
<xs:enumeration value="colleague" />
           
<xs:enumeration value="co-resident" />
           
<xs:enumeration value="neighbor" />
           
<xs:enumeration value="child" />
           
<xs:enumeration value="parent" />
           
<xs:enumeration value="sibling" />
           
<xs:enumeration value="spouse" />
           
<xs:enumeration value="kin" />
           
<xs:enumeration value="muse" />
           
<xs:enumeration value="crush" />
           
<xs:enumeration value="date" />
           
<xs:enumeration value="sweetheart" />
           
<xs:enumeration value="me" />
           
<xs:enumeration value="agent" />
           
<xs:enumeration value="emergency" />
       
</xs:restriction>
   
</xs:simpleType>
</xs:element>