Vous êtes sur la page 1sur 32

DEPARTEMENT ELECTRICITE ET MECANIQUE Cursus Ingnieur Semestre 4 : Informatique et Rseaux

Technologies XML pour lIntgration des donnes

Rima KILANY CHAMOUN

2011-2012

Plan du cours

Gnralits XML XML Namespaces Documents Valides: DTD Documents Valides: XML Schemas XPATH XSL XQuery SAX, DOM XML pipelining: XProc RDF OWL

Le language XML

Pourquoi XML?

Dfinir vos propres langages dchange

Commande, facture, bordereau de livraison, etc. Modle logique de donnes Elments typs agrgs (DTD, XML Schema) Passerelle avec Unified Modelling Language (UML)

Modliser des documents et des messages

Publier des informations

Neutre du point de vue format Mise en forme avec des feuilles de style
Auto-description des archives

Archiver des donnes

"Lingua Franca" du 21e sicle

Un standard d'change

Lisible : texte balis avec marquage Clair : sparation du fond et de la forme Extensible : supporte les volutions applicatives Scuris : chiffrement, signature Pour le Web (Internet, Intranet) S'tend l'entreprise et ses partenaires IBM, Microsoft, Oracle, BEA, etc. Des outils gnriques et ouverts

Dvelopp par le W3C


Support par les grands constructeurs


XML, langage de balisage

XML est un langage de balisage pour reprsenter des documents et des donnes structurs Document structur

Le document est considr comme une structure logique, plutt qu'une structure de prsentation Information ajoute au contenu pour marquer la structure logique prcd d'une balise de dbut: <titre> suivi d'une balise de fin: </titre>

Balises

Balisage redondant (maximal): Tout lment est


Exemple de balisage XML


<livre> <titre> Du ct de chez Swann </titre> <auteur> Marcel Proust </auteur> <chapitre> <para> Longtemps je me suis couch... </para> ... </chapitre> ... </livre>

Vocabulaire du monde XML (1/4)

URI (Uniform Resource Identifiers) : Cest une chane qui identifie une ressource concrte ou abstraite.

Ca peut tre une URL: Uniform Resource Locator (concrte) Ca peut tre une URN: Uniform Resource Name (ressource abstraite, globalement unique)

Exemples

urn:issn:1535-3613 http://www.info.univ-angers.fr Les URL sont des URI qui permettent en plus de localiser (daccder) la ressource. ftp, mailto uuid:04b749bf-3bb2-4dba-934c-c92c56b709df Cration dun identificateur unique de faon totalement dcentralise : adresse MAC + alatoire. Tout le monde peut crer des URI et des nouveaux schmas dURI. Non, car il peut tre question de ressources qui ne sont pas disponibles ( localisables ) sur le web, mais un concept, ou mme qqe chose qui existe dans le monde rel (un chien, un livre)

Donc URI = URL ?

urn:ISBN:1-85233-576-9

Vocabulaire du monde XML (2/4)


Une rfrence URI peut prendre la forme dune URI complte, ou juste une partie. Pour rsoudre une URI partir dune URI reference, la rfrence URI est convertie vers une forme absolue par la concatnation avec une URI de base absolue.

Dans HTML, lattribut src de llment img est une URI reference, ainsi que lattribut href dun lment de type lien.
Dans XML, lidentificateur system utilis aprs le mot-cl SYSTEM dans une DTD est une URI reference. Dans XSLT, la valeur de lattribut href de lelement/instruction xsl:import est une URI reference, ainsi que le premier argument de la fonction document().

Vocabulaire du monde XML (3/4)

Ressource

Unit ou service dinformation dsignable par un identificateur Elle peut exister en un ou plusieurs exemplaires Numrique ou non

Ex: une norme Ex: une URL / URI

Identifie de faon non ambigu:

Syntaxes et exemples

URI:
schema-name:schema-specific-part Ex:ftp://ftp.isi.edu/in-notes.txt

URN:
URN prefix:Namespace IDentifier part:Namespace Specific String Ex: urn:ISBN:1-85233-576-9

Vocabulaire du monde XML (4/4)

Entit

Objet physique

Ex: un fichier, un enregistrement dans une BD

Numrique et accessible par une application informatique.

Document

uvre de lesprit qui peut exister en plusieurs exemplaires et sous de nombreuses formes

Exemple: xml, pdf,


Exemple: un fichier xml, un fichier pdf,

Il existe sous forme de plusieurs entits

Un document devient ressource sil est identifi de manire unique.

Structure, contenu et prsentation

Trois aspects dans les documents :


Le contenu La structure logique La prsentation

XML permet de reprsenter les contenus textuels et la structure logique

Les autres contenus sont des ressources externes (photos, vido, sons...) La prsentation est dcrite par des moyens complmentaires (CSS, XSL) La prsentation peut changer, indpendamment des contenus et de la structure

Structure logique de documents


Dcoupage logique d'un document

Structure arborescente: structure hirarchique et ordonne

Structure dun Document XML

Un document XML est toujours compos de trois lments Un prologue (facultatif mais conseill)

<?xml version="1.0"?> <!DOCTYPE adresses ...> (utilis si le document doit tre valid) le contenu propre du document

Un arbre dlments

Eventuellement des commentaires (ne peuvent pas tre placs avant la dclaration XML)

<!-- ceci est un commentaire jusqu'ici -->

Syntaxe Distinction des minuscules et des majuscules Caractres interdits ou dconseilles dans les noms de tags (& et $ et ; et , et + et space )

Un Petit Exemple
<?xml version="1.0"?>
<adresses> <personne id="muellerh"> <nom>Mller</nom> <prenom>Henning</prenom> <rue>Rue Micheli-du Crest</rue> ... </personne> ... </adresses>

Le Prologue

Est-ce une PI?

Une dclaration XML <?xml version="1.0" encoding="ISO-8859-1" standalone="yes"?> Une dclaration de type de document indique le type de document auquel se conforme le document en question ( valider le document contre une DTD) <!DOCTYPE rapport SYSTEM "rapport.dtd"> Instructions de traitement: Format: <?target value?> //value -> plusieurs pseudo-attributes Une indication de traitement destine aux applications qui manipulent les documents Mcanisme pour passer des informations lapplication recevant les donnes xml

Ex. XSL <?xml-stylesheet type="text/xml" href="style.css"?>

Processing Instructions

Un document XML peut contenir plusieurs processing instructions pour diffrentes applications Ne font pas partie du document XML (ignors par le parser, passs lapplications cliente):

Le parser XML ne traite pas les processing instructions.

Ne peut pas tre plac dans une section CDATA. <? xml-stylesheet type=text/xsl href=usage.xsl ?> Target : xml-stylesheet Value: type=text/xsl href=usage.xsl Nimporte quel nom peut tre utilis comme Target (sauf le mot reserv xml, Xml ou XML) Si lapplication nutilise pas ces PI, elles nauront aucun effet.

LArbre dElments (1/2)

Un document XML est compos dlments Un lment se compose: Dune balise douverture: <balise> Un contenu (sous-arbre) Une balise de clture: </balise> A lexception des lment vides, un lment a toujours une balise douverture et de fermeture. Exemple <nom>contenu de llment</nom> nom =caractres alphanumriques ou _ ou - ou . rpts Si llment est vide il peut scrire uniquement avec la balise douverture avec un slash avant le chevron fermant Ex: <position/> Doivent commencer par une lettre ou _ Ne peuvent pas contenir des espaces ou des caractres de contrle (ex: & et $ et ; et , et + et space) Exemples permis: <html>, <id9832798472>,<_>, <>

Quel encoding faut-il utiliser? encoding=utf-8 ou ISO-8859-1?

LArbre dElments (2/2)

Tout lment fils de larbre est compltement inclus dans son pre

i.e. pas de recouvrement entre balises

Il existe un et un seul lment pre qui contient tous les autres : llment racine ou root
Exemple correct <annuaire> <personne> <nom>Pillou</nom> <prenom>Jean</prenom> </personne> <personne> <nom>VanHaute</nom> <prenom>Nicolas</prenom> </personne> </annuaire>

Exemple incorrect <personne> <nom>Pillou</nom> <prenom>Jean</prenom> </personne> <personne> <nom>VanHaute</nom> <prenom>Nicolas</prenom> </personne>

Attributs

doublet nom="valeur" qualifiant un lment


<balise attribut="valeur"> contenu </balise> <personne name="Michard" prenom=Alain surnom="ptit Alain" /> <elem attr="Single: "/> <elem attr='Double :" />

Les attributs peuvent utiliser les 2 types de guillemets


