Lorsque vous écrivez du HTML, vous faites du XML sans le savoir. En effet, HTML fait partie de la famille de langage XML. C'est simplement un langage à balises, à part qu'il faut obéir à des règles plus strictes.
Pour rappel, un langage à balise est du style:
<commande attribut1="valeur1" ...>texte concerné</commande>
On peut s'habituer tout-de-suite à écrire du HTML avec ces règles strictes. Celles-ci sont:
<?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "DTD/xhtml1-strict.dtd"> <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en"> <head> <title>Virtual Library</title> </head> <body> <p>Moved to <a href="http://vlib.org/">vlib.org</a>.</p> </body> </html>
Ecrire du HTML en obéissant à ces règles s'appelle faire du XHTML.
En fait, le XML permet de définir les balises au nom qu'on veut, quite à décharger un "plug-in" qui les reconnaisse dans votre navigateur. En attendant, certains navigateurs comme par exemple Internet Explorer sous Windows savent lire un fichier XML; faites l'essai en renommant un de vos fichiers HTML avec l'extension ".xml". Vous pourrez "déplier" et "replier" les ordres imbriqués en cliquant sur le "+" ou "-" en tête.
Voici un autre exemple de fichier XML (aperçu):
<?xml version="1.0" encoding="UTF-8"?> <!-- initially, the default namespace is "books" --> <book xmlns='urn:loc.gov:books' xmlns:isbn='urn:ISBN:0-395-36341-6' xml:lang="en" lang="en"> <title>Cheaper by the Dozen</title> <isbn:number>1568491379</isbn:number> <notes> <!-- make HTML the default namespace for a hypertext commentary --> <p xmlns='http://www.w3.org/1999/xhtml'> This is also available <a href="http://www.w3.org/">online</a>. </p> </notes> </book>
Vous remarquerez que les balises définissent des objets, leurs attributs des champs, et que des objets peuvent dériver d'autres objets (ci-dessus, isbn dérive de number). De même, title est un membre de book.
La norme XML peut être trouvée à l'adresse suivante: http://www.w3.org/TR/REC-xml ou bien http://www.w3.org/XML ou bien XML en 10 points.
On peut mettre en forme un texte XML sous forme de HTML, afin de le visualiser, en utilisant des feuilles de style. Ces feuilles de style sont (en principe) au format XSL. Mais rien n'empêche à ce que ces feuilles de style soient au format CCS. Sinon, c'est normalement une application sur mesure, dite parseur XML, c'est-à-dire un interpréteur, qui peut lire un fichier XML et le mettre en forme comme son auteur l'a voulu. Par exemple, Internet Explorer ou Netscape est un parseur pour HTML.
Voici un exemple de XML avec une feuille de style XSL:
xmltest.xml<?xml version='1.0'?> <?xml-stylesheet type="text/xsl" href="xmltest.xsl"?> <source> <title>XSL</title> <author>John Smith</author> </source>xmltest.xsl
<xsl:stylesheet version='1.0' xmlns:xsl='http://www.w3.org/1999/XSL/Transform'> <xsl:output method="html"/> <xsl:template match="/"> <h1> <xsl:value-of select="//title"/> </h1> <h2> <xsl:value-of select="//author"/> </h2> </xsl:template> </xsl:stylesheet>Et voici le résultat (normalement en cliquant sur le .xml ci-dessus...):
<h1>XSL</h1> <h2>John Smith</h2>
Mise à jour: