XML Schema

Un article de Wikipédia, l'encyclopédie libre.

XML Schema est un langage de description de format de document XML permettant de définir la structure d'un document XML. La connaissance de la structure d'un document XML permet notamment de vérifier la validité de ce document. Un fichier de description de structure (XML Schema Description en anglais, ou fichier XSD) est donc lui-même un document XML.

Une instance d'un XML Schema est un peu l'équivalent d'une définition de type de document (DTD). XML Schema amène cependant plusieurs différences avec les DTD : il permet par exemple de définir des domaines de validité pour la valeur d'un champ, alors que cela n'est pas possible dans une DTD ; en revanche, il ne permet pas de définir des entités ; XML Schema est lui même un document XML, ce qui n'est pas le cas d'une DTD qui a une syntaxe spécifique.

Ce langage de description de contenu de documents XML est lui-même défini par un schéma, dont les balises de définition s'auto-définissent (c'est un exemple de définition récursive).

Sommaire

[modifier] Types de données

Les types de données primitifs sont :

  • string
  • boolean
  • float
  • double
  • decimal
  • timeDuration
  • recurringDuration
  • binary
  • uriReference
  • ID
  • IDREF
  • ENTITY
  • NOTATION
  • Qname
  • date

[modifier] Exemple

Un exemple de fichier XSD :

<?xml version="1.0" encoding="UTF-8"?>
<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema">
  <xs:element name="personne">
     <xs:complexType>
        <xs:sequence>
           <xs:element name="nom" type="xs:string"/>
           <xs:element name="prenom" type="xs:string"/>
           <xs:element name="date_naissance" type="xs:date"/>
        </xs:sequence>
     </xs:complexType>
  </xs:element>
</xs:schema>

Suivi d'un fichier XML valide :

<?xml version="1.0" encoding="UTF-8"?>
<personne xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="personne.xsd">
  <nom>de Latour</nom>
  <prenom>Jean</prenom>
  <date_naissance>1967-08-13</date_naissance>
</personne>

[modifier] Mise en œuvre du Dublin Core

XML Schema correspond à un haut niveau de formalisation dans les schémas de classification. XML Schema permet d'implémenter le standard Dublin Core de métadonnées.

Voir : " XML Schemas to support the Guidelines for implementing Dublin Core in XML recommendation"

Les noms d'éléments sont indiqués de la façon suivante :

<xs:element name="title" type="elementType" />
<xs:element name="creator" type="elementType" />
<xs:element name="subject" type="elementType" />
<xs:element name="description" type="elementType" />
<xs:element name="publisher" type="elementType" />
<xs:element name="contributor" type="elementType" />
<xs:element name="date" type="elementType" />
<xs:element name="type" type="elementType" />
<xs:element name="format" type="elementType" />
<xs:element name="identifier" type="elementType" />
<xs:element name="source" type="elementType" />
<xs:element name="language" type="elementType" />
<xs:element name="relation" type="elementType" />
<xs:element name="coverage" type="elementType" />
<xs:element name="rights" type="elementType" />

[modifier] Exemple d'utilisation

XML Schema conjointement avec les formulaires XForms pour valider les données dès la saisie.

[modifier] Bibliographie

  • Les web services. Techniques, démarches et outils XML, WSDL, SOAP, UDDI, RosettaNet, UML. Hubert Kadima, Valérie Monfort, Dunod, 2003.

[modifier] Voir aussi

[modifier] Articles connexes

[modifier] Liens externes

Wikipedia HTML 2008 in other languages

100 000 +

Česká (Czech)  •  English  •  Deutsch (German)  •  日本語 (Japanese)  •  Français (French)  •  Polski (Polish)  •  Suomi (Finnish)  •  Svenska (Swedish)  •  Nederlands (Dutch)  •  Español (Spanish)  •  Italiano (Italian)  •  Norsk (Norwegian Bokmål)  •  Português (Portuguese)  •  Română (Romanian)  •  Русский (Russian)  •  Türkçe (Turkish)  •  Українська (Ukrainian)  •  中文 (Chinese)

10 000 +

العربية (Arabic)  •  Български (Bulgarian)  •  Bosanski (Bosnian)  •  Català (Catalan)  •  Cymraeg (Welsh)  •  Dansk (Danish)  •  Ελληνικά (Greek)  •  Esperanto  •  Eesti (Estonian)  •  Euskara (Basque)  •  Galego (Galician)  •  עברית (Hebrew)  •  हिन्दी (Hindi)  •  Hrvatski (Croatian)  •  Magyar (Hungarian)  •  Ido  •  Bahasa Indonesia (Indonesian)  •  Íslenska (Icelandic)  •  Basa Jawa (Javanese)  •  한국어 (Korean)  •  Latina (Latin)  •  Lëtzebuergesch (Luxembourgish)  •  Lietuvių (Lithuanian)  •  Latviešu (Latvian)  •  Bahasa Melayu (Malay)  •  Plattdüütsch (Low Saxon)  •  Norsk (Norwegian Nynorsk)  •  فارسی (Persian)  •  Sicilianu (Sicilian)  •  Slovenčina (Slovak)  •  Slovenščina (Slovenian)  •  Српски (Serbian)  •  Basa Sunda (Sundanese)  •  தமிழ் (Tamil)  •  ไทย (Thai)  •  Tiếng Việt (Vietnamese)

1 000 +

Afrikaans  •  Asturianu (Asturian)  •  Беларуская (Belarusian)  •  Kaszëbsczi (Kashubian)  •  Frysk (Western Frisian)  •  Gaeilge (Irish)  •  Interlingua  •  Kurdî (Kurdish)  •  Kernewek (Cornish)  •  Māori  •  Bân-lâm-gú (Southern Min)  •  Occitan  •  संस्कृत (Sanskrit)  •  Scots  •  Tatarça (Tatar)  •  اردو (Urdu) Walon (Walloon)  •  יידיש (Yiddish)  •  古文/文言文 (Classical Chinese)

100 +

Nehiyaw (Cree)  •  словѣньскъ (Old Church Slavonic)  •  gutisk (Gothic)  •  ລາວ (Laos)