Cours XML syntaxe de XML

Cours XML syntaxe de XML, tutoriel & guide de travaux pratiques en pdf.

Langages apparentés
Un des atouts indéniables de XML est le nombre de technologies et de langages qui se sont développés autour de XML. Ceux-ci enrichissent les outils pour la manipulation des documents XML. La liste ci-dessous énumère les principaux langages qui font partie de l’environnement XML.
XLink [ ] et XPointer [ ] (liens entre documents)
XML contient déjà un mécanisme pour matérialiser des liens entre des éléments d’un document. XLink et XPointer permettent d’établir des liens entre documents et plus particulièrement entre un élément d’un document et un fragment d’un autre document. Ils généralisent les liens hypertextes des documents HTML en autorisant des liens entre plusieurs documents.

Présentation de XML
XPath [ ] (langage de sélection)
XPath est un langage d’expressions permettant de sélectionner des éléments dans un document XML. Il est la pierre angulaire du langage XSLT pour la transformation de documents. Il est abordé au chapitre 6 de cet ouvrage.
XQuery [ ] (langage de requête)
XQuery est un langage permettant d’extraire des informations à partir d’un ou plusieurs documents XML et de synthétiser de nouvelles informations à partir de celles extraites. Il s’apparente à un langage d’interrogation de bases de données et joue le rôle de SQL pour les documents XML.
Schémas XML [ ] (modèles de documents)
Les schémas XML remplacent les DTD héritées de SGML pour décrire des modèles de documents. Ils sont beaucoup plus souples et beaucoup plus puissants que les DTD. Ils sont abordés en détail au chapitre 5 de cet ouvrage.

XSLT [ ] (transformation de documents)
XSLT est un langage permettant d’exprimer facilement des transformations complexes entre documents XML. Il s’appuie sur la structuration forte des documents XML vus comme des arbres. Chaque transformation est décrite par des règles pour chacun des éléments du document. Il est étudié en profondeur au chapitre 8 de cet ouvrage.

Dialectes
De très nombreux dialectes ont été définis pour appliquer XML à des domaines très variés. Le grand avantage est que ces différents dialectes partagent la même syntaxe de base et que tous les outils XML peuvent être utilisés pour spécifier et manipuler ces documents. Il n’y a nul besoin de développer des outils spécifiques à ces différents dialectes. La liste ci-dessous énumère quelques uns de ces dialectes.
RSS [ ] (Really Simple Syndication)
Abonnement à des flux de données
XUL [ ] (XML-based User interface Language)
Langage de description d’interfaces graphiques développé par le projet Mozilla.
SVG [ ] (Scalable Vector Graphics)
Description de dessins vectoriels
SMIL [ ] (Synchronized Multimedia Integration Language)
Description de contenus multimédia
MathML [ ] (Mathematical Markup Language)
Description de formules mathématiques
WSDL [ ] (Web Services Description Language)
Description de services WEB
OpenStreetMap [ ]
Cartes libres
XML Signature [ ]
Format pour les signatures électroniques
SAML [ ] (Security Assertion Markup Language)
Langage d’échange d’authentifications et d’autorisations
UBL [ ] (Universal Business Language)
Bibliothèque de documents standards pour les échanges commerciaux
OpenDocument [ ]
Format de document pour les applications bureautiques développé au départ pour OpenOffice mais aussi utilisé par d’autres logiciels libres comme KOffice
DocBook [ ]
Format de documentation technique
De nombreux projets informatiques, comme Ant ou Android utilisent XML pour le stockage de données et en particulier pour les fichiers de configuration.

DocBook
DocBook est un exemple typique d’utilisation de XML. Il s’agit d’un format pour écrire des documents techniques. Il est particulièrement adapté à la rédaction de documentations de logiciels. Il est d’ailleurs utilisé par de nombreux projets de logiciels libres, éventuellement de grande ampleur, comme le projet KDE. Cet ouvrage a été rédigé en utilisant DocBook. L’intégralité du texte est répartie en plusieurs fichiers XML. Afin d’obtenir une mise en page de qualité, les documents XML sont convertis, avec le langage XSLT, en un document LaTeX qui peut alors produire un document PDF.
DocBook était au départ basé sur SGML mais il s’appuie maintenant sur XML dont il est un des dialectes. Il contient de nombreuses balises permettant de décrire et de structurer le contenu de façon très précise. Il existe ensuite différents outils permettant de traduire un document DocBook, en une seule page HTML, en plusieurs pages HTML avec des liens ou encore en un document PDF.
DocBook met l’accent sur l’organisation et la structure du document. Son vocabulaire contient de très nombreuses balises permettant de transcrire très finement la sémantique de chaque fragment, à la manière de la seconde adresse donnée au début de cette introduction. Cet exemple est, en fait, très inspiré de DocBook. En revanche, DocBook ne permet pas de spécifier le rendu du document. Il n’est pas possible de donner, par exemple, la couleur ou la police de caractères à utiliser pour le texte. L’idée directrice est qu’un document DocBook doit permettre la production de plusieurs documents finaux à partir d’un même document original : document PDF, pages WEB. Comme les contraintes de ces différents média sont très diverses, il est impossible de pouvoir les spécifier dans le document. Le choix de DocBook est de donner suffisamment d’indications sur le contenu aux applications qui réalisent les transformations pour obtenir un résultat de qualité. Les documents DocBook font souvent partie d’un ensemble de documentations, comme celle de KDE, dont la présentation est uniforme et donc déterminée de manière globale.

