SlideShare une entreprise Scribd logo
1  sur  20
Télécharger pour lire hors ligne
Architecture Orientée Service
Boussema Amina
Boussema.amina@gmail.com
Université de Sousse
---*---
Institut Supérieur de Gestion
---*---
TP
3ème année licence en informatique de gestion
Année : 2013-2014
La technologie XML
Notions nécessaires pour les Web
Services
Boussema Amina
Boussema.amina@gmail.com
Objectif Spécifique : Introduire le langage XML et
créer un document XML bien formé.
 Document XML
<?xml version="1.0" encoding="ISO-8859-1"?>
<!DOCTYPE Cours SYSTEM "Cours.dtd">
<Cours>
<Support année="2013">
<Auteur>A. Boussema</Auteur>
<Titre>La technologie XML : Notions nécessaires pour lesWeb Services
</Titre>
<Contenu>Ce cours introduit les éléments de base du formalisme XML
</Contenu>
</Support>
</Cours>
Très semblable à HTML !
Exemple
XML : eXensible Markup Language
Métalangage de balisage conçu vers 1997 afin de faciliter l'échange
de données via le Web
Non propriétaire et indépendant des plateformes, des systèmes
d'exploitation et de l’environnement de développement
Solution pour l’échange et la représentation de documents
structurés
Extensible et évolutif : les balises ne sont pas prédéfinies
Séparation entre contenu et forme
Langage strict : Syntaxe rigoureuse
Définition
<?xml version="1.0" encoding="ISO-8859-1" ?>
<!DOCTYPE carnet_adresse SYSTEM "carnet_adresse.dtd"> Entête du document
Corps du document
<carnet_adresse>
<personne>
<nom>Boussema</nom>
<prenom>Amina</prenom>
<ville>Sousse</ville>
</personne>
<personne>
<nom>Ben Salah</nom>
<prenom>Ali</prenom>
<ville>Tunis</ville>
</personne>
</carnet_adresse>
Structure d’un document XML
Personne
nom prenom ville
Boussema Amina Sousse
Personne
nom prenom ville
Ben Salah Ali Tunis
carnet_adresse
 Tout document XML comporte une racine
 Chaque élément d’un document XML peut contenir un ou
plusieurs éléments.
Élément Parent
Racine
Élément Fils
Forme arborescente
1. Tout document XML peut être précédé par un prologue :
<?xml version="1.0" encoding="ISO-8859-1"?>
 version : Numéro de la version de XML (1.0 ou 1.1)
 encoding : Codage de caractères : ISO-8859-1 ,UTF-8
2. On peut indiquer qu’un document est conforme à une DTD
(DocumentType Description) (Optionnelle)
<!DOCTYPE nom SYSTEM "sourceExt" >
3. La dernière composante d'un fichier XML est l'arbre des éléments
Structure d’un document XML
balise d’ouverture balise de fermeture
 Les Eléments (balises)
<!-- Ceci est un commentaire -- >
 Les commentaires
 Un élément constitutif d’un document XML peut être définit comme
suit : <balise> contenu de la balise</balise>
Exemple : <pays>Tunisie</pays>
 Un élément peut être vide
Exemple : <fleur source = " rose.gif "/>
Contrairement à HTML, dans XML la balise de fermeture est obligatoire.
Syntaxe du langage
Associer des informations aux éléments.
Exemple : <produit nom= " DVD" prix= " 500" >
 l’ordre des attributs n’est pas important
 La valeur de l’attribut doit obligatoirement être entre " " ou bien entre ‘ ‘.
 il ne peut pas y avoir deux attributs ayant le même nom dans un élément.
Exemple :
 <balise att1=’a’ att2=’b’> est équivalent à <balise att2=’b’ att1=’a’>
 <balise att=a> n’est pas bien formé: pas d’apostrophe
<balise attribut_1 ="text" attribut_2="text" >
 Les attributs
