Notre premier document XML
Un document XML peut débuter par une déclaration XML. Cette déclaration définit la version de XML utilisée, l'encodage et précise si le document contient des références externes.
Exemple :
<?xml version="1.0" encoding="iso-8859-1"?>
Structure du document XML
Syntaxe du prologue
<?xml attributs ?>
<?XML ATTRIBUTS ?>
Attributs XML
Instruction | Description |
version="numéro-de-version" | Version XML utilisée pour le document. Exemple : version="1.0" |
encoding="type-d'encodage" | Jeu de caractères employés. Exemple : encoding="iso-8859-1" |
standalone="yes|no" |
|
Elément racine
Il existe un seul et unique élément racine dans un document XML, par conséquent aucune partie de cet élément n'apparaît dans le contenu d'un autre élément.
Exemple :
<livre genre="BD">
<titre>Voyage en Italie</titre>
<auteur>Cosey</auteur>
</livre>
Dans cet exemple, <livre> nous signale le début de l'élément racine.
Pour des raisons de lisibilité, nous présenterons les éléments en arborescence. L'élément racine peut contenir un ou plusieurs éléments, qui peuvent eux-même contenir d'autres éléments.
Eléments XML
Comme pour les balises HTML, les éléments sont délimités de la manière suivante:
<nom>contenu</nom>
Exemple :
<titre>Voyage en Italie</titre>
Dans le cas ou un élément doit être présent (du point de vue syntaxique), mais ne possède pas de valeur, la manière suivante sera utilisée :
<nom></nom>
Attributs XML
Il est possible de déterminer un ou plusieurs attributs pour un élément. Un attribut sera signalé dans la balise ouvrante, par son nom suivi du signe égal (=), puis de sa valeur entre apostrophes.
<nomélément nomattribut="valeur de l'attribut">
Exemple :
<livre genre="BD">
Dans cet exemple, genre est un attribut.
Commentaires XML
Les commentaires se présentent de la même manière que les commentaires HTML :
<!-- Ceci est un commentaire -->
XML texte
Sous l'appellation texte, nous pouvons retrouver toute chaîne de caractères hors balisage.
Dans notre exemple, BD et Voyage en Italie sont reprises comme texte.
<livre genre="BD">
<titre>Voyage en Italie</titre>
XML CDATA
Si sous déclarons une chaîne de caractères comme étant de type CDATA, l'analyseur n'interprètera pas le contenu. Les caractères spéciaux comme <, >, [, etc. sont donc traités comme des caractères et non comme des délimiteurs.
Exemple :
<![CDATA[je peux mettre n'importe quoi ici, même des caractères comme < ou >.]]>
Remarques
- Nous ne pouvons employer des références d'entités (<, &, etc.) à l'intérieur d'une section CDATA, en raison d'une incapacité de transcription puisque seule la chaîne de caractères ]]> est reconnue comme balisage.
- Les sections CDATA ne peuvent pas s'imbriquer.
Instructions de traitement XML
Nous pouvons préciser quelle est l'application à utiliser pour traiter certaines données, ou spécifier les paramètres nécessaires au traitement de ces informations.
<?cible liste_attributs?>
- Cible : application à laquelle s'applique l'instruction.
- Liste d'attributs : données nécessaires au traitement des informations.
Remarque
Certaines informations de traitement débutent par <?xml dont l'usage est réservé (standard XML).
Exemple :
<?xml-stylesheet type="text/xsl" href="style.xsl"?>
Remarques
XML est sensible à la casse (case-sensitive) :
Nous devons impérativement prendre en compte la différence entre minuscule et majuscule.
Incorrect :
<auteur>Cosey</Auteur>
Correct :
<auteur>Cosey</auteur>
Tout élément ouvert doit être fermé :
En effet, contrairement au HTML qui est plus laxiste, en XML, tout élément ouvert doit être fermé :
Incorrect :
<livre><auteur>Cosey</auteur></livre>
Correct :
<livre><auteur>Cosey</auteur></livre>
Hiérarchie :
Le document XML doit respecter les contraintes de formes, c'est à dire la hiérarchie des éléments XML. Une balise d'un élément peut être imbriquée dans une autre, mais la balise contenante ne peut être fermée avant la balise contenue.
Incorrect :
<livre genre="Fantasy">
<titre>Le seigneur des anneaux</titre>
<auteur>Tolkien</auteur>
<livre genre="BD">
<titre>Voyage en Italie</titre>
<auteur>Cosey</auteur>
</livre>
</livre>
Correct :
<livre genre="Fantasy">
<titre>Le seigneur des anneaux</titre>
<auteur>Tolkien</auteur>
</livre>
<livre genre="BD">
<titre>Voyage en Italie</titre>
<auteur>Cosey</auteur>
</livre>
Définition du document
Voici donc un exemple de document XML :
Code XML (test1.xml) (16 lignes)
<?xml version="1.0" encoding="UTF-8"?> <!-- test1.xml //--> <livres> <livre genre="Fantasy"> <titre>Le seigneur des anneaux</titre> <auteur>Tolkien</auteur> </livre> <livre genre="BD"> <titre>Voyage en Italie</titre> <auteur>Cosey</auteur> </livre> <livre genre="Info"> <titre>Les réseaux</titre> <auteur>Pujolle</auteur> </livre> </livres>
Ce qui est affiché de cette manière par votre navigateur :
Le même document avec une DTD interne :
Code XML (test2.xml) (23 lignes)
<?xml version="1.0" encoding="UTF-8" standalone="yes"?> <!-- test2.xml //--> <!DOCTYPE livres [ <!ELEMENT livres (livre+)> <!ELEMENT livre (titre,auteur)> <!ATTLIST livre genre CDATA #REQUIRED> <!ELEMENT titre (#PCDATA)> <!ELEMENT auteur (#PCDATA)> ]> <livres> <livre genre="Fantasy"> <titre>Le seigneur des anneaux</titre> <auteur>Tolkien</auteur> </livre> <livre genre="BD"> <titre>Voyage en Italie</titre> <auteur>Cosey</auteur> </livre> <livre genre="Info"> <titre>Les réseaux</titre> <auteur>Pujolle</auteur> </livre> </livres>
Deutsche Übersetzung
Sie haben gebeten, diese Seite auf Deutsch zu besuchen. Momentan ist nur die Oberfläche übersetzt, aber noch nicht der gesamte Inhalt.Wenn Sie mir bei Übersetzungen helfen wollen, ist Ihr Beitrag willkommen. Alles, was Sie tun müssen, ist, sich auf der Website zu registrieren und mir eine Nachricht zu schicken, in der Sie gebeten werden, Sie der Gruppe der Übersetzer hinzuzufügen, die Ihnen die Möglichkeit gibt, die gewünschten Seiten zu übersetzen. Ein Link am Ende jeder übersetzten Seite zeigt an, dass Sie der Übersetzer sind und einen Link zu Ihrem Profil haben.
Vielen Dank im Voraus.
Dokument erstellt 07/11/2003, zuletzt geändert 02/08/2019
Quelle des gedruckten Dokuments:https://www.gaudry.be/de/xml-declaration.html
Die Infobro ist eine persönliche Seite, deren Inhalt in meiner alleinigen Verantwortung liegt. Der Text ist unter der CreativeCommons-Lizenz (BY-NC-SA) verfügbar. Weitere Informationen auf die Nutzungsbedingungen und dem Autor.