Département de mathématique et informatique
PrEsenter par :Baich Marwa
Encadrer par : M.Belangour
Master SII
le langage XML
PLAN
1
I
Qu'est-ce que le XML ?II
ExempleIII
Grammaire et TypageIV
Les API : JDOM et SAX
V
Historique
Le format XSLT
VI
XML signifie Extensible Markup Language ;C’ est standard reconnu par le W3C depuis février 1998, Il est dérive du SGML dont il représente un sous ensemble, La version 1.0 est disponible depuis 1998
Historique XML
Le SGML à l'origine du XML
SGML (Standard Generalized Markup Language) (ISO 8879) est le langage de référence en GED.
SGML est devenu une norme internationale en 1986.
SGML permet de distinguer la structure d'un texte de son contenu.
décrire les données de manière aussi bien compréhensible par les hommes qui écrivent les documents XML que par les machines qui les exploitent.
Le XML se veut également compatible avec le web afin que les échanges de données puissent se faire facilement à travers le réseau Internet.
Le XML se veut donc standardisé, simple, mais surtout extensible et configurable afin que n'importe quel type de données puisse être décrit.
Les objectifs du XML
pourquoi xml ?
Spécifications de XML
Un document XML peut être représenté sous la forme d'un Arbre. Il possède une racine et chaque Elément représente un nœud.
eXtended Markup Language
le langage XML est un langage qui permet de décrire des données à l'aide de balises et de règles que l'on peut personnaliser.
EXEMPLE : STRUCTURATION D'UN RÉPERTOIRE
Votre répertoire doit comprendre au moins 2 personnes. Pour chaque personne, on souhaite connaître les informations suivantes :•Son sexe (homme ou femme).•Son nom.•Son prénom.•Son adresse.•Un ou plusieurs numéros de téléphone (téléphone portable, fixe, bureau, etc.).•Une ou plusieurs adresses e-mail (adresse personnelle, professionnelle, etc.).
eXtended Markup Language
Langage descriptif utilisant des éléments déclarés en utilisant des balises
<element attribute="value" />
<element attribute="value" > texte …&entité; …</element>
Élément
Attribut
Texte
Entité
Entête XML
Fichier XML toujours le même entête
Déclaration- version = 1.0- encoding = latin1
<?xml version="1.0" encoding="latin1"?>
<?xml version="1.0" encoding="UTF-8"?>
Grammaire et Typage
DTDdéfinie l’ensemble des éléments et attributs (pas XML)
XML Schémadéfinie les éléments, les attributs et leurs types.
( Document Type Définition) Elle va permettre de définir la structure interne d'un document XML,
Son l' utilisation est facultative.
Un document répondant à une DTD est dit VALIDE.
La Validation processus de vérification d’un document XML :
Les données sont dans le bonne ordre, Les données sont dans le bon format, Les champs obligatoires sont présents,….
Un document BIEN FORME n'est pas forcément VALIDE
La DTD peut prendre deux formes : soit interne, incluse dans une feuille XML ·soit externe, dans un fichier spécifique permettant sa réutilisation.
La DTD
EXEMPLE STRUCTURATION D'UN RÉPERTOIRE
Les défauts des DTD
Un nouveau format Le typage de données
Le typage des données
Les Schémas XML permettent tout d'abord de typer les données..
Les contraintesNous découvrirons aussi que les Schémas XML permettent d'être beaucoup plus précis que les DTD lors de l'écriture des différentes contraintes qui régissent un document XML.
Des définitions XMLUn des principaux avantages des Schémas XML est qu'ils s'écrivent grâce au XML. Ainsi, pour exploiter un document XML et le Schéma qui lui est associé, vous n'avez en théorie plus besoin de plusieurs outils.
1 2
XML Schéma
L'extension du fichier les Schémas XML soient écrits avec un langage de type XML, le fichier
n'a pas cette extension. Un fichier dans lequel est écrit un Schéma XML porte l'extension ".xsd".
Le prologue <?xml version="1.0" encoding="UTF-8" ?>
Structure d'un schéma XML
<nom>baich</nom><prenom>marwa</prenom><age>21</age>
XML
<xsd:element name="nom" type="xsd:string" /><xsd:element name="prenom" type="xsd:string" /><xsd:element name="age" type="xsd:int" />
XML Schéma
<personne sexe="masculin">Robert DUPONT</personne>
<xsd:attribut name="sexe" type="xsd:string" />
Pour indiquer une valeur par défaut c'est l'attribut default
Pour indiquer une valeur constante, c'est l'attribut fixed
Pour indiquer qu'un attribut est obligatoire la propriété use .à laquelle nous affectons la valeur required
<xsd:attribut name="prenom" type="xsd:string" use="required" />
Le format XSLT
(Extensible Stylesheet Language Transformations)
est un langage XML qui sert à passer d’un format XML à un autre format texte (XML, XHTML/HTML, CSV…).
Il existe deux recommandations du W3C respectivement pour des versions 1.0et 2.0. La version 1.0 reste davantage exploitée, au moment de la rédaction de cet ouvrage, que la version 2.0 pour plusieurs raisons :
• poids de l’existant ;• les navigateurs ne gèrent que la version 1.0 ;• encore trop peu de librairies pour la version 2.0.
XSLT 1.0 est fortement couplé à XPath 1.0 alors que XSLT 2.0 est associé à XPath 2.0.
L'extension du fichier
L'extension portée par les documents XSLT est ".xsl"
Le prologue
<?xml version="1.0" encoding="UTF-8" ?>
Le corps<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
</xsl:stylesheet>
Structure d'un document XSLT
l'élément racine espace de noms
Le parseur est l’élément de programmation le plus important, puisque c’est lui qui réalise le travail d’analyse du document XML. Son rôle est de vérifier la cohérence du documentXML (en termes syntaxique et/ou par rapport à un schéma ou une DTD) et de transmettreà l’application les informations utiles au traitement du document.
Les parseurs XML
La technologie SAX
SAX (Simple API for XML) définit un mode de communication entre le parseur et l’application, lié à un mécanisme événementiel
Étapes d’utilisation de SAX Création du modèle objet du document Création de SAX parseur Création de DocumentHandler pour changer le
document XML en instance du modèle objet
une application basée sur SAX peut gérer uniquement les éléments dont elle a besoin sans avoir à construire en mémoire une structure contenant l'intégralité du document. L'API SAX définit les quatre interfaces suivantes :
Document Handler possédant des méthodes renvoyant des événements relatifs au document :
Start Document() renvoyant un événement lié à l'ouverture du document Start Elément() renvoyant un événement lié à la rencontre d'un nouvel élément characters() renvoyant les caractères rencontrés end Elément() renvoyant un événement lié à la fin d'un élément end Document() renvoyant un événement lié à la fermeture du document ErrorHandler possédant des méthodes renvoyant des événements relatifs aux
erreurs ou aux avertissements DTDHandler renvoie des événements relatifs à la lecture de la DTD du document
XML EntityResolver permet de renvoyer une URL lorsqu'une URI est rencontrée
JDOM est une API du langage Java développée indépendamment de Sun Microsystems. Elle permet de manipuler des donnés XML plus simplement qu'avec les API classiques. Son utilisation est pratique pour tout développeur Java et repose sur les API XML de Sun. JDOM permet donc de construire des documents, XML, de naviguer dans leur structure, s'ajouter, de modifier, ou de supprimer leur contenu.
La technologie JDOM
Créer un document XML avec JDOM :
L’API JDOM
Il vous faut dans un premier temps télécharger la dernière version de JDOM . Il suffit ensuite de rendre accessible le fichier /build/jdom.jar, en le plaçant dans votre classpath.
Création d’un document XML avec JDOM:• Il suffit de construire chaque élément puis de les ajouter les uns aux autres de
façon logique. • Un nœud est une instance de org.jdom.Element. • Nous commençons donc par créer une classe JDOM1 qui va se charger de créer
l'arborescence suivante :
Solution
Merci pour votre Attention