Syntaxe du langage
Un document XML doit commencer par une racine qui doit être
unique. La balise de cet élément racine se ferme à la fin du
document
<? xml version = "1.0" ?>
<catalogue>
<produit nom= "XXX" >
</produit>
</catalogue >
<? xml version = "1.0" ?>
<catalogue>
</catalogue >
<produit nom= "XXX" >
</produit>
Document valide syntaxiquement
1
Règles d’écriture des documents XML
Les balises d’ouverture et de fermeture des éléments fils doivent
être comprises entre les balises d’ouverture et de fermeture des
parents.
<? xml version = "1.0" ?>
<catalogue>
<produit nom= "XXX" >
</produit>
</catalogue >
<? xml version = "1.0" ?>
<catalogue>
<produit nom= "XXX" >
</ catalogue >
</produit>
Document valide syntaxiquement
2
Règles d’écriture des documents XML
Document valide syntaxiquement
Il faut respecter la casse des balises : xml fait la différence entre les
majuscules et les minuscules
<auteur> # <Auteur>
3
Document conforme à sa DTD
DTD : DocumentType Definition
 Toutes les balises utilisées sont définies dans la DTD
 Elles sont utilisées dans l'ordre indiqué dans la DTD
Règles d’écriture des documents XML
Conflit de noms
<? xml version = "1.0" ?>
<client>
<numero >100</numero>>
<nom>Ben Mohamed</nom>
<prénom>Ali</prénom>
</client >
<? xml version = "1.0" ?>
<commande>
<numero>C-4500</numero>
<produit>
…..
</produit>
</ commande>
Fusion des
2 documents
<? xml version = "1.0" ?>
<commande>
<numero>C-4500</numero>
<client>
<numero>100</numero>
<nom>Ben Mohamed</nom>
<prénom>Ali</prénom>
</client>
<produit>
…..
</produit>
</ commande>
Espace de noms : name-space
Un problème apparaît si on intègre deux textes XML dont les éléments
ont le même nom dans un même document
On déclare un espace de nom dans n’importe quelle balise par l’attribut
xmlns et par une URI : Uniform Resource Identifier.
<commande
xmlns:commande="http://www.mySite.com/catalogue"
xmlns:client="http://www.gouv/normes">
<commande:numéro>C-4500</commande:numéro>
<client>
<client:numéro>100</client:numéro>
<nom>Ben Mohamed</nom>
<prénom>Ali</prénom>
</client>
…
</commande>
Espace de noms : name-space
Exercice 1
Exercices d’application
1. A l’aide d’un éditeur du texte, créer un nouveau document XML nommé «biblio.xml» ayant le
contenu suivant :
<?xml version="1.0" encoding="ISO-8859-1"?>
<biblio>
<livre>
<!-- Élément enfant titre -->
<titre>Les Misérables</titre>
<auteur>Victor Hugo</auteur>
<nb_tomes>3</nb_tomes>
</livre>
<livre lang="en">
<titre>David Copperfield</titre>
<auteur>Charles Dickens</auteur>
</livre>
</biblio>
2. A l’aide d’un navigateur de votre choix, visualiser le document XML saisi
Exercice 2
Exercices d’application
1. Dans cette exercice, on va créer le même document XML mais en utilisant l’éditeur XMLSpy
Préparation de l’environnement de travail : XMLSpy
Altova XMLSpy est un éditeur et un environnement de développement (IDE) XML de référence.
Il permet la modélisation, l'édition, la transformation, et le débogage des technologies liées à XML.
Exercices d’application
Exercices d’application
Exercices d’application
Exercices d’application

Contenu connexe

Similaire à Architecture_Orientee_Service_La_technol.pdf

xml_bd_ouahdikrid.ppt
xml_bd_ouahdikrid.pptxml_bd_ouahdikrid.ppt
xml_bd_ouahdikrid.pptLeilaAmrane
 
Symfony2 - Un Framework PHP 5 Performant
Symfony2 - Un Framework PHP 5 PerformantSymfony2 - Un Framework PHP 5 Performant
Symfony2 - Un Framework PHP 5 PerformantHugo Hamon
 
Cours de développement web de HTML5 .pptx
Cours de développement web de HTML5 .pptxCours de développement web de HTML5 .pptx
Cours de développement web de HTML5 .pptxMounir Gouiouez
 
