Glossaire #
Appel d’entité
Un appel d’entité est une suite de caractères qui commence par une esperluette (&) et se termine par un point-virgule (;). Les entités courantes :
| Entité | Résultat |
|---|---|
&lt; | < |
&amp; | & |
&gt; | > |
&quot; | " |
&apos; | ’ |
Attribut
Un attribut est un nom XML qui suit les mêmes règles que les noms d’éléments. Il est immédiatement suivi d’un signe = et d’une valeur entre guillemets. Exemple : <lavie age="5"> a l’attribut age="5". Une balise peut avoir plusieurs attributs, mais leurs noms doivent être distincts.
Balise
Une balise commence par < et se termine par >. Il existe : balises ouvrantes (<tag>), fermantes (</tag>) et vides (<tag/>). Les déclarations <!DOCTYPE>, les instructions <?xml?>, les commentaires <!-- --> et les sections <![CDATA[ ]]> ne sont pas des balises d’élément.
Bien formé
Un document XML est bien formé s’il respecte la grammaire XML (p. ex. éléments correctement imbriqués, attributs bien formés). Tout parseur XML générique peut lire un document bien formé.
Commentaire
Commence par <!-- et se termine par -->. On ne peut pas avoir deux tirets consécutifs -- à l’intérieur d’un commentaire.
CSS — Cascading Style Sheets.
Déclaration de type de document (DOCTYPE)
Une déclaration DOCTYPE a la forme <!DOCTYPE racine SYSTEM "URL">. Elle indique le nom de l’élément racine attendu et (optionnellement) l’emplacement du DTD.
Définitions et mots-clés utiles #
- CDATA : type d’attribut indiquant que la valeur est du texte.
- #PCDATA : contenu textuel (parsed character data).
- REQUIRED : attribut obligatoire.
- IMPLIED : attribut optionnel.
- Espace de noms (Namespace)
Un espace de noms permet d’éviter les conflits de noms dans les documents XML en associant un préfixe à un URI. Exemple : xmlns:prefix="http://example.com".
Élément
Un élément est une unité de structure XML, composée d’une balise ouvrante, de contenu (texte, éléments enfants) et d’une balise fermante. Exemple : <livre>Titre</livre>.
Élément vide
Un élément sans contenu, représenté par <tag/> ou <tag></tag>.
Entité
Une entité est un raccourci pour du texte ou des caractères spéciaux. Les entités prédéfinies sont <, >, &, ", '.
Instruction de traitement
Une instruction pour les applications, de la forme <?nom instruction?>. Exemple : <?xml-stylesheet type="text/xsl" href="style.xsl"?>.
Parseur XML
Un programme qui analyse un document XML et vérifie sa conformité à la syntaxe XML.
Racine (Root)
L’élément principal d’un document XML, qui contient tous les autres éléments.
Schéma XML (XSD)
Un langage pour définir la structure et les types de données d’un document XML, plus puissant que la DTD.
Section CDATA
Une section <![CDATA[ contenu ]]> où le contenu n’est pas analysé comme du XML, utile pour du code ou du texte spécial.
Valide
Un document XML est valide s’il est bien formé et respecte les règles définies dans une DTD ou un schéma.
XPath
Un langage pour naviguer dans les documents XML, utilisé dans XSLT et XQuery.
XQuery
Un langage de requête pour extraire des données des documents XML.
XSD — XML Schema Definition.
Formats de données populaires #
YAML #
YAML (YAML Ain’t Markup Language) est un format de sérialisation de données lisible par l’humain, souvent utilisé pour les fichiers de configuration. Il s’appuie sur l’indentation pour représenter la structure.
Exemple :
person:
name: "Alice"
age: 30
tags:
- xml
- yaml
YAML est pratique pour écrire des structures arborescentes sans beaucoup de ponctuation. Attention à l’indentation (espaces, pas de tabulations) et au typage implicite (ex. on, yes, no, true, false peuvent être interprétés).
JSON #
JSON (JavaScript Object Notation) est un format léger d’échange de données, très répandu pour les API et la configuration. Il est strict sur la syntaxe (guillemets, virgules, crochets).
Exemple :
{
"person": {
"name": "Alice",
"age": 30,
"tags": ["xml", "json"]
}
}
JSON est facile à parser et largement supporté par les langages. Quand on convertit entre XML, JSON et YAML, il faut décider comment représenter les attributs, les éléments vides et l’ordre des nœuds.
JSON Schema
Un vocabulaire et une grammaire pour valider la structure et les types de données dans un document JSON. Permet de définir des contraintes comme les types requis, les formats, etc.
YAML Anchor
Un mécanisme en YAML pour définir une référence réutilisable avec &nom et la référencer avec *nom. Utile pour éviter la duplication.
YAML Alias
Voir YAML Anchor. Permet de réutiliser des structures complexes.
YAML Merge
Une fonctionnalité YAML pour fusionner des mappings avec <<: *ancre.
YAML Multi-line strings
Utilise | pour conserver les sauts de ligne, ou > pour les fusionner en une ligne.
Autres notions #
DOM (Document Object Model)
Une interface de programmation pour les documents HTML et XML. Représente le document comme une arborescence d’objets, permettant la manipulation via des API comme getElementById(), appendChild(), etc.
SAX (Simple API for XML)
Une API événementielle pour parser les documents XML. Au lieu de charger tout le document en mémoire (comme DOM), SAX déclenche des événements pour chaque élément rencontré, ce qui est plus efficace pour les gros fichiers.
API de parsing
Interfaces pour analyser et traiter les documents structurés : DOM pour une vue arborescente, SAX pour un parsing séquentiel, StAX pour un mélange des deux.
Sérialisation
Le processus de conversion d’une structure de données en un format textuel comme JSON, YAML ou XML.
Désérialisation
L’inverse de la sérialisation : convertir un format textuel en structure de données.
Streaming parser
Un parseur qui traite le document de manière incrémentale, sans charger tout en mémoire, utile pour les gros fichiers.
Tree parser
Un parseur qui construit une arborescence complète en mémoire, comme DOM.
XPath
Un langage pour adresser des parties d’un document XML, permettant de naviguer et sélectionner des nœuds.
XSLT
Un langage pour transformer les documents XML en d’autres formats, comme HTML ou texte.
Namespace URI
L’identifiant unique associé à un espace de noms XML, généralement une URL.
Préfixe d’espace de noms
Un raccourci pour référencer un espace de noms, comme xmlns:xs="http://www.w3.org/2001/XMLSchema".
XML Schema (XSD)
Voir Schéma XML.
DTD (Document Type Definition)
Un langage pour définir la structure d’un document XML, moins puissant que XSD mais plus simple.
Well-formed vs Valid
Well-formed : respecte la syntaxe XML. Valid : well-formed et conforme à une DTD ou schéma.
Encoding
Le jeu de caractères utilisé, spécifié dans la déclaration XML, comme UTF-8.
BOM (Byte Order Mark)
Un marqueur au début des fichiers pour indiquer l’endianness, parfois présent dans les fichiers UTF.
Déclaration XML : La déclaration XMLressemble à s’y méprendre à une instruction de traitement et
prend la forme < ?xml ... ?>. Le contenu d’une déclaration
XML comporte généralement au maximum trois attributs :
version="...", encoding="..." et standalone="...". La version du
XML la plus utilisée est la 1.0 ; bien que la version 1.1 existe,
elle est fort peu utilisée. On utilisera souvent une déclaration
XML avec « encoding="ISO-8859-1" » pour pouvoir utiliser les
accents dans le document ; par défaut, on ne peut pas utiliser les
accents dans un document XML, sans des outils supportant les normes
UTF-8/UTF-16. L’attribut « standalone » prend les
valeurs yes ou no , selon que l’on veut que la DTD externe soit lue
ou pas. La déclaration XML
doit obligatoirement être au tout début du document ou être
carrément absente : même un espace avant n’est pas permis.
DocBook :
C’est un format de
document souvent utilisé pour la documentation
technique.
DOM (
Document Object Model
) :
Le terme
« DOM »
a deux significations : un ensemble d’API utilisant un modèle en arbre
ou un
certain modèle en arbre.
DTD (
Définition de Type Document
) :
Une DTD permet de définir un type de document XML en spécifiant
des contraintes sur les éléments, les attributs et leur contenu.
Un document XML qui satisfait ces contraintes et qui est bien formé est dit
valable.
Élément :
Un élément est l’ensemble du texte borné par
deux
balises ayant le même nom XML, comme <lavie> et </lavie>.
On dit que l’élément <lavie></lavie> a le nom
XML « lavie ». L’élément hérite des attributs de sa balise de
départ : l’élément <lavie age="5"></lavie> possède
l’attribut « age="5" ». Il est à noter que la casse est
significative
en XML : les balises < A > et < a > n’ont pas le même nom
XML.
Lorsque l’élément est vide, c’est-à-dire sans contenu, on
peut remplacer <lavie></lavie> par <lavie />,
pour être plus bref. Par ailleurs, un élément peut contenir d’autres
éléments, comme dans
<lavie><a></a></lavie>, ou du texte ou
du texte et des éléments, comme
<lavie>fd<a>fsd</a>fd</lavie>. Si un
élément contient l’élément de début ou de fin d’un élément, alors
il doit aussi contenir l’autre. Ainsi, un élément peut être
contenu par un autre ou non, mais deux éléments ne peuvent se
chevaucher
, comme <b><a></b></a>,
qui est du XML mal formé.
Élément-racine :
Tout document XML bien formé doit
avoir un
élément-racine, et un seul. Tous les autres
éléments doivent être contenus dans cet
élément-racine.
Espace de noms :
Les espaces de noms
permettent d’utiliser plusieurs vocabulaires XML en même
temps.
Extensible : Voir Métalangage .
Graphe :
Un graphe est un ensemble de nœuds liés par
des
relations d’un nœud à un autre.
Graphe dirigé :
Un graphe est dirigé
si les relations sont à sens unique.
Graphe annoté :
Un graphe est annoté
si les relations entre deux nœuds peuvent être de
différentes natures.
HTML (
HyperText Markup
Language
) :
Le HTML est un
langage à base de balises. La majorité des documents
sur le web sont écrits en HTML.
Instruction de traitement :
L’instruction de traitement ne fait rien en
soit, mais peut indiquer aux programmes comment obtenir un
certain résultat. Une instruction de traitement débute par
« < ? »
et se termine par « ?> » ; immédiatement après le
« < ? », un nom XML
valable doit apparaître et tous les noms XML valables sont
autorisés à l’exception de xml, Xml, XMl, XML, XmL, xMl, xML et
xmL. Ainsi n’importe quel autre texte peut être utilisé, mais il faut
faire des appels d’entités pour « < » et « & »,
comme pour n’importe
quel contenu textuel XML.
Métalangage :
Le XML est un « métalangage »
permettant d’échanger
de l’information, principalement sur le web. On dit que c’est un
« métalangage » parce qu’il permet de créer de
nouveaux
langages
pour l’échange d’informations, mais
qu’il ne constitue pas un langage en soi. On dit donc que le
XML est « extensible » (peut être étendu) et que c’est un
métalangage : les deux affirmations ont le même sens et notent la
capacité du XML à s’adapter à des besoins différents.
Nom XML :
Le nom XML d’une balise
est le texte suivant le symbole « < » ou « </ »
pour une balise de
fin ; il peut contenir n’importe quelle lettre (a, b,...) ou
chiffre (0,1,2,...) et les signes de ponctuation suivants : la barre de
soulignement ( _ ),
le trait d’union ( - ) et le point ( . ) ; il ne peut contenir ni les
autres signes de ponctuation
ni un espace. En outre, un nom XML ne peut pas commencer par un nombre, un
trait d’union
ou un point. Par exemple, le nom XML de la balise
<lavie> est « lavie », alors que la balise <7lavie>
ne
serait pas autorisée.
RDF (
Resource Description
Framework
) :
Le RDF est un langage pour les
métadonnées sur le web,
c’est-à-dire un langage pour énoncer ce que l’on sait
sur quelque chose ou quelqu’un.
SGML : Standard Generalized Markup Language .
Syntaxe :
La syntaxe XML est la
manière d’écrire les informations dans un document
XML. Les notions importantes de la
syntaxe de base du XML sont la
balise
, l’
élément
,
l’
élément-racine
et l’
attribut
.
URI :
C’est une adresse Internet
fictive. L’URI agit un peu comme le
numéro d’assurance sociale des vocabulaires XML.
Valide :
: Un document est valide s’il répond à
certains critères
de base de l’application XML. Un document XML qui est bien formé, qui en
plus
satisfait aux contraintes dictant quels éléments et attributs
peuvent être utilisés, et dans quel ordre et avec quel contenu,
est dit valide.
Vocabulaire XML :
Un « vocabulaire XML » est un ensemble de noms de balises et
d’attributs ayant une signification donnée. Un vocabulaire XML
peut être associé à un document DTD.
XHTML :
Le XHTML est un format
hybride : il tient à la fois du HTML et du XML.
XML : eXtensible MarkupLanguage .
XSL :
eXtensible Stylesheet
Language
.
XSLT :
XSL
Transformations
.
XSL-FO :
eXtensible Stylesheet Language
Formatting Objects
.