Architecture Orientée Service, La technologie XML : Notions nécessaires pour les Web Services
Transcript of Architecture Orientée Service, La technologie XML : Notions nécessaires pour les Web Services
Architecture Orientée Service
Boussema Amina [email protected]
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 [email protected]
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 les Web Services
</Titre>
<Contenu>Ce cours introduit les éléments de base du formalisme XML
</Contenu>
</Support>
</Cours>
Très semblable à HTML !
Exemple
Avec XML, c’est à moi de créer mes propres balises en fonction de mes besoins.
En Html, les balises sont prédéfinies.
XML exige une syntaxe rigoureuse (n'accepte pas les erreurs)
XML permet l’échange des données entre les applications. HTML est dédié à la
présentation.
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
(Document Type 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 : Document Type 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.