presentation de html partie par partie et detaillee.pptx
presentation de html partie par partie et detaillee.pptxpresentation de html partie par partie et detaillee.pptx
presentation de html partie par partie et detaillee.pptxBrahimKarimi
 
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 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
 
Normes de base du Web - GTI780 & MTI780 - ETS - A08
Normes de base du Web - GTI780 & MTI780 - ETS - A08Normes de base du Web - GTI780 & MTI780 - ETS - A08
Normes de base du Web - GTI780 & MTI780 - ETS - A08Claude Coulombe
 
Cyxml1 formation-xml-fondamentaux-decouvrir-les-documents-xml-xsl-css-dtd-et-...
Cyxml1 formation-xml-fondamentaux-decouvrir-les-documents-xml-xsl-css-dtd-et-...Cyxml1 formation-xml-fondamentaux-decouvrir-les-documents-xml-xsl-css-dtd-et-...
Cyxml1 formation-xml-fondamentaux-decouvrir-les-documents-xml-xsl-css-dtd-et-...CERTyou Formation
 
Cyxml1 formation-xml-fondamentaux-decouvrir-les-documents-xml-xsl-css-dtd-et-...
Cyxml1 formation-xml-fondamentaux-decouvrir-les-documents-xml-xsl-css-dtd-et-...Cyxml1 formation-xml-fondamentaux-decouvrir-les-documents-xml-xsl-css-dtd-et-...
Cyxml1 formation-xml-fondamentaux-decouvrir-les-documents-xml-xsl-css-dtd-et-...CERTyou Formation
 
developpement web HTML & CSS web Sémantique
developpement web HTML & CSS web Sémantiquedeveloppement web HTML & CSS web Sémantique
developpement web HTML & CSS web SémantiqueYounesOuladSayad1
 

Similaire à Architecture_Orientee_Service_La_technol.pdf (20)

xml_bd_ouahdikrid.ppt
xml_bd_ouahdikrid.pptxml_bd_ouahdikrid.ppt
xml_bd_ouahdikrid.ppt
 
Html
HtmlHtml
Html
 
Introduction à XML
Introduction à XMLIntroduction à XML
Introduction à XML
 
Cours html5
Cours html5Cours html5
Cours html5
 
Symfony2 - Un Framework PHP 5 Performant
Symfony2 - Un Framework PHP 5 PerformantSymfony2 - Un Framework PHP 5 Performant
Symfony2 - Un Framework PHP 5 Performant
 
Cours de développement web de HTML5 .pptx
Cours de développement web de HTML5 .pptxCours de développement web de HTML5 .pptx
Cours de développement web de HTML5 .pptx
 
Html css-xhtml
Html css-xhtmlHtml css-xhtml
Html css-xhtml
 
presentation de html partie par partie et detaillee.pptx
presentation de html partie par partie et detaillee.pptxpresentation de html partie par partie et detaillee.pptx
presentation de html partie par partie et detaillee.pptx
 
Atelier template
Atelier templateAtelier template
Atelier template
 
Introduction html
Introduction htmlIntroduction html
Introduction html
 
CSS 3
CSS 3CSS 3
CSS 3
 
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
 
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
 
Normes de base du Web - GTI780 & MTI780 - ETS - A08
Normes de base du Web - GTI780 & MTI780 - ETS - A08Normes de base du Web - GTI780 & MTI780 - ETS - A08
Normes de base du Web - GTI780 & MTI780 - ETS - A08
 
Présentation WPF
Présentation  WPFPrésentation  WPF
Présentation WPF
 
Cyxml1 formation-xml-fondamentaux-decouvrir-les-documents-xml-xsl-css-dtd-et-...
Cyxml1 formation-xml-fondamentaux-decouvrir-les-documents-xml-xsl-css-dtd-et-...Cyxml1 formation-xml-fondamentaux-decouvrir-les-documents-xml-xsl-css-dtd-et-...
Cyxml1 formation-xml-fondamentaux-decouvrir-les-documents-xml-xsl-css-dtd-et-...
 
