Barre Formation IN2P3
École franco-maghrébine 2003 WebServices 13-17 octobre 2003

Travaux pratiques

Précédent

tp1f

Suivant

Enoncé :

Définition du schéma XML associé au document XML décrit plus haut.

Utiliser un espace de nommage pour bien comprendre le mécanisme.

Aide :

Vous pouvez vérifier la syntaxe de votre fichier en passant la commande:
cd tp1f
java sax.Counter -s planning.xml
cd ..

Copier le fichier "planning.xml" dans tp1f avant de passer la commande.

On utilise Xerces pour valider le document.

Correction :

Contenu du fichier tp1f/planning.xsd.

<?xml version="1.0"?>
<xsd:schema
    xmlns:xsd="http://www.w3.org/2001/XMLSchema"
    xmlns="http://in2p3.fr/WS/tp1"
    targetNamespace="http://in2p3.fr/WS/tp1"
    elementFormDefault="qualified"
    attributeFormDefault="qualified">
    <xsd:element name="plannigramme" type="plannigrammetype"/>
    <xsd:complexType name="plannigrammetype">
        <xsd:sequence>
            <xsd:element name="semaine" type="semainetype" minOccurs="0" maxOccurs="unbounded"/>
        </xsd:sequence>
    </xsd:complexType>
    <xsd:complexType name="semainetype">
        <xsd:sequence>
            <xsd:element name="salle" type="salletype"/>
            <xsd:element name="jour" type="jourtype" minOccurs="0" maxOccurs="6"/>
        </xsd:sequence>
        <xsd:attribute name="numerosemaine" type="numerosemainetype"/>
    </xsd:complexType>
    <xsd:simpleType name="numerosemainetype">
    <xsd:restriction base="xsd:byte">
        <xsd:minInclusive value="1"/>
        <xsd:maxInclusive value="53"/>
    </xsd:restriction>
    </xsd:simpleType>
    <xsd:complexType name="salletype">
        <xsd:sequence>
            <xsd:element name="nom" type="xsd:string"/>
            <xsd:element name="numero" type="xsd:integer"/>
            <xsd:element name="batiment" type="xsd:string"/>
        </xsd:sequence>
    </xsd:complexType>
    <xsd:complexType name="jourtype">
        <xsd:sequence>
            <xsd:element name="am" type="ampmtype" minOccurs="0"/>
            <xsd:element name="pm" type="ampmtype" minOccurs="0"/>
        </xsd:sequence>
        <xsd:attribute name="nomjour" type="joursemainetype"/>
    </xsd:complexType>
    <xsd:simpleType name="joursemainetype">
        <xsd:restriction base="xsd:string">
            <xsd:enumeration value="lundi"/>
            <xsd:enumeration value="mardi"/>
            <xsd:enumeration value="mercredi"/>
            <xsd:enumeration value="jeudi"/>
            <xsd:enumeration value="vendredi"/>
            <xsd:enumeration value="samedi"/>
        </xsd:restriction>
    </xsd:simpleType>
    <xsd:complexType name="ampmtype">
        <xsd:sequence>
            <xsd:element name="cours" type="courstype"/>
        </xsd:sequence>
    </xsd:complexType>
    <xsd:complexType name="courstype">
        <xsd:sequence>
            <xsd:element name="intitule" type="xsd:string"/>
            <xsd:element name="responsable" type="xsd:string"/>
        </xsd:sequence>
    </xsd:complexType>
</xsd:schema>

École franco-maghrébine 2003 WebServices 13-17 octobre 2003