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.