Il seguente esempio è collegato all’articolo Linguaggio XML.

Viene qui presentato un documento XML contenente le statistiche di utilizzo da parte dei pendolari di una particolare linea di autobus. Il documento contiene, per ciascuna fermata della linea 92, il numero esatto di persone che sono scese e salite dall’autobus durante una corsa. Viene inoltre fornito un XML Schema collegato a tale documento.

<?xml version="1.0" encoding="UTF-8"?>

<corsa numero_percorso="92">

  <fermata codice="1">
    <clienti_saliti valore="10"/>
    <clienti_scesi valore="0"/>
  </fermata>
 
  <fermata codice="2">
    <clienti_saliti valore="5"/>
    <clienti_scesi valore="7"/>
  </fermata>

  <fermata codice="3">
    <clienti_saliti valore="12"/>
    <clienti_scesi valore="5"/>
  </fermata>

  <fermata codice="4">
    <clienti_saliti valore="2"/>
    <clienti_scesi valore="10"/>
  </fermata>

  <fermata codice="5">
    <clienti_saliti valore="0"/>
    <clienti_scesi valore="7"/>
  </fermata>
  
</corsa>
<?xml version="1.0" encoding="UTF-8"?>

<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema">

  <xs:simpleType name="myPositiveInteger">
    <xs:restriction base="xs:integer">
      <xs:pattern value="[0-9]+"/> 
    </xs:restriction>
  </xs:simpleType>

  <xs:complexType name="clientiInOutType">
    <xs:attribute name="valore" type="myPositiveInteger" use="required"/>
  </xs:complexType>

  <xs:complexType name="fermataType">
    <xs:sequence>
      <xs:element name="clienti_saliti" type="clientiInOutType"/>
      <xs:element name="clienti_scesi" type="clientiInOutType"/>
    </xs:sequence>
    <xs:attribute name="codice" type="myPositiveInteger" use="required"/>
  </xs:complexType>

  <xs:complexType name="corsaType">
    <xs:sequence>
      <xs:element name="fermata" type="fermataType" maxOccurs="unbounded"/>
    </xs:sequence>
    <xs:attribute name="numero_percorso" type="myPositiveInteger" use="required"/>
  </xs:complexType>

  <xs:element name="corsa" type="corsaType">
    <xs:unique name="uniqueFermata">
      <xs:selector xpath="fermata"/>
      <xs:field xpath="@codice"/>
    </xs:unique>
  </xs:element>

</xs:schema>