Cyxml1 formation-xml-fondamentaux-decouvrir-les-documents-xml-xsl-css-dtd-et-...
Cyxml1 formation-xml-fondamentaux-decouvrir-les-documents-xml-xsl-css-dtd-et-...Cyxml1 formation-xml-fondamentaux-decouvrir-les-documents-xml-xsl-css-dtd-et-...
Cyxml1 formation-xml-fondamentaux-decouvrir-les-documents-xml-xsl-css-dtd-et-...
 
XML
XMLXML
XML
 
hassclic284.ppt
hassclic284.ppthassclic284.ppt
hassclic284.ppt
 
developpement web HTML & CSS web Sémantique
developpement web HTML & CSS web Sémantiquedeveloppement web HTML & CSS web Sémantique
developpement web HTML & CSS web Sémantique
 

Plus de RihabBENLAMINE

presentationatelierphpprt2-140314143938-phpapp02.pdf
presentationatelierphpprt2-140314143938-phpapp02.pdfpresentationatelierphpprt2-140314143938-phpapp02.pdf
presentationatelierphpprt2-140314143938-phpapp02.pdfRihabBENLAMINE
 
Tutoriel-PHP-Introduction-à-la-POoooooooooooO.pdf
Tutoriel-PHP-Introduction-à-la-POoooooooooooO.pdfTutoriel-PHP-Introduction-à-la-POoooooooooooO.pdf
Tutoriel-PHP-Introduction-à-la-POoooooooooooO.pdfRihabBENLAMINE
 
CM_PHP_PDOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOO.pdf
CM_PHP_PDOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOO.pdfCM_PHP_PDOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOO.pdf
CM_PHP_PDOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOO.pdfRihabBENLAMINE
 
10_interfacesjavaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa.pdf
10_interfacesjavaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa.pdf10_interfacesjavaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa.pdf
10_interfacesjavaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa.pdfRihabBENLAMINE
 
coursphp-chap3-230321082859-121d6678.pptx
coursphp-chap3-230321082859-121d6678.pptxcoursphp-chap3-230321082859-121d6678.pptx
coursphp-chap3-230321082859-121d6678.pptxRihabBENLAMINE
 
Cours3-PHPfgdwfwdffhddfbwdfwdfwdfwdfwfw.pdf
Cours3-PHPfgdwfwdffhddfbwdfwdfwdfwdfwfw.pdfCours3-PHPfgdwfwdffhddfbwdfwdfwdfwdfwfw.pdf
Cours3-PHPfgdwfwdffhddfbwdfwdfwdfwdfwfw.pdfRihabBENLAMINE
 
Virtualisation & Cloud. Cloud Computing. Iset Siliana RSI3..pdf
Virtualisation & Cloud. Cloud Computing. Iset Siliana RSI3..pdfVirtualisation & Cloud. Cloud Computing. Iset Siliana RSI3..pdf
Virtualisation & Cloud. Cloud Computing. Iset Siliana RSI3..pdfRihabBENLAMINE
 
416769859360_chap2fondementdesreseaux2023.pdf
416769859360_chap2fondementdesreseaux2023.pdf416769859360_chap2fondementdesreseaux2023.pdf
416769859360_chap2fondementdesreseaux2023.pdfRihabBENLAMINE
 
Interace Utilisateur.pdf
Interace Utilisateur.pdfInterace Utilisateur.pdf
Interace Utilisateur.pdfRihabBENLAMINE
 
Bases de données sous Android.pdf
Bases de données sous Android.pdfBases de données sous Android.pdf
Bases de données sous Android.pdfRihabBENLAMINE
 
Environnement Android.pdf
Environnement Android.pdfEnvironnement Android.pdf
Environnement Android.pdfRihabBENLAMINE
 
coursphp-230411142526-784b67e9.pdf
coursphp-230411142526-784b67e9.pdfcoursphp-230411142526-784b67e9.pdf
coursphp-230411142526-784b67e9.pdfRihabBENLAMINE
 
