La présentation est en train de télécharger. S'il vous plaît, attendez

La présentation est en train de télécharger. S'il vous plaît, attendez

Données structurées et XML

Présentations similaires


Présentation au sujet: "Données structurées et XML"— Transcription de la présentation:

1 Données structurées et XML
Qu’est ce qu’un document XML ? Comment traduire la structure d’un document en XML ? notion de DTD ( Définition d’un Type de Document)

2 Données structurées et XML
XML permet de représenter des données structurées: Données textuelles Organisées: on manipule un document constitué d ’éléments Un élément : un texte ou constitué d’autres éléments ou un mélange des deux . <livre>Hernani <editeur>Gallimard</editeur> </livre> Un élément peut être associé à des informations complémentaires , les attributs. La structure est celle d’un arbre; un élément un nœud de l’arbre.

3 Langage de balisage Les informations, isolées en éléments sont encadrées par une paire de balises (tags) et son contenu: < chapitre > …….< / chapitre> (intitulé de balise) Les balises ouvrantes portent les attributs( s’ils y en a ) < chapitre version = date = >….< / chapitre> L’imbrication et l’ordre des éléments reflètent la structure. Un document au format XML est un document texte constitué de balises.

4 XML ( extensible markup language)
Les principaux avantages de ce langage: Possibilité de définir librement les balises utilisées ( contrairement à HTML) Distinction claire de la forme et du contenu du document XML + XSL : représentation d’un document : ajouter des feuilles de style Facilité pour établir la correspondance entre les données du document et les systèmes de stockage des données.

5 Exemple de structure HTML
<HEAD> <TITLE>essai</TITLE> </HEAD> <BODY> <P>paragraphe </P> </BODY> </HTML>

6 Exemple But : stocker l’annuaire d’une administration ( nom, prénom, bureau , numéro de poste, ). Le texte du document: les informations. Organisation: ne pas mélanger les données: annuaire personne nom prénom bureau poste Rossi Fabrice 4823 Fabrice.Rossi @dauphine.fr B520

7 Exemple (suite) Traduction en XLM de l’arbre: annuaire.xml
<?xml version = « 1.0 » encoding= « ISO  »?> <annuaire> <personne> <nom> Rossi </nom> <prénom> Fabrice </prénom> <bureau> B520</bureau> <poste> 4823</poste> < > </ > </personne> <! – suite de l’annuaire --- </annuaire>

8 Exemple de fichier XML Hello.xml:
<?xml version = « 1.0 » standalone = « yes»?> < conversation> <bienvenue > Salut à vous </bienvenue> <réponse > Laissez moi seul </réponse> </conversation> 1. En tête obligatoire, instruction de traitement 2. Balise ouvrante ( la racine de l’arbre) début d’un nœud. 3. Un élément de l’arbre 4. Un élément de l’arbre de même niveau 5 . Balise fermante associée la ligne 2.

9 Arbre de l’exemple

10 Exemple de code en XML <?xml version=« 1.0 »?>
<!—ceci est un commentaire--> <article> <auteur> Boby Lapointe </auteur> <titre>Une introduction à xml</titre> <section> <titre>Présentation de xml</titre> <paragraphe>ce document est bien formé</paragraphe> </section> </article>

11 Documents xml bien formés
Les éléments: <truc> : balise ouvrante: 1. Doit toujours correspondre à une balise fermante , ici </truc> 2. Le texte entre <> est le nom de l’élément, constitué de lettres, chiffres,’.’, ‘-’,’_’ et ‘:’. Le contenu d’un nœud de l’arbre, d’un élément, entre balise ouvrante et balise fermante. <et_hop/> : balise mixte pour les éléments vides.

12 fragments xml mal formés
<a><b></a></b>: mal formé <p> bla, bla,bla <br> bla, bla, bla </p> :mal formé <nom.pas:très_bien-choisi/> : bien formé <a> contenu de l’élément </A> ( sensible à la casse): mal formé <un/truc> par exemple </un/truc> <pas texte=‘de problème’ > </pas> : bien formé L’attribut ( toujours dans une balise ouvrante) texte , sa valeur entre «  » ou ‘ ‘ .

13 Instructions xml Le document commence par une déclaration:
<?xml version = « 1.0 » encoding= « ISO  »?> <?xml version = « 1.0 » standalone = « yes»?> <?xml ?> est une déclaration L’attribut encoding précise l’encodage des caractères du document :ISO  , notre ascii français. L’attribut standalone précise si le document est seul ( sans DTD) ou non ( auquel cas une instruction <!Doctype … est nécessaire)

14 XML dans la pratique Structuration de documents
Description de présentation multimédia Echange de descriptions d’emploi et de CV Description de structures moléculaires Échange de données astronomiques Echange de données relatives aux assurances Echange de données sur les transactions immobilières

15 DTD : une grammaire qui définit et limite la structure du document
Les DTD assurent l’homogénéïté des documents Présentation pas de balise arbitraire pas d’information dans le mauvais ordre Echange de données entre applications être sûr que le document sera reconnu par le logiciel de traitement

16 La DTD : Définition d’un type de document
Un document XML peut posséder une Déclaration formelle de sa structure, une sorte de grammaire (avec des règles d’utilisation ) que doit respecter le document. La DTD de l’annuaire : < ! ELEMENT personne ( nom, prénom, bureau, poste, ?) > < ! ELEMENT nom (# PCDATA) > < ! ELEMENT prénom (# PCDATA) > < ! ELEMENT bureau (# PCDATA) > < ! ELEMENT poste (# PCDATA) > < ! ELEMENT (# PCDATA) > (PCDATA: Parsed Character DATA , chaîne de caractères analysée)

17 Documents générés < personne > < nom> Rossi </nom>
< prénom> Fabrice </prenom> <bureau> B520 </bureau> < poste> 4823 < / poste> < > </ > <personne>

18 Autre document généré < personne >
< nom> Rossi </nom> < prénom> Fabrice </prenom> <bureau> B520 </bureau> < poste> 4823 < / poste> <personne>

19 Les règles d’utilisation DTD
notations Opérateur signification + L’élément doit être présent au minimum une fois * L’élément peut être présent plusieurs fois (ou aucune) ? L’élément peut être optionnellement présent | L’élément A ou B peuvent être présents

20 Exemple commenté < ! ELEMENT carnet ( fiche *) >
L’élément carnet peut contenir un nombre arbitraire d’éléments fiche. < ! ELEMENT fiche ( nom, prénom, téléphone, *) L’élément fiche contient exactement un nom , un prénom, un téléphone, et autant de qu’on le souhaite (< ! ELEMENT nom (# PCDATA)> L’élément nom ne contient que du texte < ! ELEMENT téléphone (fixe| fax| portable) *> L’élément téléphone contient dans n’importe quel ordre et en n’importe quelle quantité des éléments: fixe, fax et portable.

21 DTD associé à un sommaire
< ! ELEMENT Sommaire ( Numéro, Date, RubriqueSommaire +)> < ! ELEMENT numéro (# PCDATA)> < ! ELEMENT date(# PCDATA)> < ! ELEMENT RubriqueSommaire( RubriqueTitre, ArticleSommaire+)> < ! ELEMENT RubriqueTitre(# PCDATA)> <! ELEMENT ArticleSommaire(ArticleTitre, ArticlePage)> < ! ELEMENT ArticleTitre (# PCDATA)> < ! ELEMENT ArticlePage (# PCDATA)> Construire l’arbre représentant ce sommaire :

22 Validité d’un document
Un document XML qui possède une DTD associée est dit valide s’il respecte les règles de grammaire. Un document XML est dit bien formé lorsque: toutes les balises ouvrantes ont une balise fermante associée Les balises sont correctement imbriquées.

23 Deux types de DTD Sous forme interne: la grammaire du document est placé au sein même du document. Sous forme externe: un fichier extérieur contient la grammaire du document .

24 Doc avec DTD interne <! DOCTYPE bibliothèque ] >
<?xml version = « 1.0  » ?> <! DOCTYPE bibliothèque [ < !ELEMENT bibliothèque ( livre+)> < !ELEMENT livre (Titre, auteur, ref)> < !ELEMENT Titre(# PCDATA)> < !ELEMENT auteur (# PCDATA)> < !ELEMENT ref (# PCDATA)> ] > <bibliothèque> <livre> <titre > Dune </titre> <auteur> Frank Heckbert </auteur> <ref> Fiction-H-1</ref> </livre> </bibliothèque>

25 Doc avec DTD externe biblio.dtd <?xml version = « 1.0 » ?>
<! DOCTYPE bibliothèque SYSTEM « biblio.dtd »> < bibliothèque> < livre> < titre > Dune </titre> < auteur> Frank Heckbert </auteur> <ref> Fiction-H-1</ref> < / livre> < / bibliothèque> < ! ELEMENT bibliothèque ( livre+)> < ! ELEMENT livre (Titre, auteur, ref)> < ! ELEMENT Titre( #PCDATA)> < ! ELEMENT auteur ( #PCDATA)> < ! ELEMENT ref ( #PCDATA)> biblio.dtd

26 Exemple (XML) disques.xml
1 <?xml version="1.0" encoding="ISO "?> 2 <!DOCTYPE disques SYSTEM "DisquesML.dtd"> 3 <disques> 4 <groupe > 5 <nom>MUSE</nom> 6 <membre>Matthew Bellamy</membre> 7 <membre>Dominic Howard</membre> 8 <membre>Chris Wolstenholme</membre> 9 </groupe> 10 <disque> 11 <interprete > TOTO </interprete> 12 <titre>Showbiz</titre> 13 </disque> 14 <disque> 15 <interprete> RIRI </interprete> 16 <titre>Origin of symmetry</titre> 17 </disque> 18 </disques>

27 Exemple (DTD) DisquesML.dtd
1 <?xml version="1.0" encoding="ISO "?> 2 <!ELEMENT disques (groupe*, disque*) > 3 <!ELEMENT groupe (nom,membre+) > 4 <!ELEMENT nom (#PCDATA) > 5 <!ELEMENT membre (#PCDATA) > 6 <!ELEMENT disque (interprete, titre)> 7<!ELEMENT interprete (#PCDATA) > 8 <!ELEMENT titre (#PCDATA) >

28 DTD INTERNE DTD interne :
1 <?xml version="1.0" encoding="ISO "?> 2 <!DOCTYPE carnet [ 3 <!-- contenu de la DTD --> 4 ]> le nom qui suit DOCTYPE est celui de l’élément racine

29 Décrire une conversation
Une DTD pour définir la structure d’un document XML, valide pour une conversation. [<?xml version="1.0" encoding="iso "?> <!DOCTYPE log [ <!ELEMENT log ( message*)> <!ELEMENT message (From, To, Text)> <!ELEMENT From (User)> <!ELEMENT To (User)> <!ELEMENT User( #PCDATA) > <!ELEMENT Text ( #PCDATA) > ]>


Télécharger ppt "Données structurées et XML"

Présentations similaires


Annonces Google