... et ses amis !
xmllint --dtdvalid ma.dtd mon.xml --noout
Le XML (eXtensible Markup Language) fut créé afin de stocker et de transporter des données.
Incorpore d'autres technologies : DTD, XSL, XML Schemas
<article xmlns="http://docbook.org/ns/docbook">
<title>Extensible Markup Language</title>
<para>
<acronym>XML</acronym> (Extensible Markup Language, « langage de balisage extensible »)...
</para>
</article>
{\rtf
{\f2\fs36\b Extensible Markup Language}\par
{\b XML} (Extensible Markup Language,
« langage de balisage extensible »)...
\par
}
\documentclass[a4paper, 11pt]{article}
\title{Extensible Markup Language}
\begin{document}
\maketitle
\end{document}
=={{lang|en|Extensible Markup Language}}==
'''XML''' ({{lang|en|Extensible Markup Language}},
« langage de balisage extensible »)…
Un document XML est un arbre et ne contient qu'une seule racine.
Les balises sont appelés éléments de l'arbre ou noeuds de l'arbre.
Les éléments (ou noeuds) peuvent être :
Un document XML bien formé est un document dont les éléments ne se mélangent pas et dont la hiérarchie est bien respectée
Un document valide est un document bien formé et qui respecte une DTD (Document Type Definition, voir plus loin)
XML incorpore une logique d'espaces de noms qui permettent de préciser de quelle norme font partie certains éléments du document afin d'éviter les conflits de noms.
On peut donc mixer deux normes XML différentes au sein d'un même document sans risquer de conflits.
<table>
<tr>
<td>Apples</td>
<td>Bananas</td>
</tr>
</table>
<table>
<name>African Coffee Table</name>
<width>80</width>
<length>120</length>
</table>
<root>
<h:table xmlns:h="http://www.w3.org/TR/html4/">
<h:tr>
<h:td>Apples</h:td>
<h:td>Bananas</h:td>
</h:tr>
</h:table>
<f:table xmlns:f="http://www.w3schools.com/furniture">
<f:name>African Coffee Table</f:name>
<f:width>80</f:width>
<f:length>120</f:length>
</f:table>
</root>
<table>
<tr>
<td>Apples</td>
<td>Bananas</td>
</tr>
</table>
<table>
<name>African Coffee Table</name>
<width>80</width>
<length>120</length>
</table>
<root
xmlns:h="http://www.w3.org/TR/html4/"
xmlns:f="http://www.w3schools.com/furniture">
<h:table>
<h:tr>
<h:td>Apples</h:td>
<h:td>Bananas</h:td>
</h:tr>
</h:table>
<f:table>
<f:name>African Coffee Table</f:name>
<f:width>80</f:width>
<f:length>120</f:length>
</f:table>
</root>
Le propre d'un document XML est de pouvoir répondre à une norme précise.
XML incorpore un langage de validation hérité du SGML : Le Document Type Definition
Une (ou un ?) DTD permet de décrire la façon dont doit se composer un arbre XML qui doit s'y conformer afin d'être valide.
On y définit les éléments, leurs contenus, leurs attributs et les types de données
<!ELEMENT liste_livres (livre+)>
<!ELEMENT livre (titre,auteur+,éditeur,description?,prix)>
<!ELEMENT titre (#PCDATA)>
<!ELEMENT auteur (#PCDATA)>
<!ELEMENT éditeur (#PCDATA)>
<!ELEMENT description (#PCDATA)>
<!ELEMENT prix (#PCDATA)>
<?xml version="1.0" encoding="iso-8859-1" standalone="no" ?>
<!DOCTYPE liste_livres SYSTEM "livres.dtd">
<liste_livres>
<livre>
<titre>Comprendre XSLT</titre>
<auteur>Bernd Amann</auteur>
<auteur>Philippe Rigaux</auteur>
<éditeur>O'Reilly</éditeur>
<description>
Le livre suit une double démarche de présentation ...
</description>
<prix>33 euros</prix>
</livre>
<livre>
<titre>Learning XML</titre>
<auteur>Erik T. Ray</auteur>
<éditeur>O'Reilly</éditeur>
<prix>40 dollars</prix>
</livre>
</liste_livres>