0519-pdf-php-bases-initiation.pdf
0519-pdf-php-bases-initiation.pdf0519-pdf-php-bases-initiation.pdf
0519-pdf-php-bases-initiation.pdfRihabBENLAMINE
 
introAndroid_2023_V6.5.2pp1-162.pdf
introAndroid_2023_V6.5.2pp1-162.pdfintroAndroid_2023_V6.5.2pp1-162.pdf
introAndroid_2023_V6.5.2pp1-162.pdfRihabBENLAMINE
 
016834638650_suitechap1.pptx
016834638650_suitechap1.pptx016834638650_suitechap1.pptx
016834638650_suitechap1.pptxRihabBENLAMINE
 
Chapitre 04-B - Langages de consultation.pdf
Chapitre 04-B - Langages de consultation.pdfChapitre 04-B - Langages de consultation.pdf
Chapitre 04-B - Langages de consultation.pdfRihabBENLAMINE
 

Plus de RihabBENLAMINE (20)

presentationatelierphpprt2-140314143938-phpapp02.pdf
presentationatelierphpprt2-140314143938-phpapp02.pdfpresentationatelierphpprt2-140314143938-phpapp02.pdf
presentationatelierphpprt2-140314143938-phpapp02.pdf
 
Tutoriel-PHP-Introduction-à-la-POoooooooooooO.pdf
Tutoriel-PHP-Introduction-à-la-POoooooooooooO.pdfTutoriel-PHP-Introduction-à-la-POoooooooooooO.pdf
Tutoriel-PHP-Introduction-à-la-POoooooooooooO.pdf
 
CM_PHP_PDOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOO.pdf
CM_PHP_PDOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOO.pdfCM_PHP_PDOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOO.pdf
CM_PHP_PDOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOO.pdf
 
10_interfacesjavaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa.pdf
10_interfacesjavaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa.pdf10_interfacesjavaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa.pdf
10_interfacesjavaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa.pdf
 
coursphp-chap3-230321082859-121d6678.pptx
coursphp-chap3-230321082859-121d6678.pptxcoursphp-chap3-230321082859-121d6678.pptx
coursphp-chap3-230321082859-121d6678.pptx
 
Cours3-PHPfgdwfwdffhddfbwdfwdfwdfwdfwfw.pdf
Cours3-PHPfgdwfwdffhddfbwdfwdfwdfwdfwfw.pdfCours3-PHPfgdwfwdffhddfbwdfwdfwdfwdfwfw.pdf
Cours3-PHPfgdwfwdffhddfbwdfwdfwdfwdfwfw.pdf
 
Virtualisation & Cloud. Cloud Computing. Iset Siliana RSI3..pdf
Virtualisation & Cloud. Cloud Computing. Iset Siliana RSI3..pdfVirtualisation & Cloud. Cloud Computing. Iset Siliana RSI3..pdf
Virtualisation & Cloud. Cloud Computing. Iset Siliana RSI3..pdf
 
416769859360_chap2fondementdesreseaux2023.pdf
416769859360_chap2fondementdesreseaux2023.pdf416769859360_chap2fondementdesreseaux2023.pdf
416769859360_chap2fondementdesreseaux2023.pdf
 
Interace Utilisateur.pdf
Interace Utilisateur.pdfInterace Utilisateur.pdf
Interace Utilisateur.pdf
 
Firebase.pdf
Firebase.pdfFirebase.pdf
Firebase.pdf
 
Bases de données sous Android.pdf
Bases de données sous Android.pdfBases de données sous Android.pdf
Bases de données sous Android.pdf
 
Les Activités.pdf
Les Activités.pdfLes Activités.pdf
Les Activités.pdf
 
Environnement Android.pdf
Environnement Android.pdfEnvironnement Android.pdf
Environnement Android.pdf
 
coursphp-230411142526-784b67e9.pdf
coursphp-230411142526-784b67e9.pdfcoursphp-230411142526-784b67e9.pdf
coursphp-230411142526-784b67e9.pdf
 
