SlideShare une entreprise Scribd logo
1  sur  26
Département de mathématique et informatique
PrEsenter par :
Baich Marwa
Encadrer par :
M.Belangour
Master SII
1
I
Qu'est-ce que le XML ?
Exemple
III
Grammaire et Typage
IV
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
 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"?>
 DTD
définie l’ensemble des éléments et attributs (pas XML)
 XML Schéma
dé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 contraintes
Nous 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 XML
Un 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
extension. Un fichier dans lequel est écrit un Schéma XML porte l'extension
 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" />
(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.0
et 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 document
XML (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.
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
XML

Contenu connexe

Tendances

Using redmine as a sla ticketing system, helpdesk or service desk software
Using redmine as a sla ticketing system, helpdesk or service desk softwareUsing redmine as a sla ticketing system, helpdesk or service desk software
Using redmine as a sla ticketing system, helpdesk or service desk softwareAleksandar Pavic
 
Web api using rest based architecture
Web api using rest based architectureWeb api using rest based architecture
Web api using rest based architectureSoham Kulkarni
 
Cypress Automation Testing Tutorial (Part 1).pdf
Cypress Automation Testing Tutorial (Part 1).pdfCypress Automation Testing Tutorial (Part 1).pdf
Cypress Automation Testing Tutorial (Part 1).pdfbacancytechnology
 
Java11 New Features
Java11 New FeaturesJava11 New Features
Java11 New FeaturesHaim Michael
 
eServices-Tp2: bpel
eServices-Tp2: bpeleServices-Tp2: bpel
eServices-Tp2: bpelLilia Sfaxi
 
.Net framework vs .net core a complete comparison
.Net framework vs .net core  a complete comparison.Net framework vs .net core  a complete comparison
.Net framework vs .net core a complete comparisonKaty Slemon
 
Angular Framework présentation PPT LIGHT
Angular Framework présentation PPT LIGHTAngular Framework présentation PPT LIGHT
Angular Framework présentation PPT LIGHTtayebbousfiha1
 
Alfresco In An Hour - Document Management, Web Content Management, and Collab...
Alfresco In An Hour - Document Management, Web Content Management, and Collab...Alfresco In An Hour - Document Management, Web Content Management, and Collab...
Alfresco In An Hour - Document Management, Web Content Management, and Collab...Alfresco Software
 
Entity framework code first
Entity framework code firstEntity framework code first
Entity framework code firstConfiz
 
Kubernetes Workshop
Kubernetes WorkshopKubernetes Workshop
Kubernetes Workshoploodse
 
Epreuve concours génie informatique
Epreuve concours génie informatiqueEpreuve concours génie informatique
Epreuve concours génie informatiquebeware_17
 
CI and CD with Jenkins
CI and CD with JenkinsCI and CD with Jenkins
CI and CD with JenkinsMartin Málek
 
Reporting with Oracle Application Express (APEX)
Reporting with Oracle Application Express (APEX)Reporting with Oracle Application Express (APEX)
Reporting with Oracle Application Express (APEX)Dimitri Gielis
 

Tendances (20)

Microservice architecture
Microservice architectureMicroservice architecture
Microservice architecture
 
Jenkins Pipelines
Jenkins PipelinesJenkins Pipelines
Jenkins Pipelines
 
Getting started with entity framework
Getting started with entity framework Getting started with entity framework
Getting started with entity framework
 
Using redmine as a sla ticketing system, helpdesk or service desk software
Using redmine as a sla ticketing system, helpdesk or service desk softwareUsing redmine as a sla ticketing system, helpdesk or service desk software
Using redmine as a sla ticketing system, helpdesk or service desk software
 
Web api using rest based architecture
Web api using rest based architectureWeb api using rest based architecture
Web api using rest based architecture
 
Cypress Automation Testing Tutorial (Part 1).pdf
Cypress Automation Testing Tutorial (Part 1).pdfCypress Automation Testing Tutorial (Part 1).pdf
Cypress Automation Testing Tutorial (Part 1).pdf
 
BDD with Cucumber
BDD with CucumberBDD with Cucumber
BDD with Cucumber
 
Java11 New Features
Java11 New FeaturesJava11 New Features
Java11 New Features
 
Docker and Devops
Docker and DevopsDocker and Devops
Docker and Devops
 
eServices-Tp2: bpel
eServices-Tp2: bpeleServices-Tp2: bpel
eServices-Tp2: bpel
 
.Net framework vs .net core a complete comparison
.Net framework vs .net core  a complete comparison.Net framework vs .net core  a complete comparison
.Net framework vs .net core a complete comparison
 
Modele mvc
Modele mvcModele mvc
Modele mvc
 
Angular Framework présentation PPT LIGHT
Angular Framework présentation PPT LIGHTAngular Framework présentation PPT LIGHT
Angular Framework présentation PPT LIGHT
 
Alfresco In An Hour - Document Management, Web Content Management, and Collab...
Alfresco In An Hour - Document Management, Web Content Management, and Collab...Alfresco In An Hour - Document Management, Web Content Management, and Collab...
Alfresco In An Hour - Document Management, Web Content Management, and Collab...
 
Entity framework code first
Entity framework code firstEntity framework code first
Entity framework code first
 
Kubernetes Workshop
Kubernetes WorkshopKubernetes Workshop
Kubernetes Workshop
 
Introduction to spring boot
Introduction to spring bootIntroduction to spring boot
Introduction to spring boot
 
Epreuve concours génie informatique
Epreuve concours génie informatiqueEpreuve concours génie informatique
Epreuve concours génie informatique
 
CI and CD with Jenkins
CI and CD with JenkinsCI and CD with Jenkins
CI and CD with Jenkins
 
Reporting with Oracle Application Express (APEX)
Reporting with Oracle Application Express (APEX)Reporting with Oracle Application Express (APEX)
Reporting with Oracle Application Express (APEX)
 

En vedette

Les règles de passage
Les règles de passageLes règles de passage
Les règles de passagemarwa baich
 
diagramme d'activité
diagramme d'activitédiagramme d'activité
diagramme d'activitémarwa baich
 
Ionic, AngularJS,Cordova,NodeJS,Sass
Ionic, AngularJS,Cordova,NodeJS,SassIonic, AngularJS,Cordova,NodeJS,Sass
Ionic, AngularJS,Cordova,NodeJS,Sassmarwa baich
 
Tp création-dune-ontologie
Tp création-dune-ontologieTp création-dune-ontologie
Tp création-dune-ontologiemarwa baich
 
XML and Web Services with PHP5 and PEAR
XML and Web Services with PHP5 and PEARXML and Web Services with PHP5 and PEAR
XML and Web Services with PHP5 and PEARStephan Schmidt
 
Java script at backend nodejs
Java script at backend   nodejsJava script at backend   nodejs
Java script at backend nodejsAmit Thakkar
 
XML.ppt
XML.pptXML.ppt
XML.pptbutest
 
Neurobollocks: el nuevo aceite de serpiente
Neurobollocks: el nuevo aceite de serpienteNeurobollocks: el nuevo aceite de serpiente
Neurobollocks: el nuevo aceite de serpientePablo Garaizar
 
Nodejs Event Driven Concurrency for Web Applications
Nodejs Event Driven Concurrency for Web ApplicationsNodejs Event Driven Concurrency for Web Applications
Nodejs Event Driven Concurrency for Web ApplicationsGanesh Iyer
 
XML, DTD & XSD Overview
XML, DTD & XSD OverviewXML, DTD & XSD Overview
XML, DTD & XSD OverviewPradeep Rapolu
 
Doctrine 2 - Not The Same Old Php Orm
Doctrine 2 - Not The Same Old Php OrmDoctrine 2 - Not The Same Old Php Orm
Doctrine 2 - Not The Same Old Php OrmJonathan Wage
 

En vedette (20)

hbase lab
hbase labhbase lab
hbase lab
 
Les règles de passage
Les règles de passageLes règles de passage
Les règles de passage
 
Eucalyptus
EucalyptusEucalyptus
Eucalyptus
 
diagramme d'activité
diagramme d'activitédiagramme d'activité
diagramme d'activité
 
Ionic, AngularJS,Cordova,NodeJS,Sass
Ionic, AngularJS,Cordova,NodeJS,SassIonic, AngularJS,Cordova,NodeJS,Sass
Ionic, AngularJS,Cordova,NodeJS,Sass
 
LVM "Linux "
LVM  "Linux "LVM  "Linux "
LVM "Linux "
 
Tp création-dune-ontologie
Tp création-dune-ontologieTp création-dune-ontologie
Tp création-dune-ontologie
 
Session 1
Session 1Session 1
Session 1
 
Parsing XML in J2ME
Parsing XML in J2MEParsing XML in J2ME
Parsing XML in J2ME
 
Html basic
Html basicHtml basic
Html basic
 
XML
XMLXML
XML
 
XML and Web Services with PHP5 and PEAR
XML and Web Services with PHP5 and PEARXML and Web Services with PHP5 and PEAR
XML and Web Services with PHP5 and PEAR
 
Java script at backend nodejs
Java script at backend   nodejsJava script at backend   nodejs
Java script at backend nodejs
 
Java XML Parsing
Java XML ParsingJava XML Parsing
Java XML Parsing
 
XML.ppt
XML.pptXML.ppt
XML.ppt
 
Neurobollocks: el nuevo aceite de serpiente
Neurobollocks: el nuevo aceite de serpienteNeurobollocks: el nuevo aceite de serpiente
Neurobollocks: el nuevo aceite de serpiente
 
Nodejs Event Driven Concurrency for Web Applications
Nodejs Event Driven Concurrency for Web ApplicationsNodejs Event Driven Concurrency for Web Applications
Nodejs Event Driven Concurrency for Web Applications
 
Hive ppt (1)
Hive ppt (1)Hive ppt (1)
Hive ppt (1)
 
XML, DTD & XSD Overview
XML, DTD & XSD OverviewXML, DTD & XSD Overview
XML, DTD & XSD Overview
 
Doctrine 2 - Not The Same Old Php Orm
Doctrine 2 - Not The Same Old Php OrmDoctrine 2 - Not The Same Old Php Orm
Doctrine 2 - Not The Same Old Php Orm
 

Similaire à XML

Cours XML_2019_final (1).ppt
Cours XML_2019_final (1).pptCours XML_2019_final (1).ppt
Cours XML_2019_final (1).pptManalAg
 
XML Avancé : DTD, XSD, XPATH, XSLT, XQuery
XML Avancé : DTD, XSD, XPATH, XSLT, XQueryXML Avancé : DTD, XSD, XPATH, XSLT, XQuery
XML Avancé : DTD, XSD, XPATH, XSLT, XQueryRachid NID SAID
 
1- XML généralités technologies xml1.pdf
1- XML généralités technologies xml1.pdf1- XML généralités technologies xml1.pdf
1- XML généralités technologies xml1.pdfKokitaKaty
 
Environnements & Développements
Environnements & DéveloppementsEnvironnements & Développements
Environnements & DéveloppementsPaulin CHOUDJA
 
Xml elgarrai 2020
Xml elgarrai 2020Xml elgarrai 2020
Xml elgarrai 2020OmarIz1
 
2014 09 12_atelier-humanites-numerique-hisoma-seance-1-oxygen
2014 09 12_atelier-humanites-numerique-hisoma-seance-1-oxygen2014 09 12_atelier-humanites-numerique-hisoma-seance-1-oxygen
2014 09 12_atelier-humanites-numerique-hisoma-seance-1-oxygenEmmanuelle Morlock
 
XML.pdf
XML.pdfXML.pdf
XML.pdfANBRI1
 
Modèles de données et langages de description ouverts 2021-2022 - 2
Modèles de données et langages de description ouverts   2021-2022 - 2Modèles de données et langages de description ouverts   2021-2022 - 2
Modèles de données et langages de description ouverts 2021-2022 - 2François-Xavier Boffy
 
Xml un panorama
Xml un panoramaXml un panorama
Xml un panoramacamelus
 
Xml un panorama
Xml un panoramaXml un panorama
Xml un panoramahrenel
 
Xml un panorama
Xml un panoramaXml un panorama
Xml un panoramallobel
 
Génération de documents Office avec Open XML et VSTO
Génération de documents Office avec Open XML et VSTOGénération de documents Office avec Open XML et VSTO
Génération de documents Office avec Open XML et VSTOguested7f6
 
xml_bd_ouahdikrid.ppt
xml_bd_ouahdikrid.pptxml_bd_ouahdikrid.ppt
xml_bd_ouahdikrid.pptLeilaAmrane
 
interface graphique mobile.pdf
interface graphique mobile.pdfinterface graphique mobile.pdf
interface graphique mobile.pdfYasmineChihab1
 

Similaire à XML (20)

Introduction à XML
Introduction à XMLIntroduction à XML
Introduction à XML
 
Cours XML_2019_final (1).ppt
Cours XML_2019_final (1).pptCours XML_2019_final (1).ppt
Cours XML_2019_final (1).ppt
 
XML Avancé : DTD, XSD, XPATH, XSLT, XQuery
XML Avancé : DTD, XSD, XPATH, XSLT, XQueryXML Avancé : DTD, XSD, XPATH, XSLT, XQuery
XML Avancé : DTD, XSD, XPATH, XSLT, XQuery
 
1- XML généralités technologies xml1.pdf
1- XML généralités technologies xml1.pdf1- XML généralités technologies xml1.pdf
1- XML généralités technologies xml1.pdf
 
Environnements & Développements
Environnements & DéveloppementsEnvironnements & Développements
Environnements & Développements
 
Xml elgarrai 2020
Xml elgarrai 2020Xml elgarrai 2020
Xml elgarrai 2020
 
2014 09 12_atelier-humanites-numerique-hisoma-seance-1-oxygen
2014 09 12_atelier-humanites-numerique-hisoma-seance-1-oxygen2014 09 12_atelier-humanites-numerique-hisoma-seance-1-oxygen
2014 09 12_atelier-humanites-numerique-hisoma-seance-1-oxygen
 
1 introduction
1 introduction1 introduction
1 introduction
 
Support de cours technologie et application m.youssfi
Support de cours technologie et application m.youssfiSupport de cours technologie et application m.youssfi
Support de cours technologie et application m.youssfi
 
XML.pdf
XML.pdfXML.pdf
XML.pdf
 
XML.pdf
XML.pdfXML.pdf
XML.pdf
 
Modèles de données et langages de description ouverts 2021-2022 - 2
Modèles de données et langages de description ouverts   2021-2022 - 2Modèles de données et langages de description ouverts   2021-2022 - 2
Modèles de données et langages de description ouverts 2021-2022 - 2
 
Xml un panorama
Xml un panoramaXml un panorama
Xml un panorama
 
Xml un panorama
Xml un panoramaXml un panorama
Xml un panorama
 
Xml un panorama
Xml un panoramaXml un panorama
Xml un panorama
 
Xml un panorama
Xml un panoramaXml un panorama
Xml un panorama
 
Génération de documents Office avec Open XML et VSTO
Génération de documents Office avec Open XML et VSTOGénération de documents Office avec Open XML et VSTO
Génération de documents Office avec Open XML et VSTO
 
xml_bd_ouahdikrid.ppt
xml_bd_ouahdikrid.pptxml_bd_ouahdikrid.ppt
xml_bd_ouahdikrid.ppt
 
interface graphique mobile.pdf
interface graphique mobile.pdfinterface graphique mobile.pdf
interface graphique mobile.pdf
 
XML
XMLXML
XML
 

XML

  • 1. Département de mathématique et informatique PrEsenter par : Baich Marwa Encadrer par : M.Belangour Master SII
  • 2. 1 I Qu'est-ce que le XML ? Exemple III Grammaire et Typage IV Les API : JDOM et SAX V Historique Le format XSLT VI
  • 3.  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  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.
  • 4.  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
  • 6. 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.
  • 7. 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.).
  • 8. 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é
  • 9. 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"?>
  • 10.  DTD définie l’ensemble des éléments et attributs (pas XML)  XML Schéma définie les éléments, les attributs et leurs types.
  • 11. ( 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
  • 13. 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 contraintes Nous 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 XML Un 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
  • 14.  L'extension du fichier  les Schémas XML soient écrits avec un langage de type XML, le fichier n'a pas extension. Un fichier dans lequel est écrit un Schéma XML porte l'extension  Le prologue  <?xml version="1.0" encoding="UTF-8" ?> Structure d'un schéma XML
  • 15. <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
  • 16. <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" />
  • 17. (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.0 et 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.
  • 18.
  • 19.  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
  • 20. 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 document XML (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.
  • 21. 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
  • 22.  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
  • 23. 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
  • 24. 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 :

Notes de l'éditeur

  1. XSLT ou eXtensible Stylesheet Language Transformations est une technologie qui permet de transformer les informations d'un document XML vers un autre type de document comme un autre document XML ou encore une page web. C'est d'ailleurs ce dernier cas que nous aborderons au cours de cette partie
  2. Le principe de fonctionnement est assez simple : un document XSLT est associé à un document XML afin de créer un nouveau document d'une nature différente ou identique
  3. L'extension du fichier Comme c'était le cas pour les DTD et les schémas XML, nous allons prendre l'habitude d'écrire nosdocuments XSLT dans un fichier distinct du document XML dont les données seront transformées. L'extension portée par les documents XSLT est ".xsl". Le prologue Puisque la technologie XSLT utilise un langage de type XML, nous n'allons pas déroger à la règle duprologue. Ainsi, la première ligne d'un document XSLT est :