L'essentiel De XML - Cours XML - IRIF

3y ago
27 Views
2 Downloads
1.64 MB
249 Pages
Last View : 1m ago
Last Download : 3m ago
Upload by : Rafael Ruffin
Transcription

L'essentiel de XMLCours XMLOlivier Carton

L'essentiel de XML: Cours XMLOlivier CartonVersion du 13/10/2015Copyright 2007-2014 Olivier CartonRésuméSupport du cours XML en M2 Pro à l'Université Paris Diderot.Ce document est le support d'un cours XML donné en M2 Pro à l'Université Paris Diderot. L'objectif est deprésenter les aspects essentiels de XML de manière concise et illustrée par de nombreux exemples. Les principauxthèmes abordés sont la syntaxe de XML, la validation de documents par des DTD, des schémas et des schematrons,le langage XPath, la transformation de document par XSLT ainsi que la programmation.Ce support de cours est actuellement en cours de rédaction. Il contient encore beaucoup d'erreurs et d'omissions.Certaines parties méritent d'être développées et/ou reprises. Une certaine indulgence est donc demandée au lecteur.Toutes les corrections, même les plus mineures, suggestions et encouragements sont les bienvenus. Ils participentà l'amélioration de ce document pour le bien de tous.

Table des matières1. Présentation de XML . 11.1. Historique . 11.2. Intérêts . 11.3. Langages apparentés . 31.4. Dialectes . 41.5. DocBook . 51.6. Conventions . 52. Syntaxe de XML . 72.1. Premier exemple . 72.2. Caractères . 72.3. URI, URL et URN . 122.4. Syntaxe et structure . 142.5. Composition globale d'un document . 142.6. Prologue . 152.7. Corps du document . 162.8. Exemples minimaux . 222.9. XInclude . 233. DTD . 253.1. Un premier exemple . 253.2. Déclaration de la DTD . 253.3. Contenu de la DTD . 283.4. Commentaires . 283.5. Entités . 293.6. Déclaration d'élément . 323.7. Déclaration d'attribut . 353.8. Outils de validation . 404. Espaces de noms . 414.1. Introduction . 414.2. Identification d'un espace de noms . 424.3. Déclaration d'un espace de noms . 424.4. Portée d'une déclaration . 434.5. Espace de noms par défaut . 434.6. Attributs . 454.7. Espace de noms XML . 454.8. Espaces de noms et DTD . 454.9. Quelques espaces de noms classiques . 465. Schémas XML . 485.1. Introduction . 485.2. Un premier exemple . 495.3. Structure globale d'un schéma . 505.4. Déclarations d'éléments . 525.5. Définitions de types . 545.6. Constructions de types . 615.7. Déclarations d'attributs . 685.8. Extension de types . 725.9. Restriction de types . 745.10. Substitutions . 825.11. Groupes d'éléments et d'attributs . 965.12. Contraintes de cohérence . 995.13. Espaces de noms . 1055.14. Imports d'autres schémas . 1085.15. Expressions rationnelles . 1096. XPath . 1126.1. Données et environnement . 1126.2. Expressions de chemins . 120iii

L'essentiel de XML6.3. Valeurs atomiques .6.4. Listes .6.5. Comparaisons .6.6. Structures de contrôle .6.7. Syntaxe abrégée .6.8. Motifs .6.9. Utilisation interactive de xmllint .6.10. Récapitulatif des opérateurs XPath .7. Schematron .7.1. Introduction .7.2. Premier exemple .7.3. Fonctionnement .7.4. Structure globale d'un schematron .7.5. Règles .7.6. Règles abstraites .7.7. Blocs abstraits .7.8. Phases de validations .8. XSLT .8.1. Principe .8.2. Premier programme : Hello, World! .8.3. Modèle de traitement .8.4. Entête .8.5. Définition et application de règles .8.6. Construction de contenu .8.7. Structures de contrôle .8.8. Tris .8.9. Variables et paramètres .8.10. Fonctions d'extension XPath .8.11. Modes .8.12. Indexation .8.13. Documents multiples .8.14. Analyse de chaînes .8.15. Import de feuilles de style .9. XSL-FO .9.1. Premier exemple .9.2. Structure globale .10. CSS .10.1. Principe .10.2. Règles .10.3. Héritage et cascade .10.4. Modèle de boîtes .10.5. Style et XML .10.6. Attachement de règles de style .10.7. Principales propriétés .11. SVG .11.1. Un premier exemple .11.2. Éléments de dessins .11.3. Transformations .11.4. Indications de style .11.5. Courbes de Bézier et B-splines .12. Programmation XML .12.1. SAX .12.2. DOM .12.3. Comparaison .12.4. AJAX .A. Acronymes .Bibliographie .Index 226229229231234234237239240