0519-pdf-php-bases-initiation.pdf
0519-pdf-php-bases-initiation.pdf0519-pdf-php-bases-initiation.pdf
0519-pdf-php-bases-initiation.pdf
 
introAndroid_2023_V6.5.2pp1-162.pdf
introAndroid_2023_V6.5.2pp1-162.pdfintroAndroid_2023_V6.5.2pp1-162.pdf
introAndroid_2023_V6.5.2pp1-162.pdf
 
016834638650_suitechap1.pptx
016834638650_suitechap1.pptx016834638650_suitechap1.pptx
016834638650_suitechap1.pptx
 
PHP_intro.pdf
PHP_intro.pdfPHP_intro.pdf
PHP_intro.pdf
 
Chapitre 04-B - Langages de consultation.pdf
Chapitre 04-B - Langages de consultation.pdfChapitre 04-B - Langages de consultation.pdf
Chapitre 04-B - Langages de consultation.pdf
 
chapitre-2.pptx.pdf
chapitre-2.pptx.pdfchapitre-2.pptx.pdf
chapitre-2.pptx.pdf
 

Architecture_Orientee_Service_La_technol.pdf

  • 1. Architecture Orientée Service Boussema Amina Boussema.amina@gmail.com Université de Sousse ---*--- Institut Supérieur de Gestion ---*--- TP 3ème année licence en informatique de gestion Année : 2013-2014
  • 2. La technologie XML Notions nécessaires pour les Web Services Boussema Amina Boussema.amina@gmail.com Objectif Spécifique : Introduire le langage XML et créer un document XML bien formé.
  • 3.  Document XML <?xml version="1.0" encoding="ISO-8859-1"?> <!DOCTYPE Cours SYSTEM "Cours.dtd"> <Cours> <Support année="2013"> <Auteur>A. Boussema</Auteur> <Titre>La technologie XML : Notions nécessaires pour lesWeb Services </Titre> <Contenu>Ce cours introduit les éléments de base du formalisme XML </Contenu> </Support> </Cours> Très semblable à HTML ! Exemple
  • 4. XML : eXensible Markup Language Métalangage de balisage conçu vers 1997 afin de faciliter l'échange de données via le Web Non propriétaire et indépendant des plateformes, des systèmes d'exploitation et de l’environnement de développement Solution pour l’échange et la représentation de documents structurés Extensible et évolutif : les balises ne sont pas prédéfinies Séparation entre contenu et forme Langage strict : Syntaxe rigoureuse Définition
  • 5. <?xml version="1.0" encoding="ISO-8859-1" ?> <!DOCTYPE carnet_adresse SYSTEM "carnet_adresse.dtd"> Entête du document Corps du document <carnet_adresse> <personne> <nom>Boussema</nom> <prenom>Amina</prenom> <ville>Sousse</ville> </personne> <personne> <nom>Ben Salah</nom> <prenom>Ali</prenom> <ville>Tunis</ville> </personne> </carnet_adresse> Structure d’un document XML
  • 6. Personne nom prenom ville Boussema Amina Sousse Personne nom prenom ville Ben Salah Ali Tunis carnet_adresse  Tout document XML comporte une racine  Chaque élément d’un document XML peut contenir un ou plusieurs éléments. Élément Parent Racine Élément Fils Forme arborescente
  • 7. 1. Tout document XML peut être précédé par un prologue : <?xml version="1.0" encoding="ISO-8859-1"?>  version : Numéro de la version de XML (1.0 ou 1.1)  encoding : Codage de caractères : ISO-8859-1 ,UTF-8 2. On peut indiquer qu’un document est conforme à une DTD (DocumentType Description) (Optionnelle) <!DOCTYPE nom SYSTEM "sourceExt" > 3. La dernière composante d'un fichier XML est l'arbre des éléments Structure d’un document XML
  • 8. balise d’ouverture balise de fermeture  Les Eléments (balises) <!-- Ceci est un commentaire -- >  Les commentaires  Un élément constitutif d’un document XML peut être définit comme suit : <balise> contenu de la balise</balise> Exemple : <pays>Tunisie</pays>  Un élément peut être vide Exemple : <fleur source = " rose.gif "/> Contrairement à HTML, dans XML la balise de fermeture est obligatoire. Syntaxe du langage
  • 9. Associer des informations aux éléments. Exemple : <produit nom= " DVD" prix= " 500" >  l’ordre des attributs n’est pas important  La valeur de l’attribut doit obligatoirement être entre " " ou bien entre ‘ ‘.  il ne peut pas y avoir deux attributs ayant le même nom dans un élément. Exemple :  <balise att1=’a’ att2=’b’> est équivalent à <balise att2=’b’ att1=’a’>  <balise att=a> n’est pas bien formé: pas d’apostrophe <balise attribut_1 ="text" attribut_2="text" >  Les attributs Syntaxe du langage
  • 10. Un document XML doit commencer par une racine qui doit être unique. La balise de cet élément racine se ferme à la fin du document <? xml version = "1.0" ?> <catalogue> <produit nom= "XXX" > </produit> </catalogue > <? xml version = "1.0" ?> <catalogue> </catalogue > <produit nom= "XXX" > </produit> Document valide syntaxiquement 1 Règles d’écriture des documents XML
  • 11. Les balises d’ouverture et de fermeture des éléments fils doivent être comprises entre les balises d’ouverture et de fermeture des parents. <? xml version = "1.0" ?> <catalogue> <produit nom= "XXX" > </produit> </catalogue > <? xml version = "1.0" ?> <catalogue> <produit nom= "XXX" > </ catalogue > </produit> Document valide syntaxiquement 2 Règles d’écriture des documents XML
  • 12. Document valide syntaxiquement Il faut respecter la casse des balises : xml fait la différence entre les majuscules et les minuscules <auteur> # <Auteur> 3 Document conforme à sa DTD DTD : DocumentType Definition  Toutes les balises utilisées sont définies dans la DTD  Elles sont utilisées dans l'ordre indiqué dans la DTD Règles d’écriture des documents XML
  • 13. Conflit de noms <? xml version = "1.0" ?> <client> <numero >100</numero>> <nom>Ben Mohamed</nom> <prénom>Ali</prénom> </client > <? xml version = "1.0" ?> <commande> <numero>C-4500</numero> <produit> ….. </produit> </ commande> Fusion des 2 documents <? xml version = "1.0" ?> <commande> <numero>C-4500</numero> <client> <numero>100</numero> <nom>Ben Mohamed</nom> <prénom>Ali</prénom> </client> <produit> ….. </produit> </ commande> Espace de noms : name-space
  • 14. Un problème apparaît si on intègre deux textes XML dont les éléments ont le même nom dans un même document On déclare un espace de nom dans n’importe quelle balise par l’attribut xmlns et par une URI : Uniform Resource Identifier. <commande xmlns:commande="http://www.mySite.com/catalogue" xmlns:client="http://www.gouv/normes"> <commande:numéro>C-4500</commande:numéro> <client> <client:numéro>100</client:numéro> <nom>Ben Mohamed</nom> <prénom>Ali</prénom> </client> … </commande> Espace de noms : name-space
  • 15. Exercice 1 Exercices d’application 1. A l’aide d’un éditeur du texte, créer un nouveau document XML nommé «biblio.xml» ayant le contenu suivant : <?xml version="1.0" encoding="ISO-8859-1"?> <biblio> <livre> <!-- Élément enfant titre --> <titre>Les Misérables</titre> <auteur>Victor Hugo</auteur> <nb_tomes>3</nb_tomes> </livre> <livre lang="en"> <titre>David Copperfield</titre> <auteur>Charles Dickens</auteur> </livre> </biblio> 2. A l’aide d’un navigateur de votre choix, visualiser le document XML saisi
  • 16. Exercice 2 Exercices d’application 1. Dans cette exercice, on va créer le même document XML mais en utilisant l’éditeur XMLSpy Préparation de l’environnement de travail : XMLSpy Altova XMLSpy est un éditeur et un environnement de développement (IDE) XML de référence. Il permet la modélisation, l'édition, la transformation, et le débogage des technologies liées à XML.