Schema XML

Retour  |  Home  |  Contact

XML Schema.

Besoin

Analyse

Un schéma XML permet de définir une grammaire XML selon une approche OO. Il permet de définir ses propres types et de les réutiliser, les spécialiser.

Conception

Schema XML Version   Exemple schema XML Exemple XML Commentaire
Release  
Technologie Technologie FixPack  
Elément Vide EMPTY <!ELEMENT br EMPTY> <br/> Sans contenu.
Texte A interpréter #PCDATA <!ELEMENT description (#PCDATA)> <description>
Ce cas est arriv&eacute; le <date year="2003"/>.
</description>
Parseable Character DATA. Les balises dans le texte seront traitées et les entités seront développées
A ne pas interpréter #CDATA <!ELEMENT identifiant (#CDATA)> <identifiant>
AB52
</identifiant>
Character DATA. Les balises dans le texte ne seront pas traitées et les entités ne seront pas développées
Séquence   (element1, element2, element3) <!ELEMENT voiture (marque,modele)> <voiture>
  <marque>
    Peugeot
  </marque>
  <modele>
    307
  </modele>
</voiture>
L'ordre est imposé.
Liste   (element1+) <!ELEMENT liste (objet+)> <liste>
  <objet>
    Objet 1
  </objet>
  <objet>
    Objet 2
  </objet>
</liste>
Au moins 1 élément
Optionnel Unique (element1?) <!ELEMENT prenoms (prenom,prenom?)> <prenoms>
  <prenom>
    Jerome    </prenom>
  <prenom>
    Pierre
  </prenom>
</temoignage>
0 ou 1 élément
Multiple (element1*) <!ELEMENT enfants (enfant*)> <enfants>
  <enfant>
    Jerome    </enfant>
  <enfant>
    Jean-Pierre
  </enfant>
</enfants>
0 ou n éléments
Unique   (element1) <!ELEMENT temoignage (description)> <temoignage>
  <description>
    Il &eacute;tait une fois...    </description>
</temoignage>
1 et 1 seul obligatoire
Entités Prédéfinies < &lt;   <expression>
1 &lt; 2
</expression>
Lower Than : inférieur à.
> &gt; <expression>
2 &gt; 1
</expression>
Greather Than : supérieur à.
& &amp; Ampersand : perluète
" &quot; Quote : guillemet
' &apos; Apostroph : apostrophe.
Attribut Type Texte CDATA <!ATTLIST event startDate CDATA "inconnue"> <event startDate="12/08/1972"/> Character DATA
Enuméré el1|el2|el3  
Identifiant ID  
Référence à un autreidentifiant IDREF  
Références à d'autres identifiants IDREFS  
Nom XML NMTOKEN NaMe TOKEN
Noms XML NMTOKENS NaME TOKENS
Entité ENTITY  
Entités ENTITIES  
Notation NOTATION  
Valeur XML prédéfinie xml:  
Valeur Par défaut   <!ATTLIST event startDate CDATA "inconnue"> <event startDate="12/08/1972">  
Obligatoire #REQUIRED <!ATTLIST event author CDATA #REQUIRED>    
Déductible #IMPLIED <!ATTLIST event parent CDATA #IMPLIED>    
Constante #FIXED valeur <!ATTLIST event version CDATA #FIXED "1.0">    

Exemples

Un exemple de schéma XML est :

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

  <xsd:annotation>
    <xsd:documentation xml:lang="fr">
      Schema XML pour une librairie.
    </xsd:documentation>
  </xsd:annotation>

  <xsd:element name="librairie" type="typeLibrairie"/>

  <xsd:complexType name="typeLibrairie">
    <xsd:sequence>
      <xsd:element name="nom" type="xsd:string"/>
      <xsd:element name="sujet" type="typeSujet" minOccurs="1"/>
    </xsd:sequence>
  </xsd:complexType>

  <xsd:complexType name="typeSujet">
    <xsd:sequence>
      <xsd:element name="nom" type="xsd:string"/>
      <xsd:element name="book" type="typeLivre" minOccurs="0"/>
    </xsd:sequence>
  </xsd:complexType>

  <xsd:complexType name="typeLivre">
    <xsd:sequence>
      <xsd:element name="titre" type="xsd:string"/>
      <
xsd:element name="auteur" type="xsd:string"/>
    </xsd:sequence>
    <xsd:attribute name="isbn" type="typeISBN"/>
  </
xsd:complexType>

  <
xsd:simpleType name="typeISBN">
    <
xsd:restriction base="xsd:string">
      <
xsd:pattern value="\[0-9]{3}[-][0-9]{3}[-][0-9]{3}"/>
    </
xsd:restriction>
  </
xsd:simpleType>

</
xsd:schema>

Notes

Limitations

Retour  |  Home  |  Contact