Architecture Orientée Service, La technologie XML : Notions nécessaires pour les Web Services

20
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

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.

Exercices d’application

Exercices d’application

Exercices d’application

Exercices d’application