Ne pas inclure le caractre: & (sauf dans valeur, et juste pour utiliser une entit prdfinie).

Que donnerait cet exemple : <elem attr="Single ' and Double &quot;"/> Et celui-l: <li>Attribute using both kinds of quotes: <code>&lt;elem
attr="Single ' and Double &quot;"/></code></li>

5 Entits prdfinies pour reprsenter les 5 caractres spciaux

&lt; pour le caractre < &gt; pour le caractre > &amp; pour le caractre & &apos; pour le caractre &quot; pour le caractre " Utiliser &#n; ou n est un nombre (ASCII code)

Donnes

Constitues par un flot de caractres tous les caractres sont accepts sauf le caractre & et le caractre < Exemple : <auteurs>Victor Hugo<auteurs> Si lon souhaite insrer des caractres spciaux , il est prfrable dutiliser une section littrale ou CDATA <![CDATA[<aut&eurs>S. Fleury &amp; al.</auteurs>]]> qui ne gnre aucune erreur et se traduit en : <aut&eurs>S. Fleury &amp; al.</auteurs> au lieu de : <auteurs>S. Fleury & al.</auteurs> (bien sr sans le & aprs t) Utilise pour les blocs de texte ayant trop de <, > & ou " Exemple: Code source des langages de programmation

Exemple 1
<Restaurant Type="Franais" Categorie="***"> <Nom>Le Moulin de Mougin</Nom> <Manager ... >Dupuis</Manager> Franais <Adresse> @Type <No> 7</No> @Catgorie *** <Rue>Des Vignes</Rue> Le Moulin de Mougin Nom <Ville>Mougin</Ville> </Adresse> Restaurant Dupuis Manager </Restaurant>

No Adresse Rue Ville

7 Des Vignes

Mougin

Exemple 2
<?xml version="1.0" encoding="UTF-8"?> <element> <subelement attribute="value">Content</subelement> <subelement a2="value2">More Content</subelement> <empty-element a3="v3"></empty-element> <empty-element a4="v4" a5="v5"/> </element>

Le document XML est un arbre ayant diffrent type de nuds (pour le moment): document, element, attribute, text.

Contenu Mixed

Un lment contenant du texte ainsi que dautres lments.

Exemple: <p>The term <em>Mixed content</em> in XML refers to elements <a href="http://www.w3.org/TR/xml/#sec-mixed-content">which have text content mixed with elements</a>. What these elements do depends on the elements <img style="height : 1em" src="smiley.gif"/>, but the important point is that they are on the same level as the text nodes of the mixed content.</p>

Utilisation dun Contenu mixed

Les partisans de lapproche Database trouvent le contenu mixed irritant. Ca ne peut pas tre facilement mapp des structures relationnelles est plutot orient document que donnes Plus difficile optimiser dans le cas de lanalyse et le traitement de requtes. Les partisans de lapproche Document trouvent le contenu mixed intressant Le contenu textuel peut toujours tre utilis en tant que texte simple. Le markup fournit des informations additionnelles et enrichit le texte Commencent par un document de type text-only et utilise le markup pour y ajouter de la structure.

Whitespace

Les documents XML sont souvent pretty-printed Les Whitespace text nodes ne reprsentent pas un vrai contenu.

Les caractres XML whitespace sont: space, tab, newline, et le carriage return Un whitespace text node est un text node contenant seulement des caractres whitespace

Whitespace Significatif

Quelques whitespace text nodes sont importants Normalement ceux utiliss dans des lments de type mixed content

<p>Whitespace <i>can be</i> <u>very</u> <b>important</b>!</p>

Exemple complet

XML et le codage Unicode

Les applications peuvent utiliser nimporte quel codage Les processors XML doivent supporter UTF-8 et UTF-16 Les processors XML peuvent supporter dautres codages additionnels

XML et le codage Unicode

Les documents XML utilisent le codage Unicode qui dfinit plus que 100'000 caractres.

Conclusion

Les documents XML reprsentent des donnes structures par utilisation du markup. Elments et Attributs sont les mcanismes de structuration essentielles Elments et Attributs ont des noms, mais pas de smantique Pour utiliser XML avec succs, partager la smantique est essentiel Premire Tache -> Penser la smantique en vue de structurer linformation sous la forme dun fichier XML.

Vous aimerez peut-être aussi