Tutoriel XML

ACCUEIL XML Introduction XML XML Comment utiliser Arbre XML Syntaxe XML Éléments XML Attributs XML Espaces de noms XML Affichage XML Requête HTTP XML Analyseur XML DOM XML XPath XML XML XSLT XQuery XML XMLXLink Validateur XML DTD XML Schéma XML Serveur XML Exemples XML XML Quiz Certificat XML

XMLAJAX

Présentation d'AJAX AJAX XMLHttp Requête AJAX Réponse AJAX Fichier XML AJAX PHP AJAX ASP AJAX Base de données AJAX Applications AJAX Exemples AJAX

DOM XML

Présentation du DOM Nœuds DOM Accès au DOM Informations sur le nœud DOM Liste des nœuds DOM Traversée du DOM Navigation DOM DOM Obtenir des valeurs Nœuds de changement DOM DOM Supprimer les nœuds DOM Remplacer les nœuds DOM Créer des nœuds DOM Ajouter des nœuds Nœuds de clonage DOM Exemples DOM

Tutoriel XPath

Présentation de XPath Nœuds XPath Syntaxe XPath Axes XPath Opérateurs XPath Exemples XPath

Tutoriel XSLT

Présentation de XSLT Langages XSL Transformation XSLT XSLT <modèle> XSLT <valeur-de> XSLT <pour-chaque> XSLT <sort> XSLT <si> XSLT <choisir> Appliquer XSLT XSLT sur le client XSLT sur le serveur XSLT Éditer XML Exemples XSLT

Tutoriel XQuery

Présentation de XQuery Exemple XQuery XQuery FLWOR XQuery HTML Termes XQuery Syntaxe XQuery Ajouter XQuery Sélection XQuery Fonctions XQuery

DTD XML

Présentation de la DTD Blocs de construction DTD Éléments DTD Attributs DTD Éléments DTD vs Attr Entités DTD Exemples de DTD

Schéma XSD

Présentation XSD Comment XSD XSD <schéma> Éléments XSD Attributs XSD Restrictions XSD

Complexe XSD

Éléments XSD XSD vide Éléments XSD uniquement Texte XSD uniquement XSD Mixte Indicateurs XSD XSD <tout> XSD <anyAttribute> Remplacement XSD Exemple XSD

Données XSD

Chaîne XSD Date XSD Numérique XSD Divers XSD Référence XSD

Services Web

Services XML XMLWSDL SAVON XML XML RDF XML RSS

Les références

Types de nœuds DOM Nœud DOM Liste de nœuds DOM DOM NamedNodeMap Documents DOM Élément DOM Attribut DOM Texte DOM DOM CDATA DOM Comment DOM XMLHttpRequest Analyseur DOM Éléments XSLT Fonctions XSLT/XPath

Tutoriel sur le schéma XML


Qu'est-ce qu'un schéma XML ?

Un schéma XML décrit la structure d'un document XML.

Le langage de schéma XML est également appelé XML Schema Definition (XSD).

Exemple XSD

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

<xs:element name="note">
  <xs:complexType>
    <xs:sequence>
      <xs:element name="to" type="xs:string"/>
      <xs:element name="from" type="xs:string"/>
      <xs:element name="heading" type="xs:string"/>
      <xs:element name="body" type="xs:string"/>
    </xs:sequence>
  </xs:complexType>
</xs:element>

</xs:schema>

Le but d'un schéma XML est de définir les blocs de construction juridiques d'un document XML :

  • les éléments et attributs pouvant apparaître dans un document
  • le nombre (et l'ordre) des éléments enfants
  • types de données pour les éléments et les attributs
  • valeurs par défaut et fixes pour les éléments et les attributs

Pourquoi apprendre le schéma XML ?

Dans le monde XML, des centaines de formats XML standardisés sont utilisés quotidiennement.

Bon nombre de ces normes XML sont définies par des schémas XML.

XML Schema est une alternative basée sur XML (et plus puissante) à la DTD.



Les schémas XML prennent en charge les types de données

L'une des plus grandes forces des schémas XML est la prise en charge des types de données.

  • Il est plus facile de décrire le contenu de document autorisé
  • Il est plus facile de valider l'exactitude des données
  • Il est plus facile de définir les facettes des données (restrictions sur les données)
  • Il est plus facile de définir des modèles de données (formats de données)
  • Il est plus facile de convertir des données entre différents types de données

Les schémas XML utilisent la syntaxe XML

Une autre grande force des schémas XML est qu'ils sont écrits en XML.

  • Vous n'avez pas besoin d'apprendre une nouvelle langue
  • Vous pouvez utiliser votre éditeur XML pour modifier vos fichiers de schéma
  • Vous pouvez utiliser votre analyseur XML pour analyser vos fichiers Schema
  • Vous pouvez manipuler votre schéma avec le DOM XML
  • Vous pouvez transformer votre schéma avec XSLT

Les schémas XML sont extensibles, car ils sont écrits en XML.

Avec une définition de schéma extensible, vous pouvez :

  • Réutilisez votre schéma dans d'autres schémas
  • Créez vos propres types de données dérivés des types standards
  • Référencer plusieurs schémas dans le même document

Schémas XML Communication de données sécurisée

Lors de l'envoi de données d'un expéditeur à un destinataire, il est essentiel que les deux parties aient les mêmes "attentes" concernant le contenu.

Avec les schémas XML, l'expéditeur peut décrire les données d'une manière compréhensible pour le destinataire.

Une date telle que : "03-11-2004" sera, dans certains pays, interprétée comme le 3.Novembre et dans d'autres pays comme le 11.Mars.

Cependant, un élément XML avec un type de données comme celui-ci :

<date type="date">2004-03-11</date>

garantit une compréhension mutuelle du contenu, car le type de données XML "date" nécessite le format "AAAA-MM-JJ".


Bien formé ne suffit pas

Un document XML bien formé est un document conforme aux règles de syntaxe XML, telles que :

  • il doit commencer par la déclaration XML
  • il doit avoir un élément racine unique
  • les balises de début doivent avoir des balises de fin correspondantes
  • les éléments sont sensibles à la casse
  • tous les éléments doivent être fermés
  • tous les éléments doivent être correctement imbriqués
  • toutes les valeurs d'attribut doivent être entre guillemets
  • les entités doivent être utilisées pour les caractères spéciaux

Même si les documents sont bien formés, ils peuvent toujours contenir des erreurs, et ces erreurs peuvent avoir de graves conséquences.

Pensez à la situation suivante : vous commandez 5 imprimantes laser brutes, au lieu de 5 imprimantes laser. Avec les schémas XML, la plupart de ces erreurs peuvent être détectées par votre logiciel de validation.