Espressioni regolari dello schema XML

È possibile utilizzare le espressioni regolari dello schema XML con il facet pattern per fornire vincoli o restrizioni per una stringa di caratteri che deve essere conforme al criterio definito.

Il facet pattern è un vincolo sullo spazio dei valori di un tipo di dati, ottenuto limitando lo spazio lessicale alle rappresentazioni formali corrispondenti a un criterio specificato. Il valore di pattern deve essere un'espressione regolare.

Pattern consente di limitare uno spazio di valori ai valori denotati dalle rappresentazioni formali corrispondenti a un'espressione regolare specificata.

Esempio

Nell'esempio che segue viene definito un tipo di dati derivato dall'utente che crea una rappresentazione di codici postali degli Stati Uniti, limitati alle stringhe corrispondenti a un'espressione regolare specifica.

File di input: T.xml

<zips xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="t.xsd">
  <zip>12345</zip>
  <zip>12345-1234</zip>
</zips>

Schema 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>

Nelle espressioni regolari è possibile utilizzare due tipi di caratteri: metacaratteri e caratteri normali. I metacaratteri sono: ., \, ?, *, +, {, }, (, ), [ o ]. Tali caratteri hanno un significato particolare nelle espressioni regolari, ma è possibile eseguirne l'escape da atomi che denotano insiemi di stringhe contenenti solo i caratteri stessi. Un metacarattere di escape si comporta come un carattere normale.

I caratteri normali sono costituiti da qualsiasi carattere XML che non sia un metacarattere. Nelle espressioni regolari, un carattere normale è un atomo che denota un insieme singleton con una stringa contenente il carattere stesso.

Le espressioni regolari dello schema XML vengono descritte negli argomenti che seguono.

Per comprendere le relazioni esistenti nelle espressioni regolari dello schema XML, vedere il Diagramma di riferimento delle espressioni regolari dello schema XML.

Vedere anche

Informazioni di riferimento sullo schema XML (XSD) | Diagramma di riferimento delle espressioni regolari dello schema XML | Atom | Facet dei tipi di dati