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

Éléments XML


Un document XML contient des éléments XML.


Qu'est-ce qu'un élément XML ?

Un élément XML est tout, depuis (y compris) la balise de début de l'élément jusqu'à (y compris) la balise de fin de l'élément.

<price>29.99</price>

Un élément peut contenir :

  • texte
  • les attributs
  • autres éléments
  • ou un mélange de ce qui précède
<bookstore>
  <book category="children">
    <title>Harry Potter</title>
    <author>J K. Rowling</author>
    <year>2005</year>
    <price>29.99</price>
  </book>
  <book category="web">
    <title>Learning XML</title>
    <author>Erik T. Ray</author>
    <year>2003</year>
    <price>39.95</price>
  </book>
</bookstore>

Dans l'exemple ci-dessus :

<title>, <author>, <year> et <price> ont un contenu textuel car ils contiennent du texte (comme 29,99).

<bookstore> et <book> ont un contenu d'élément , car ils contiennent des éléments.

<book> a un attribut (category="children").


Éléments XML vides

Un élément sans contenu est dit vide.

En XML, vous pouvez indiquer un élément vide comme ceci :

<element></element>

Vous pouvez également utiliser une balise dite à fermeture automatique :

<element />

Les deux formulaires produisent des résultats identiques dans les logiciels XML (lecteurs, analyseurs, navigateurs).

Les éléments vides peuvent avoir des attributs.



Règles de nommage XML

Les éléments XML doivent suivre ces règles de nommage :

  • Les noms d'éléments sont sensibles à la casse
  • Les noms d'éléments doivent commencer par une lettre ou un trait de soulignement
  • Les noms d'éléments ne peuvent pas commencer par les lettres xml (ou XML, ou Xml, etc.)
  • Les noms d'éléments peuvent contenir des lettres, des chiffres, des traits d'union, des traits de soulignement et des points
  • Les noms d'éléments ne peuvent pas contenir d'espaces

N'importe quel nom peut être utilisé, aucun mot n'est réservé (sauf xml).


Meilleures pratiques de dénomination

Créez des noms descriptifs, comme ceci : <person>, <firstname>, <lastname>.

Créez des noms courts et simples, comme ceci : <book_title> et non comme ceci : <the_title_of_the_book>.

Éviter "-". Si vous nommez quelque chose "prénom", certains logiciels peuvent penser que vous voulez soustraire "nom" de "prénom".

Éviter ".". Si vous nommez quelque chose "first.name", certains logiciels peuvent penser que "name" est une propriété de l'objet "first".

Éviter ":". Les deux-points sont réservés aux espaces de noms (plus tard).

Les lettres non anglaises comme éòá sont parfaitement légales en XML, mais attention aux problèmes si votre logiciel ne les prend pas en charge.


Styles de nommage

Aucun style de dénomination n'est défini pour les éléments XML. Mais voici quelques-uns couramment utilisés :

Style Exemple La description
Minuscule <prénom> Toutes les lettres minuscules
Haut de casse <PRÉNOM> Toutes les lettres majuscules
Souligner <prénom> Le trait de soulignement sépare les mots
Cas Pascal <Prénom> Première lettre majuscule de chaque mot
Affaire de chameau <prénom> Première lettre majuscule de chaque mot sauf le premier

Si vous choisissez un style de nommage, il est bon d'être cohérent !

Les documents XML ont souvent une base de données correspondante. Une pratique courante consiste à utiliser les règles de nommage de la base de données pour les éléments XML.

La casse Camel est une règle de nommage courante dans les JavaScripts.


Les éléments XML sont extensibles

Les éléments XML peuvent être étendus pour contenir plus d'informations.

Regardez l'exemple XML suivant :

<note>
  <to>Tove</to>
  <from>Jani</from>
  <body>Don't forget me this weekend!</body>
</note>

Imaginons que nous ayons créé une application qui extrait les éléments <to>, <from> et <body> du document XML pour produire cette sortie :

MESSAGE

À : Tove
De : Jani

Ne m'oubliez pas ce week-end !

Imaginez que l'auteur du document XML y ait ajouté des informations supplémentaires :

<note>
  <date>2008-01-10</date>
  <to>Tove</to>
  <from>Jani</from>
  <heading>Reminder</heading>
  <body>Don't forget me this weekend!</body>
</note>

L'application doit-elle se casser ou planter ?

Non. L'application doit toujours pouvoir trouver les éléments <to>, <from> et <body> dans le document XML et produire la même sortie.

C'est l'une des beautés de XML. Il peut être étendu sans casser les applications.