Glossaire

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
&amp;lt;<
&amp;amp;&
&amp;gt;>
&amp;quot;"
&amp;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 &lt;, &gt;, &amp;, &quot;, &apos;.

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 XML
ressemble à 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
.