Chapitre 1. Présentation de XMLLe langage XML (eXtended Markup Language) est un format général de documents orienté texte. Il s'est imposécomme un standard incontournable de l'informatique. Il est aussi bien utilisé pour le stockage de documents quepour la transmission de données entre applications. Sa simplicité, sa flexibilité et ses possibilités d'extension ontpermis de l'adapter à de multiples domaines allant des données géographiques au dessin vectoriel en passant parles échanges commerciaux. De nombreuses technologies se sont développées autour de XML et enrichissent ainsison environnement.Le langage XML dérive de SGML (Standard Generalized Markup Language) et de HTML (HyperText MarkupLanguage). Comme ces derniers, il s'agit d'un langage orienté texte et formé de balises qui permettent d'organiserles données de manière structurée.1.1. HistoriqueL'historique suivant retrace les grandes étapes qui ont conduit à la naissance de XML. L'ancêtre de XML est lelangage SGML qui a été introduit en 1986 par C. Goldfarb. SGML a été conçu pour des documentations techniquesde grande ampleur. Sa grande complexité a freiné son utilisation en dehors des projets de grande envergure. En1991, T. Berners-Lee a défini le langage HTML pour le WEB. Ce langage est une version simplifiée à l'extrêmede SGML, destinée à une utilisation très ciblée. XML est, en quelque sorte, intermédiaire entre SGML et HTML.Il évite les aspects les plus complexes de SGML tout en gardant suffisamment de souplesse pour une utilisationgénéraliste. La version 1.0 de XML a été publiée en 1998 par le consortium W3C (World Wide Web Consortium).Une redéfinition XHTML de HTML 4.0 à travers XML a été donnée en 1999. Une seconde version 1.1, qui estsimplement une mise à jour pour les caractères spéciaux en lien avec Unicode, a, ensuite, été publiée en 2004.1.2. IntérêtsXML est devenu omniprésent dans le monde de l'informatique. De nombreux standards sont apparus et permettentà des applications différentes de stocker mais surtout de partager des documents. L'exemple le plus emblématiqueet le plus connu est le format OpenDocument qui est utilisé par OpenOffice, maintenant appelé LibreOffice, maisaussi par d'autres suites bureautiques comme KOffice. Un autre exemple est le format de dessins vectoriels SVG[Chapitre 11] utilisé par Inkscape. Ce succès de XML est en grande partie dû à ses qualités. Nous allons d'abordénumérer ces caractéristiques essentielles qui ont conduit à ce développement puis nous allons les détailler plusen profondeur. Séparation stricte entre contenu et présentation Simplicité, universalité et extensibilité Format texte avec gestion des caractères spéciaux Structuration forte Modèles de documents (DTD [Chapitre 3] et Schémas XML [Chapitre 5]) Format libreUne des idées directrices de XML est la séparation entre contenu et présentation. Il faut bien distinguer le contenud'un document et la présentation qui en est donnée. Un même contenu peut être rendu de façons très différentes.Cet ouvrage peut, par exemple, se présenter comme un livre imprimé ou comme une collections de pages WEB. Lecontenu est constitué, au départ, de textes et d'illustrations mais aussi de liens entre ces éléments. L'organisation dutexte en chapitres, sections et sous-sections ainsi que les renvois entre chapitres font partie intégrante du contenu dudocument. La présentation est au contraire la façon de présenter ce contenu au lecteur. Un des premiers principesde XML est d'organiser le contenu de manière indépendante de la présentation. Ce principe de séparation estdéjà présent dans HTML. Le rendu d'une page HTML est globalement confié au navigateur. Les paragraphesdes documents HTML sont, par exemple, écrits au kilomètre, sans indication de fins de lignes. Il appartient aunavigateur de les découper en lignes en fonction de la taille de la page. C'est très différent d'un document PDF1

Présentation de XMLoù le découpage en pages et en lignes est figée par le document

Le contenu est constitué, au départ, de textes et d'illustrations mais aussi de liens entre ces éléments. L'organisation du texte en chapitres, sections et sous-sections ainsi que les renvois entre chapitres font partie intégrante du contenu du document. La présentation est au contraire la façon de présenter ce contenu au lecteur.

Related Documents:

Sujets Spéciaux (STT2000) cours d'option cours d'ouverture nouveau cours nouveau cours nouveau nouveau cours nouveau cours nouveau cours nouveau cours nouveau cours nouveau cours nouveau cours SAS / R!9. exemple d'horaire 2 1 Toutes les concentrations 9h 10h 11h 12h 13h 14h 15h 16h 17h 18h 19h 20h 21h Automne lundi mardi mercredi jeudi vendredi M1112 Calcul 1 M1112 Calcul 1 TP M1112 .

Uses of XML XML data comes from many sources on the web: web servers store data as XML files databasessometimes return query results as XML webservices use XML to communicate XML is the de facto universal format for exchange of data XML languages are used for music, math, vector graphics popular use: RSS for news feeds & podcasts CSC443: Web Programming

avis sur tout aspect de ces cours. Vos avis ou réactions peuvent inclure des observations sur : Le contenu et l'organisation des cours Les manuels de lecture et ressources des cours. Les exercices des cours. Les évaluations des cours. La durée des cours. Le soutien aux cours (tuteurs désignés, soutien technique,

The design goals for XML are: 1. XML shall be straightforwardly usable over the Internet. 2. XML shall support a wide variety of applications. 3. XML shall be compatible with SGML. 4. It shall be easy to write programs which process XML documents. 5. The number of optional features in XML is to be kept to the absolute minimum, ideally zero. 6.

The number of optional features in XML is to be kept to the absolute minimum, ideally zero XML documents should be human-legible and reasonably clear The XML design should be prepared quickly The design of XML shall be formal and concise XML documents should be easy to create Terseness in XML markup is of minimal importance

C Provide the XML services more and more customers want, or C Watch your customer base shrink You can: C Learn to work with XML smoothly and easily, or C Fight XML tooth and nail You can: C Use XML content to make some of your processes easier C Let XML be an added step, added expense, and continual nuisance You can't make XML go away! Page 2

Overview XML More about XML We will talk about algorithms and programming techniques to efficiently manipulate XML data: I Regular expressions can be used to validate XML data, I finite state machines lie at the heart of highly efficient XPath implementations, I tree traversals may be used to preprocess XML trees in order to support XPath evaluation, to store XML trees in databases, etc.

2. Learn how to construct a valid XML Schema and associate it with an XML document. 3. Learn why XML Schemas are more powerful than DTDs. 1. amazon.dtdOpen files "amazon.xml", " " and "amazon.xsd" with EditX. The "amazon.xsd" is an XML Schema document that describes part of the structure of the " amazon.xml" XML document presented in Lab 1.1.1 .