Conventions
Certaines conventions sont utilisées tout au long de cet ouvrage afin d’en faciliter la lecture. Tous les exemples et plus généralement, tous les fragments de texte pouvant apparaître dans un document XML sont écrits en utilisant une police de caractères fixe comme l’exemple d’entête ci-dessous. Les noms des balises sont en particulier écrits avec cette police.
<?xml version= »1.0″ encoding= »iso-8859-1″?>
Lorsqu’un fragment de texte comporte des parties génériques qui doivent être remplacées pour obtenir un véritable exemple, ces parties sont écrites avec une police de caractères fixe et italique. L’exemple de déclaration de DTD ci-dessous signifie qu’une telle déclaration doit commencer par <!DOCTYPE suivi du nom de l’élément racine du document qui peut être un nom quelconque, différent de root-element.
<!DOCTYPE root-element … >
L’écriture … signifie qu’une partie sans importance a été omise pour rendre la description plus concise et plus claire. Un exemple concret est obtenu en remplaçant root-element par simple et en complétant la partie omise.
<!DOCTYPE simple [
<!ELEMENT simple (#PCDATA)>
]>
Les références croisées entre les différents chapitres et sections de cet ouvrage jouent un rôle important. À chaque fois qu’un concept important est mentionné, le numéro de section où celui-ci est introduit est indiqué entre crochets de cette façon [Section 2.2]. Ces indications de navigation facilitent la compréhension des liens entre les différentes notions. Il a quelques fois été pris la liberté de mentionner des liens avec des concepts introduits plus tard dans l’ouvrage. Ces indications peuvent être ignorées dans une première lecture.
Les nombres sont généralement écrits en base décimale comme 123 ou 8364. Lorsque l’écriture d’un nombre est en base hexadécimale, celle-ci commence par x ou 0x comme 0x231 ou x20AC. L’exception à cette règle est l’écriture des points de code des caractères Unicode [Section 2.2] qui sont toujours écrits en hexadécimal précédés de U+ comme U+2023 ou U+20AC.
La syntaxe de XML est relativement simple. Elle nécessite un effort très modéré pour son apprentissage. Elle est constituée de quelques règles pour l’écriture d’une entête et des balises pour structurer les données. Ces règles sont très similaires à celles du langage HTML utilisé pour les pages WEB mais elles sont, en même temps, plus générales et plus strictes. Elles sont plus générales car les noms des balises sont libres. Elles sont aussi plus strictes car elles imposent qu’à toute balise ouvrante corresponde une balise fermante.

1. Présentation de XML
1.1. Historique
1.2. Intérêts
1.3. Langages apparentés
1.4. Dialectes
1.5. DocBook
1.6. Conventions
2. Syntaxe de XML
2.1. Premier exemple
2.2. Caractères
2.3. URI, URL et URN
2.4. Syntaxe et structure
2.5. Composition globale d’un document
2.6. Prologue
2.7. Corps du document
2.8. Exemples minimaux
2.9. XInclude
3. DTD
3.1. Un premier exemple
3.2. Déclaration de la DTD
3.3. Contenu de la DTD
3.4. Commentaires
3.5. Entités
3.6. Déclaration d’élément
3.7. Déclaration d’attribut
3.8. Outils de validation
4. Espaces de noms
4.1. Introduction
4.2. Identification d’un espace de noms
4.3. Déclaration d’un espace de noms
4.4. Portée d’une déclaration
4.5. Espace de noms par défaut
4.6. Attributs
4.7. Espace de noms XML
4.8. Espaces de noms et DTD
4.9. Quelques espaces de noms classiques
5. Schémas XML
5.1. Introduction
5.2. Un premier exemple
5.3. Structure globale d’un schéma
5.4. Déclarations d’éléments
5.5. Définitions de types
5.6. Constructions de types
5.7. Déclarations d’attributs
5.8. Extension de types
5.9. Restriction de types
6. XPath
6.1. Données et environnement
6.2. Expressions de chemins
6.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
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

Cours gratuitTélécharger le cours complet

Télécharger aussi :

Laisser un commentaire

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *