XML par la pratique
Transcription
XML par la pratique
XML par la pratique Bases indispensables, concepts et cas pratiques (3ième édition) Présentation du langage XML 1. De SGML à XML 17 2. Les bases de XML 18 2.1 Rappel sur HTML 2.2 Votre premier document XML 2.3 Les avantages de XML 18 19 21 3. La syntaxe XML 21 3.1 La première ligne du document XML 3.1.1 Déclaration XML 3.1.2 Codage des caractères 3.1.3 Paramètres de validation et de styles 3.2 Les éléments ? 3.2.1 Les éléments vides 3.2.2 La sensibilité à la casse 3.2.3 Les caractères non autorisés 3.2.4 Les caractères autorisés 3.2.5 La première lettre 3.2.6 Les noms spéciaux 3.3 Les attributs 3.4 La racine d’un document 3.5 Les commentaires 3.6 Les espaces de noms 3.6.1 Définition 3.6.2 Syntaxe 3.6.3 Application 23 23 23 24 24 24 24 25 25 26 26 26 27 28 28 28 29 29 De l'importance de la validation 1. La validation par DTD 31 1.1 Le vocabulaire employé www.editions-eni.fr 31 © Editions ENI 1/15 XML par la pratique Bases indispensables, concepts et cas pratiques (3ième édition) 1.1.1 Les documents bien formés 1.1.2 Les documents valides 1.1.3 Les parseurs 1.2 Construction d’une DTD 1.3 Lier une DTD aux données XML 1.3.1 Déclarations DTD au sein du document XML 1.3.2 Déclarations DTD dans un fichier .dtd 1.4 Définir des éléments 2. Les différents types de déclaration 38 2.1 Les groupes 2.1.1 Les mots clés ANY et EMPTY 2.1.2 Les opérateurs ? , + et * 2.1.3 L’opérateur de choix | 2.1.4 Les données textuelles #PCDATA 2.2 Les attributs 2.2.1 Liste d’attributs 2.2.2 Les attributs IMPLIED, REQUIRED et FIXED 2.3 Les types d’attributs 2.3.1 Les données textuelles (type CDATA et énumérations) 2.3.2 Les attributs de type NOTATION 2.3.3 Les attributs de types ID ou IDREF 2.3.4 Les attributs de type ENTITY 2.3.5 Les attributs de type NMTOKEN 2.4 Les entités 2.4.1 Les entités internes 2.4.2 Les entités externes 2.5 Les sections conditionnelles 3. Introduction à la notion de schémas XML 3.1 Quelles sont les différences entre DTD et XMLSchema ? 3.1.1 L’apport du typage 3.1.2 L’apport de la syntaxe XML 3.2 Comment construire un schéma ? 3.2.1 Construction "en poupées russes" www.editions-eni.fr 31 34 34 35 36 36 37 38 © Editions ENI 39 39 39 40 40 41 41 42 42 43 43 43 44 45 45 46 46 47 47 48 48 49 49 50 2/15 XML par la pratique Bases indispensables, concepts et cas pratiques (3ième édition) 3.2.2 Construction par clonage 3.3 Notions supplémentaires de construction 3.3.1 Les groupes 3.3.2 Le compositeur choice 3.3.3 Le compositeur all 3.4 Comment utiliser les types ? 3.4.1 Les types prédéfinis 3.4.2 Créer ses propres types 3.4.3 Autres méthodes de dérivation 3.5 Comment lier un schéma à un document XML ? 53 54 55 55 56 56 56 56 59 60 Relax NG 1. Principe de Relax NG 61 2. Syntaxe XML et syntaxe compacte 62 2.1 Syntaxe XML 2.1.1 Choice 2.1.2 Attribute 2.1.3 Patterns 2.1.4 Datatypes 2.1.5 Énumérations 2.1.6 Listes 2.1.7 Interleave 2.2 Syntaxe compacte 2.2.1 Choice 2.2.2 Attribute 2.2.3 Patterns 2.2.4 Datatypes 2.2.5 Énumérations 2.2.6 Listes 2.2.7 Interleave 62 64 65 66 68 68 69 69 70 70 71 71 72 72 72 73 3. Conclusion www.editions-eni.fr 73 © Editions ENI 3/15 XML par la pratique Bases indispensables, concepts et cas pratiques (3ième édition) Naviguer dans les documents XML 1. Préambule 75 2. XPath : un langage de désignation 76 2.1 Principe 2.2 Modèle de données XPath 2.3 Exemples 76 78 78 3. XLL : langage de description de liens 80 3.1 Présentation et vocabulaire 3.2 XLink 3.3 XPointer : langage d’adressage de XML 4. XBase 80 81 87 92 4.1 Principe 4.2 Exemple 92 92 5. XInclude 93 5.1 Principe 5.1.1 L’attribut href 5.1.2 L’attribut parse 5.1.3 L’attribut encoding 5.2 Déclaration DTD 5.3 Exemple 93 94 94 95 95 95 Présentation de XQuery 1. Présentation de XQuery 97 1.1 XQuery et le SQL 1.2 Un processeur XQuery 1.3 Une première requête www.editions-eni.fr 98 98 99 © Editions ENI 4/15 XML par la pratique Bases indispensables, concepts et cas pratiques (3ième édition) 2. Le langage 100 2.1 Les commentaires 2.2 Position dans un arbre 101 101 3. Les expressions 101 3.1 Expressions de comparaison 3.1.1 Comparaison générale 3.1.2 Comparaison de valeurs 3.1.3 Comparaison de nœuds 3.2 Expressions conditionnelles 3.3 Expressions d’ensemble 3.3.1 Union 3.3.2 Intersect 3.3.3 Except 3.4 Les variables 3.5 Les expressions FLWOR 3.5.1 Description 3.5.2 For, in et return 3.5.3 Imbrication 3.5.4 Let 3.5.5 Where 3.5.6 Order by 3.6 Les expressions quantifiées some et every 3.7 Les fonctions 3.7.1 Les fonctions incluses dans XQuery 3.7.2 Créer ses fonctions 3.8 Les jointures 4. Conclusion 101 101 102 103 104 105 105 105 105 106 106 106 106 107 107 108 109 109 110 110 111 112 112 SAML : sécuriser les échanges avec XML 1. Présentation du langage SAML www.editions-eni.fr 113 © Editions ENI 5/15 XML par la pratique Bases indispensables, concepts et cas pratiques (3ième édition) 1.1 Le protocole 1.2 Les liaisons (binding) 1.3 profiles 114 117 118 2. Vers le SSO OASIS 119 2.1 Qu'est-ce que le SSO ? 2.2 Le SSO en détail 2.3 Web Browser SSO Profile 119 120 122 Optimisation du XML : l’EXI 1. L'EXI 125 1.1 Présentation 1.2 Les inconvénients du XML 1.3 Optimiser le XML 125 126 127 2. Fonctionnement 128 2.1 Le mécanisme 2.2 Les bibliothèques 131 132 3. Conclusion 133 Mise en application 1. Introduction 135 2. DTD : la librairie 135 2.1 Définition de la grammaire de la liste d’ouvrages 2.2 Exemple de fichier de données XML 3. Tester si un document XML est valide en PHP www.editions-eni.fr © Editions ENI 136 138 140 6/15 XML par la pratique Bases indispensables, concepts et cas pratiques (3ième édition) 4. XMLSchema : la bibliothèque 143 4.1 Schéma de description d’un livre 4.2 Schéma de description d’un employé 4.3 Exemple de fichier de données XML 5. Relax NG : la bibliothèque 144 145 145 146 5.1 Syntaxe d’un livre 5.2 Syntaxe compacte d’un employé 146 147 6. Tester les chemins XPath à l’aide de XPath Visualizer 148 7. Créer des requêtes XQuery sur un document XML 151 7.1 Des requêtes simples 7.2 Les instructions FLWOR 7.3 Exercice : créer une fonction qui teste l’acidité 151 152 152 8. Le SSO en JavaScript 155 8.1 Les bibliothèques 8.2 Étude de cas avec Google 8.3 Installation 8.4 Test de l'implémentation 8.5 Conclusion 155 156 156 156 159 Les transformations 1. Qu’est-ce que XSL ? 163 2. Lier un document XML à une feuille de style XSL 165 3. Structure de base d’un document XSL 165 www.editions-eni.fr © Editions ENI 7/15 XML par la pratique Bases indispensables, concepts et cas pratiques (3ième édition) 4. XSLT 166 4.1 Qu’est-ce qu’une transformation XSLT ? 4.2 Les règles de gabarit (template rules) 4.3 Application des règles de gabarit 4.4 Les éléments de transformation 4.5 Créer des éléments avec xsl:element 4.6 Créer des attributs avec xsl:attribute 4.7 Créer des ensembles d’attributs nommés avec xsl:attribute-set 4.8 Créer du texte avec xsl:text 4.9 Créer des commentaires avec xsl:comment 4.10 Copier un nœud avec xsl:copy 4.11 Générer du texte avec xsl:value-of 4.12 Calculer avec xsl:number 4.13 Importer des règles avec xsl:apply-imports 4.14 Répéter un traitement avec xsl:for-each 4.15 Traitement conditionnel par xsl:if 4.16 Traitement conditionnel par xsl:choose 5. XSL-FO 166 168 172 172 173 174 174 175 175 176 177 178 179 179 181 182 182 5.1 Initialisation et structure du document 5.2 La disposition des pages 5.3 La zone de contenu 5.4 L’ordre d’apparition des types de page 5.5 Insérer du contenu 5.6 Générer le document PDF 183 184 186 188 189 191 CSS et XLS : mise en application 1. Introduction 193 2. Application d’une feuille de style CSS à un document XML 194 2.1 Le document XML 2.2 La feuille de style CSS www.editions-eni.fr 194 196 © Editions ENI 8/15 XML par la pratique Bases indispensables, concepts et cas pratiques (3ième édition) 3. Application d’une feuille de style XSL 199 3.1 Le document XML de base 3.2 La transformation XSL 199 199 4. Transformation XSL d’un document XML 4.1 Le document XML de base 4.2 La transformation XSL 4.3 Autres exemples de transformation 4.3.1 Transformation d’un document XML en texte 4.3.2 Transformation d’un document en CSV 5. Création d’un document PDF avec XSL-FO 5.1 L’exemple complet 5.2 La génération du document PDF avec l’outil FOP 6. Une dernière astuce pour intégrer du XML au HTML 6.1 Inclusion simple de contenu XML dans du HTML 6.2 Inclusion par "data island" 7. Conclusion 204 204 206 207 207 209 211 211 215 217 218 219 222 Les services web 1. De SGML aux services web 225 1.1 De SGML à XML 1.2 Les services web : l’avenir prévisible de XML 2. La notion de services web 227 2.1 Qu’est-ce qu’un service web ? 2.2 Le Web des services www.editions-eni.fr 226 226 228 228 © Editions ENI 9/15 XML par la pratique Bases indispensables, concepts et cas pratiques (3ième édition) 3. Les annuaires de services web 230 3.1 WSDL 3.2 UDDI 3.2.1 Annuaires UDDI 3.2.2 Les interfaces UDDI 3.2.3 À propos d’UDDI 230 231 231 232 233 4. Introduction à SOAP, le protocole des services web 234 Le protocole SOAP et les parseurs XML 1. Principe de base de SOAP 235 1.1 Appel d’une méthode distante 1.2 La requête SOAP 1.3 La réponse 236 237 238 2. Mise en application de SOAP 239 2.1 De quoi avez-vous besoin ? 2.2 Déroulement d’une transaction SOAP 2.3 Interopérabilité 3. L’interprétation des documents XML : les parseurs 3.1 Que fait le parseur XML ? 3.2 Introduction aux parseurs XML DOM 3.3 Introduction aux parseurs XML SAX 3.4 DOM ou SAX ? 3.5 XML Pull Parsing 3.6 Stax 239 240 241 242 242 243 243 244 245 246 XForms www.editions-eni.fr © Editions ENI 10/15 XML par la pratique Bases indispensables, concepts et cas pratiques (3ième édition) 1. XHTML : XML + HTML ? 247 2. Les principes fondamentaux de XHTML 248 2.1 Qu’est-ce qu’un document XHTML conforme ? 2.2 La structure d’un document XHTML 248 249 3. Les différences entre HTML 4.0 et XHTML 1.0 250 4. Les formulaires XHTML : les XForms 252 4.1 Les limites imposées par les formulaires HTML 253 4.1.1 Les sept types d’éléments des formulaires HTML 253 4.1.2 Les deux méthodes de traitement des formulaires HTML : GET et POST 257 4.1.3 Les limites d’accessibilité des formulaires HTML 258 4.2 Principes fondamentaux des XForms 258 4.3 Les contrôles de formulaires XForms 259 4.4 Déclarer des XForms 259 4.5 Maîtriser les composants XForms 261 4.5.1 Les zones de texte 261 4.5.2 Choix multiples (boutons radio, cases à cocher, zones de sélections multiples et menus) 262 4.5.3 Charger des fichiers 263 4.5.4 Les groupes d’options 264 4.5.5 Les événements 264 4.5.6 Les valeurs initiales 265 4.5.7 Les méthodes de soumission 265 4.6 Un exemple simple de XForms 266 5. XHTML5 268 5.1 Présentation 5.2 Ce qui change 268 269 6. Conclusion www.editions-eni.fr 278 © Editions ENI 11/15 XML par la pratique Bases indispensables, concepts et cas pratiques (3ième édition) XML et JavaScript 1. Le JavaScript 279 1.1 Présentation rapide 1.2 Limites du JavaScript 1.3 JavaScript et les navigateurs 279 280 280 2. DOM 281 2.1 DOM HTML et XML 2.2 DOM et JavaScript 2.3 Un exemple d’utilisation de JavaScript avec DOM 3. XMLHttpRequest 281 282 283 285 3.1 Principe 3.2 AJAX 3.3 Exemple 285 286 286 4. jQuery et le XML 288 4.1 jQuery 4.1.1 Les avantages de jQuery 4.1.2 Le fonctionnement de base 4.1.3 Interroger du XML 4.1.4 Traduire le XML 4.1.5 Générer du XML 5. Conclusion 288 289 290 291 291 291 293 Le XML dans les interfaces homme-machine 1. Le XAML 295 1.1 Une interface pour le Web et le bureau 1.2 Les styles www.editions-eni.fr © Editions ENI 295 300 12/15 XML par la pratique Bases indispensables, concepts et cas pratiques (3ième édition) 2. Android 302 2.1 Une interface pour le Web et le bureau 2.2 Les styles 302 305 3. Le JavaFX 306 4. Conclusion 307 WML, SMIL, RDF et RSS 1. Introduction 309 2. WML 309 2.1 Présentation du langage WML 2.2 La syntaxe du langage WML 2.3 Différences entre WML et HTML 2.4 Les besoins pour créer et publier des documents WML 2.5 Comment rendre le WML plus dynamique ? 3. SMIL 315 3.1 Structure d’un document SMIL 3.2 Les bases pour construire des animations interactives SMIL 3.2.1 Les éléments <seq> et <par> 3.2.2 Les itérations 3.3 SMIL, pour aller plus loin 4. RDF 316 317 317 318 319 319 4.1 Objectifs 4.1.1 Les métadonnées 4.1.2 Vers un Web sémantique... 4.2 Principes 4.2.1 Ressources, propriétés et déclarations www.editions-eni.fr 310 310 313 314 314 © Editions ENI 320 320 320 321 321 13/15 XML par la pratique Bases indispensables, concepts et cas pratiques (3ième édition) 4.2.2 Exemple 4.2.3 RDF, pour aller plus loin 321 322 5. RSS 323 5.1 Objectifs 5.2 Les différentes versions de RSS 5.3 Construire un flux RSS 0.91, 1.0 ou 2.0 5.3.1 Structure d’un document RSS 0.91 5.3.2 Structure d’un document RSS 1.0 5.3.3 Structure d’un document RSS 2.0 5.4 Comment exploiter les flux RSS sur un site ? 6. Conclusion 323 324 325 325 328 332 335 335 SVG (Scalable Vector Graphics) 1. Généralités 339 2. Interpréter le SVG 340 3. La syntaxe de SVG 340 3.1 L’initialisation du document 3.2 Ajouter des éléments graphiques 3.3 Appliquer des transformations : translations, rotations, échelle 3.4 Opérations sur les objets graphiques 3.5 Ajouter du texte 3.6 Appliquer des filtres 3.7 Cas pratique : Concevoir un histogramme en SVG 3.8 Décomposition 3.9 Exécution 4. Conclusion www.editions-eni.fr 340 342 346 350 352 354 356 357 359 360 © Editions ENI 14/15 XML par la pratique Bases indispensables, concepts et cas pratiques (3ième édition) Autres langages dérivés de XML 1. Introduction 361 2. Les sous-ensembles de XML 362 3. Des langages qui s’inspirent de XML 363 3.1 YAML 3.2 JSON 363 363 4. XML au service des échanges B to B 364 4.1 Les services web XML 4.2 Les langages "dédiés" 365 366 5. Conclusion 366 Index 367 www.editions-eni.fr © Editions ENI 15/15