Contents
1 Introduction à XML et XSLT 13
1.1 L’application et ses besoins . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 141.2 XML, format universel . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 141.2.1 Qu’est-ce que XML? . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 151.2.2 Structuration avec XML . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 151.2.3 Documents XML . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 181.3 Publication de données avec XSLT . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 211.3.1 Site web (HTML) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 211.3.2 Site WAP (WML) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 311.3.3 Document papier (PDF) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 381.4 Échange et intégration de données en XML . . . . . . . . . . . . . . . . . . . . . . . . . 421.4.1 Exemple: Le Site
www.sallesenligne.com
. . . . . . . . . . . . . . . . . . . . . . 421.4.2 Description de la structure d’un document XML . . . . . . . . . . . . . . . . . . 431.4.3 Transformation et échange de données . . . . . . . . . . . . . . . . . . . . . . . . 441.4.4 Un moteur de recherche XML/XSLT . . . . . . . . . . . . . . . . . . . . . . . . 451.4.5 Intégration dynamique de fragments XML . . . . . . . . . . . . . . . . . . . . . . 461.5 Comment lire la suite de ce livre? . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 51
2 Documents XML: structure et navigation 55
2.1 La syntaxe XML . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 562.1.1 Déclaration XML . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 572.1.2 Déclaration du type de document et des entités . . . . . . . . . . . . . . . . . . . 572.1.3 Commentaires . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 582.1.4 Instructions de traitement . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 582.1.5 Éléments . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 592.1.6 Attributs . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 592.1.7 Espaces . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 602.1.8 Sections
CDATA
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 612.1.9 Références d’entités . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 612.1.10 Balises, données caractères et valeur textuelle . . . . . . . . . . . . . . . . . . . . 622.2 Le modèle DOM . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 642.2.1 Types de nœuds DOM . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 642.2.2 Interface
DOMString
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 662.2.3 Interfaces
NodeList
et
NamedNodeMap
. . . . . . . . . . . . . . . . . . . . . . 662.2.4 Interface
Node
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 662.2.5 Interface
Document
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 712.2.6 Interfaces
Element
et
Attr
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 722.2.7 Interfaces
DocumentType
,
Entity
et
EntityReference
. . . . . . . . . . . . . . . 742.3 Du document sérialisé à l’arbre DOM . . . . . . . . . . . . . . . . . . . . . . . . . . . . 742.3.1 Construction d’un arbre DOM . . . . . . . . . . . . . . . . . . . . . . . . . . . . 762.3.2 Traitement des espaces pendant la construction . . . . . . . . . . . . . . . . . . . 782.3.3 Deux fonctions de navigation . . . . . . . . . . . . . . . . . . . . . . . . . . . . 793