xml

26
Département de mathématique et informatique PrEsenter par : Baich Marwa Encadrer par : M.Belangour Master SII le langage XML

Upload: marwa-baich

Post on 05-Apr-2017

13 views

Category:

Technology


0 download

TRANSCRIPT

Page 1: XML

Département de mathématique et informatique

PrEsenter par :Baich Marwa

Encadrer par : M.Belangour

Master SII

le langage XML

Page 2: 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

Page 3: XML

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.

Page 4: XML

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

Page 5: XML

pourquoi xml ?

Page 6: 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.

Page 7: XML

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.).

Page 8: XML

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é

Page 9: XML

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"?>

Page 10: XML

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.

Page 11: XML

( 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

Page 12: XML

EXEMPLE STRUCTURATION D'UN RÉPERTOIRE

Page 13: XML

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

Page 14: XML

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

Page 15: 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

Page 16: XML

<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" />

Page 17: XML

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.

Page 18: XML
Page 19: XML

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

Page 20: XML

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

Page 21: 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

Page 22: XML

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

Page 23: XML

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

Page 24: XML

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 :

Page 25: XML

Solution

Page 26: XML

Merci pour votre Attention