XML Règles de syntaxe
Les règles de syntaxe de XML sont très simples et logiques.
Ces règles sont faciles à apprendre et faciles à utiliser.
Déclaration XML
La déclaration XML est une partie facultative du fichier. Si elle existe, elle doit être placée sur la première ligne du document, comme indiqué ci-dessous :
<?xml version="1.0" encoding="utf-8"?>
L'exemple ci-dessus contient la version XML (version="1.0"), et même l'encodage des caractères (encoding="utf-8").
UTF-8 est également l'encodage par défaut pour HTML5, CSS, JavaScript, PHP et SQL.
Un document XML doit avoir un élément racine
XML doit contenir un élément racine, qui est le parent de tous les autres éléments. Par exemple, dans l'exemple suivant, root est l'élément racine :
Dans l'exemple suivant, note est l'élément racine :
Les documents XML sont composés d'éléments. Chaque élément comprend une balise d'ouverture, une balise de fermeture et un contenu d'élément.
Attributes
Les éléments peuvent contenir des attributs. Les attributs fournissent des informations supplémentaires sur un élément.
Les attributs sont situés dans la balise d'ouverture, par exemple :
<person age="30" gender="male">John Doe</person>
Balises auto-fermantes XML
Tous les éléments XML ont généralement une balise de fermeture, mais l'utilisation de balises auto-fermantes est également autorisée.
La syntaxe d'une balise auto-fermante est la suivante :
<elementName attribute="value" />
Une balise auto-fermante est une balise qui contient à la fois la balise d'ouverture et la balise de fermeture en une seule balise, de forme similaire aux balises d'élément vide en HTML.
En XML, vous pouvez exprimer une balise auto-fermante des deux manières suivantes :
En utilisant une balise d'élément vide :
<exampleTag />
En utilisant une balise d'ouverture et de fermeture, mais sans aucun contenu :
<exampleTag></exampleTag>
Ces deux représentations sont équivalentes ; vous pouvez choisir l'une ou l'autre selon vos conventions personnelles ou celles du projet.
Dans de nombreux analyseurs XML, les deux formes sont interprétées comme la même structure.
Exemple
<lineBreak />
Ici<lineBreak />est une balise auto-fermante, représentant une opération de saut de ligne.
Une balise auto-fermante avec attributs :
<image src="logo.png.html" alt="Logo" />
Cette balise représente un élément image. Elle contient les attributs src et alt, qui spécifient le chemin de l'image et le texte alternatif.
Exemple de fichier XML :
Exemple
<root>
<note to="Tove" from="Jani" heading="Rappel" body="Ne m'oubliez pas ce week-end !" />
<emptyElement attribute="value" />
</root>
Dans cet exemple,<note>et<emptyElement />toutes les deux sont des balises auto-fermantes.<note>Le but de la balise est de transmettre des informations, et<emptyElement />est une balise vide sans éléments enfants.
Les balises XML sont sensibles à la casse
Les balises XML sont sensibles à la casse. La balise <Letter> est différente de la balise <letter>.
Vous devez utiliser la même casse pour la balise d'ouverture et la balise de fermeture :
<Message>这是错误的</message> <message>这是正确的</message>
Remarque :Les balises d'ouverture et les balises de fermeture sont souvent appelées balises de début et balises de fin. Quelle que soit la terminologie que vous préférez, les concepts sont les mêmes.
XML doit être correctement imbriqué
En HTML, vous voyez souvent des éléments qui ne sont pas correctement imbriqués :
<b><i>This text is bold and italic</b></i>
En XML, tous les élémentsdoiventêtre correctement imbriqués les uns dans les autres :
<b><i>This text is bold and italic</i></b>
Dans l'exemple ci-dessus, l'imbrication correcte signifie : comme l'élément <i> est ouvert à l'intérieur de l'élément <b>, il doit être fermé à l'intérieur de l'élément <b>.
Les valeurs d'attribut XML doivent être entre guillemets
Comme en HTML, les éléments XML peuvent également avoir des attributs (paires nom/valeur).
En XML, les valeurs d'attribut XML doivent être entre guillemets.
Veuillez étudier les deux documents XML suivants. Le premier est incorrect, le second est correct :
<note date=12/11/2007> <to>Tove</to> <from>Jani</from> </note>
<note date="12/11/2007"> <to>Tove</to> <from>Jani</from> </note>
L'erreur dans le premier document est que l'attribut date dans l'élément note n'est pas entre guillemets.
Références d'entités
En XML, certains caractères ont une signification spéciale.
Si vous placez le caractère "<" dans un élément XML, une erreur se produira car l'analyseur l'interprétera comme le début d'un nouvel élément.
Cela produira une erreur XML :
<message>if salary < 1000 then</message>
Pour éviter cette erreur, utilisezune référence d'entitépour remplacer le caractère "<" :
<message>if salary < 1000 then</message>
En XML, il existe 5 références d'entités prédéfinies :
| < | < | inférieur à |
| > | > | supérieur à |
| & | & | esperluette |
| ' | ' | apostrophe |
| " | " | guillemet |
Remarque :En XML, seuls les caractères "<" et "&" sont réellement illégaux. Le signe supérieur à est légal, mais c'est une bonne habitude de le remplacer par une référence d'entité.
Commentaires en XML
La syntaxe pour écrire des commentaires en XML est très similaire à celle du HTML.
<!-- This is a comment -->
En XML, les espaces sont conservés
HTML réduira (fusionnera) plusieurs caractères d'espace consécutifs en un seul :
| HTML : | Hello Tove |
| Sortie : | Bonjour Tove |
En XML, les espaces dans un document ne sont pas réduits :
<bookstore>
<book>
<title>xx xxx</title>
<author>John Doe</author>
<price>29.99</price>
</book>
</bookstore>
Le contenu du titre est lu et affiché comme suit :
xx xxx
XML stocke les sauts de ligne en LF
Dans les applications Windows, un saut de ligne est généralement stocké sous la forme d'une paire de caractères : retour chariot (CR) et saut de ligne (LF).
Dans Unix et Mac OS X, LF est utilisé pour stocker un saut de ligne.
Dans les anciens systèmes Mac, CR est utilisé pour stocker un saut de ligne.
XML stocke les sauts de ligne en LF.
Autres extensions