eXtensibleMarkup
Language
V. Augusto
1/65
Introduction
Panorama destechnologiesXML
Decouverte deXML
Principesfondamentaux
Exemplesd’applicationsXML
Apports de XML
RecommandationXML 1.0
Mecanisme desDTD
XML Schema
Conclusion
eXtensible Markup Language
Vincent Augusto
Ecole Nationale Superieure des Mines de Saint-Etienne
2008-2009
eXtensibleMarkup
Language
V. Augusto
2/65
Introduction
Panorama destechnologiesXML
Decouverte deXML
Principesfondamentaux
Exemplesd’applicationsXML
Apports de XML
RecommandationXML 1.0
Mecanisme desDTD
XML Schema
Conclusion
1 Introduction
2 Panorama des technologies XML
3 Decouverte de XMLPrincipes fondamentauxExemples d’applications XMLApports de XMLRecommandation XML 1.0Mecanisme des DTDXML Schema
4 Conclusion
eXtensibleMarkup
Language
V. Augusto
3/65
Introduction
Panorama destechnologiesXML
Decouverte deXML
Principesfondamentaux
Exemplesd’applicationsXML
Apports de XML
RecommandationXML 1.0
Mecanisme desDTD
XML Schema
Conclusion
Introduction
XML est...
• un format universel pour les documents et donnees(semi-)structures sur le web.
• une version simplifiee de SGML (ISO 8879).
• le successeur de HTML.
• un meta-langage pour definir des langages de balises.
• a l’origine d’une nouvelle famille de standards : XLink,Xpointer, SOAP, XQuery, etc.
eXtensibleMarkup
Language
V. Augusto
4/65
Introduction
Panorama destechnologiesXML
Decouverte deXML
Principesfondamentaux
Exemplesd’applicationsXML
Apports de XML
RecommandationXML 1.0
Mecanisme desDTD
XML Schema
Conclusion
Origine
• Travail cooperatif d’un grand nombre d’entreprises et dechercheurs.
• Developpement et promotion par le W3C.
• Industriels : Oracle, IBM, Compaq, Microsoft...
• Laboratoires de recherche : MIT, INRIA, Universite deKeio (Japon).
Objectif :
Definir un formalisme pour faciliter l’echange de donnees sur leweb.
eXtensibleMarkup
Language
V. Augusto
5/65
Introduction
Panorama destechnologiesXML
Decouverte deXML
Principesfondamentaux
Exemplesd’applicationsXML
Apports de XML
RecommandationXML 1.0
Mecanisme desDTD
XML Schema
Conclusion
Origine
Successeur du HTML (HyperText Markup Language) :
• Ensemble predefini et limite de balises.
• L’affichage d’un document est fortement dependant del’interpretation qu’en fait le navigateur.
• Une fois cree, le document est lie a une norme. Indexationdifficile.
Heritier du SGML (Standardized Generalized MarkupLanguage) :
• Tres utilise en documentation technique.
• Trop complexe pour une utilisation grand public.
• XML utilise 10 % de SGML pour representer efficacementla plupart des besoins des applications.
eXtensibleMarkup
Language
V. Augusto
6/65
Introduction
Panorama destechnologiesXML
Decouverte deXML
Principesfondamentaux
Exemplesd’applicationsXML
Apports de XML
RecommandationXML 1.0
Mecanisme desDTD
XML Schema
Conclusion
Connexion de deux univers
Gestion de documents :
• SGML.
• Documentationhypertexte.
• HTML.
Gestion de donnees :
• Bases de donneesstructurees (relationnelleset objet).
• Entrepots de donnees.
⇒ XML
• Un document XML est un ensemble imbrique d’elementsrepresentes par un arbre etiquete.
• Un document XML possede plusieurs composants(attributs, entites, etc.) pour structurer documents etdonnees.
eXtensibleMarkup
Language
V. Augusto
7/65
Introduction
Panorama destechnologiesXML
Decouverte deXML
Principesfondamentaux
Exemplesd’applicationsXML
Apports de XML
RecommandationXML 1.0
Mecanisme desDTD
XML Schema
Conclusion
Exemple
eXtensibleMarkup
Language
V. Augusto
8/65
Introduction
Panorama destechnologiesXML
Decouverte deXML
Principesfondamentaux
Exemplesd’applicationsXML
Apports de XML
RecommandationXML 1.0
Mecanisme desDTD
XML Schema
Conclusion
1 Introduction
2 Panorama des technologies XML
3 Decouverte de XMLPrincipes fondamentauxExemples d’applications XMLApports de XMLRecommandation XML 1.0Mecanisme des DTDXML Schema
4 Conclusion
eXtensibleMarkup
Language
V. Augusto
9/65
Introduction
Panorama destechnologiesXML
Decouverte deXML
Principesfondamentaux
Exemplesd’applicationsXML
Apports de XML
RecommandationXML 1.0
Mecanisme desDTD
XML Schema
Conclusion
Structure et contraintes
Deux langages pour contraindre les structures XML :
• Definition de Type de Document (DTD), heritee deSGML.
• Schema XML, formalisme complet et rigoureux pourdeclarer les contraintes structurelles et les types.
Remarques :
• DTD et schemas ne sont pas obligatoires.
• XML fournit une syntaxe, pas une semantique.
• Les balises n’ont pas de presentation/significationpredefinie.
• XML ne definit que la structure et le contenu d’undocument, pas son comportement ni son traitement.
eXtensibleMarkup
Language
V. Augusto
10/65
Introduction
Panorama destechnologiesXML
Decouverte deXML
Principesfondamentaux
Exemplesd’applicationsXML
Apports de XML
RecommandationXML 1.0
Mecanisme desDTD
XML Schema
Conclusion
DOM
DOM (Document Object Model) :
• Interface de programmation independante du langage etdes plate-formes.
• Permet d’acceder :• la structure des documents (HTML et XML) ;• le contenu des documents ;• le style ;• les evenements.
• API definie pour OMG IDL, Java et ECMAScript.
eXtensibleMarkup
Language
V. Augusto
11/65
Introduction
Panorama destechnologiesXML
Decouverte deXML
Principesfondamentaux
Exemplesd’applicationsXML
Apports de XML
RecommandationXML 1.0
Mecanisme desDTD
XML Schema
Conclusion
XPath
XPath :
• Langage d’expressions de chemin : permet l’adressage desdocuments XML.
• Une expression elementaire XPath contient :• un axe qui specifie la relation structurale : fils,
descendants, ancetres, freres, etc.• un test qui specifie le type de nœud ;• des predicats pour raffiner la selection.
• Constitue les briques de base d’autres applications XML :XLink, XSLT, XQuery.
eXtensibleMarkup
Language
V. Augusto
12/65
Introduction
Panorama destechnologiesXML
Decouverte deXML
Principesfondamentaux
Exemplesd’applicationsXML
Apports de XML
RecommandationXML 1.0
Mecanisme desDTD
XML Schema
Conclusion
XLink
XML Linking Language :
• Langage hypertexte avance permettant d’inserer des liensentres ressources dans des documents XML.
• Liens simples unidirectionnels (comme HTML).
• Liens hors document.
• Liens multi-directionnel.
• Comportement des liens.
• XLink utilise XPath pour adresser l’interieur des structuresXML.
eXtensibleMarkup
Language
V. Augusto
13/65
Introduction
Panorama destechnologiesXML
Decouverte deXML
Principesfondamentaux
Exemplesd’applicationsXML
Apports de XML
RecommandationXML 1.0
Mecanisme desDTD
XML Schema
Conclusion
Transformation de documents
Le web presente de multiples cas de transformation :
• Formatage.
• Reutilisation de document.
• Adaptation aux appareil de presentation.
• Conversion de format (XML vers HTML, LATEX versHTML).
Trois approches :
• Programmes utilisant le DOM.
• Feuilles de transformation XSLT.
• Le langage de requetes XQuery.
eXtensibleMarkup
Language
V. Augusto
14/65
Introduction
Panorama destechnologiesXML
Decouverte deXML
Principesfondamentaux
Exemplesd’applicationsXML
Apports de XML
RecommandationXML 1.0
Mecanisme desDTD
XML Schema
Conclusion
XSLT
Langage de transformation (le « Perl » de XML) :
• Une feuille de transformation XSLT contient un ensemblede regles pattern/template :
• Pattern : contexte structurel dans l’arbre source.• Template : fragment du resultat a produire pour le
pattern correspondant.
• Quand le pattern est reconnue dans le document source, letemplate correspondant est engendre dans le documentresultat.
eXtensibleMarkup
Language
V. Augusto
15/65
Introduction
Panorama destechnologiesXML
Decouverte deXML
Principesfondamentaux
Exemplesd’applicationsXML
Apports de XML
RecommandationXML 1.0
Mecanisme desDTD
XML Schema
Conclusion
XQuery
Langage de requete (le « SQL » de XML) :
• Un modele de donnees pour les documents XML.
• Un ensemble d’operateurs sur ce modele (algebre).
• Un langage de requete fonde sur ces operateurs (syntaxe).
• Les requetes XQuery :• peuvent selectionner des documents entiers ou des
sous-arbres qui repondent a la requetes ;• peuvent construire des documents nouveaux fondes sur ce
qui est selectionne.
eXtensibleMarkup
Language
V. Augusto
16/65
Introduction
Panorama destechnologiesXML
Decouverte deXML
Principesfondamentaux
Exemplesd’applicationsXML
Apports de XML
RecommandationXML 1.0
Mecanisme desDTD
XML Schema
Conclusion
1 Introduction
2 Panorama des technologies XML
3 Decouverte de XMLPrincipes fondamentauxExemples d’applications XMLApports de XMLRecommandation XML 1.0Mecanisme des DTDXML Schema
4 Conclusion
eXtensibleMarkup
Language
V. Augusto
17/65
Introduction
Panorama destechnologiesXML
Decouverte deXML
Principesfondamentaux
Exemplesd’applicationsXML
Apports de XML
RecommandationXML 1.0
Mecanisme desDTD
XML Schema
Conclusion
XML
Definition formelle :XML est un meta-langage de description et d’echange dedocuments structures.
Notion de balisage structurel :
Etant donne un document, il est souhaitable de separercompletement les informations de structure des informationsde presentation.
eXtensibleMarkup
Language
V. Augusto
18/65
Introduction
Panorama destechnologiesXML
Decouverte deXML
Principesfondamentaux
Exemplesd’applicationsXML
Apports de XML
RecommandationXML 1.0
Mecanisme desDTD
XML Schema
Conclusion
Exemple de document
eXtensibleMarkup
Language
V. Augusto
19/65
Introduction
Panorama destechnologiesXML
Decouverte deXML
Principesfondamentaux
Exemplesd’applicationsXML
Apports de XML
RecommandationXML 1.0
Mecanisme desDTD
XML Schema
Conclusion
Representation XML
eXtensibleMarkup
Language
V. Augusto
20/65
Introduction
Panorama destechnologiesXML
Decouverte deXML
Principesfondamentaux
Exemplesd’applicationsXML
Apports de XML
RecommandationXML 1.0
Mecanisme desDTD
XML Schema
Conclusion
Representation XML
Points importants :
• La representation de cette lettre en XML ne comporteaucune indication sur sa mise en page.
• De nombreuses proprietes graphiques ou typographiquessont absentes de la source XML.
• Ces proprietes graphiques seront definies parl’intermediaire d’une feuille de style.
Feuille de style :
Ensemble de regles pour specifier la realisation concrete d’undocument sur un media particulier.
eXtensibleMarkup
Language
V. Augusto
21/65
Introduction
Panorama destechnologiesXML
Decouverte deXML
Principesfondamentaux
Exemplesd’applicationsXML
Apports de XML
RecommandationXML 1.0
Mecanisme desDTD
XML Schema
Conclusion
Feuille de style
eXtensibleMarkup
Language
V. Augusto
22/65
Introduction
Panorama destechnologiesXML
Decouverte deXML
Principesfondamentaux
Exemplesd’applicationsXML
Apports de XML
RecommandationXML 1.0
Mecanisme desDTD
XML Schema
Conclusion
1 Introduction
2 Panorama des technologies XML
3 Decouverte de XMLPrincipes fondamentauxExemples d’applications XMLApports de XMLRecommandation XML 1.0Mecanisme des DTDXML Schema
4 Conclusion
eXtensibleMarkup
Language
V. Augusto
23/65
Introduction
Panorama destechnologiesXML
Decouverte deXML
Principesfondamentaux
Exemplesd’applicationsXML
Apports de XML
RecommandationXML 1.0
Mecanisme desDTD
XML Schema
Conclusion
XHTML
XHTML :
• Application SGML.
• Reformulation de HTML en tant qu’application XML.
Interet :
• Syntaxe plus rigoureuse.
• Importation de fragments de documents d’autres domainesnominaux.
• Possibilite d’utiliser les applications XML standards.
eXtensibleMarkup
Language
V. Augusto
24/65
Introduction
Panorama destechnologiesXML
Decouverte deXML
Principesfondamentaux
Exemplesd’applicationsXML
Apports de XML
RecommandationXML 1.0
Mecanisme desDTD
XML Schema
Conclusion
MathML
Objectif :
• Permettre l’echange et le traitement d’expressionsmathematiques sur le web.
• Insertion aisee d’expressions mathematiques dans desdocuments HTML ou XML.
• Communication d’expressions entre applications sur le plansemantique.
• Permettre a un auteur d’associer un notation a uneexpression.
Syntaxe :
• Langage de presentation (bas niveau, definition denotations).
• Langage d’expressions (contenu semantique d’expressions.
eXtensibleMarkup
Language
V. Augusto
25/65
Introduction
Panorama destechnologiesXML
Decouverte deXML
Principesfondamentaux
Exemplesd’applicationsXML
Apports de XML
RecommandationXML 1.0
Mecanisme desDTD
XML Schema
Conclusion
SVG
SVG (Scalable Vector Graphics) :
• Langage de description de graphiques 2D.
• Graphiques vectoriels.
• Graphiques interactifs et dynamiques :• animations declaratives ;• programmation ECMAScript.
eXtensibleMarkup
Language
V. Augusto
26/65
Introduction
Panorama destechnologiesXML
Decouverte deXML
Principesfondamentaux
Exemplesd’applicationsXML
Apports de XML
RecommandationXML 1.0
Mecanisme desDTD
XML Schema
Conclusion
SOAP
SOAP (Simple Object Access Protocol) :
• Protocole d’echange de donnees entre applicationsdistantes.
• Adapte pour etre utilise au-dessus du protocole HTTP(methode POST).
• Messages structures selon le formalisme :• enveloppe ;• en-tete ;• corps de texte.
eXtensibleMarkup
Language
V. Augusto
27/65
Introduction
Panorama destechnologiesXML
Decouverte deXML
Principesfondamentaux
Exemplesd’applicationsXML
Apports de XML
RecommandationXML 1.0
Mecanisme desDTD
XML Schema
Conclusion
1 Introduction
2 Panorama des technologies XML
3 Decouverte de XMLPrincipes fondamentauxExemples d’applications XMLApports de XMLRecommandation XML 1.0Mecanisme des DTDXML Schema
4 Conclusion
eXtensibleMarkup
Language
V. Augusto
28/65
Introduction
Panorama destechnologiesXML
Decouverte deXML
Principesfondamentaux
Exemplesd’applicationsXML
Apports de XML
RecommandationXML 1.0
Mecanisme desDTD
XML Schema
Conclusion
Extensibilite et structure
Structure libre :
• En XML, une communaute d’auteurs invente librement lesbalises utiles pour marquer les composants d’un document.
• Exemple : representation d’une date.• <date>24 octobre 2008</date>• <date><a>2008</a><m>10</m><j>24</j></date>• <date format=’ISO-8601’>2008-10-24</date>
• La grande liberte dans le choix des structures de donneesfacilite l’echange de donnees :
• commerce electronique ;• transactions financieres et commerciales ;• recherche et industrie des biotechnologies ;• multimedia...
eXtensibleMarkup
Language
V. Augusto
29/65
Introduction
Panorama destechnologiesXML
Decouverte deXML
Principesfondamentaux
Exemplesd’applicationsXML
Apports de XML
RecommandationXML 1.0
Mecanisme desDTD
XML Schema
Conclusion
Inter-operabilite des outils detraitement
Organisation centree sur XML :
• Toutes les donnees peuvent etre vues comme desdocuments XML et non comme des fichiers de formatsdifferents.
• Consequences :• un serveur de documents XML est susceptible de repondre
a l’ensemble des besoins d’une organisation ;• un simple editeur de fichiers texte permet de traiter
l’ensemble des donnees d’une organisation.
eXtensibleMarkup
Language
V. Augusto
30/65
Introduction
Panorama destechnologiesXML
Decouverte deXML
Principesfondamentaux
Exemplesd’applicationsXML
Apports de XML
RecommandationXML 1.0
Mecanisme desDTD
XML Schema
Conclusion
Modularite et reutilisation
• Chaque utilisateur est libre de definir ses propres structuresde documents.
• Il peut aussi de conformer a des structures types, appeleesDTD.
• Chaque communaute peut ainsi proposer des structuresnormalisees.
• La conformite a une DTD permet l’automatisation destraitements et assure une possibilite de controle de validite.
eXtensibleMarkup
Language
V. Augusto
31/65
Introduction
Panorama destechnologiesXML
Decouverte deXML
Principesfondamentaux
Exemplesd’applicationsXML
Apports de XML
RecommandationXML 1.0
Mecanisme desDTD
XML Schema
Conclusion
Acces a des sources d’informationheterogenes
• L’interrogation et l’echange de donnees entre systemesd’information heterogenes est souvent complexe.
• XML contribue a resoudre ce probleme : format d’echangenormalise independant de toute plate-forme.
• L’indexation et l’interrogation de bases documentaires estfacilite par la presence d’informations structurelles en plusdes informations textuelles.
eXtensibleMarkup
Language
V. Augusto
32/65
Introduction
Panorama destechnologiesXML
Decouverte deXML
Principesfondamentaux
Exemplesd’applicationsXML
Apports de XML
RecommandationXML 1.0
Mecanisme desDTD
XML Schema
Conclusion
1 Introduction
2 Panorama des technologies XML
3 Decouverte de XMLPrincipes fondamentauxExemples d’applications XMLApports de XMLRecommandation XML 1.0Mecanisme des DTDXML Schema
4 Conclusion
eXtensibleMarkup
Language
V. Augusto
33/65
Introduction
Panorama destechnologiesXML
Decouverte deXML
Principesfondamentaux
Exemplesd’applicationsXML
Apports de XML
RecommandationXML 1.0
Mecanisme desDTD
XML Schema
Conclusion
Exemples de documents XML
<d/>
<document> </document>
<document> Bonjour ! </document>
<document><salutation> Bonjour ! </salutation>
</document>
<?xml version="1.0" standalone="yes"><document>
<salutation> Bonjour ! </salutation></document>
eXtensibleMarkup
Language
V. Augusto
34/65
Introduction
Panorama destechnologiesXML
Decouverte deXML
Principesfondamentaux
Exemplesd’applicationsXML
Apports de XML
RecommandationXML 1.0
Mecanisme desDTD
XML Schema
Conclusion
Structure d’un document
Un document XML se compose :
• d’un prologue, eventuellement vide ;<?xml version="1.0" standalone="yes">
• d’un arbre d’elements ;<document><salutation> Bonjour ! </salutation>
</document>
• de commentaires et d’instructions de traitement,facultatifs.
eXtensibleMarkup
Language
V. Augusto
35/65
Introduction
Panorama destechnologiesXML
Decouverte deXML
Principesfondamentaux
Exemplesd’applicationsXML
Apports de XML
RecommandationXML 1.0
Mecanisme desDTD
XML Schema
Conclusion
Prologue d’un document
Declaration XML (facultative) :<?xml version="1.0" encoding="ISO-8859-1"standalone="yes">
Indique au processeur qui va traiter le document :
• la version du langage XML utilise ;
• le codage des caracteres utilise ;
• l’existance de declarations exterieures au document.
Declaration de type de document (facultative) :<!DOCTYPE exemple SYSTEM "exemple.dtd"[declarations]>
Indique la structure particuliere a laquelle doit se conformer undocument.
eXtensibleMarkup
Language
V. Augusto
36/65
Introduction
Panorama destechnologiesXML
Decouverte deXML
Principesfondamentaux
Exemplesd’applicationsXML
Apports de XML
RecommandationXML 1.0
Mecanisme desDTD
XML Schema
Conclusion
Structure d’une DTD
Une DTD peut comprendre deux partie :
• Une partie externe :Definie en dehors du document, la partie externe estreferencee par une reference DTD (souvent une URL). Cemecanisme permet d’assurer une reutilisation de DTDs.
• Une partie interne :La partie interne est utilisee pour specialiser une DTDexterne generique ou redefinir certains types d’elements.
eXtensibleMarkup
Language
V. Augusto
37/65
Introduction
Panorama destechnologiesXML
Decouverte deXML
Principesfondamentaux
Exemplesd’applicationsXML
Apports de XML
RecommandationXML 1.0
Mecanisme desDTD
XML Schema
Conclusion
Structure d’un element (1/2)
• Un element est de la forme :<nom attr="valeur"> contenu </nom>
• <nom> est la balise d’ouverture.
• </nom> est la balise de fermeture.
• Un element vide est note indifferemment <nom> </nom>ou <nom/>.
• contenu est le contenu d’un element. Il peut s’agir :• de vide ;• de texte ;• d’autres elements ;• d’une imbrication de texte et d’elements ;• d’instructions de traitement...
• attr="valeur" represente un ensemble eventuellementvide d’attributs de noms differents.
eXtensibleMarkup
Language
V. Augusto
38/65
Introduction
Panorama destechnologiesXML
Decouverte deXML
Principesfondamentaux
Exemplesd’applicationsXML
Apports de XML
RecommandationXML 1.0
Mecanisme desDTD
XML Schema
Conclusion
Structure d’un element (2/2)
• Un nom d’element est une suite non vide de caracterespris parmi :
• les caracteres alphanumeriques ;• l’underscore (‘ ‘) ;• le signe moins ;• le point ;• le caractere deux-points est utilisable, mais a un sens
particulier.
• Un nom d’element doit satisfaire les contraintessuivantes :
• le premier caractere doit etre alphanumerique ouunderscore ;
• les trois premiers caracteres ne doivent pas former xml.
eXtensibleMarkup
Language
V. Augusto
39/65
Introduction
Panorama destechnologiesXML
Decouverte deXML
Principesfondamentaux
Exemplesd’applicationsXML
Apports de XML
RecommandationXML 1.0
Mecanisme desDTD
XML Schema
Conclusion
Syntaxe des attributs
• Un attribut est une paire nom="valeur" permettant decaracteriser un element.
• Un element peut avoir plusieurs attributs, separes par unespace.<rapport langue="fr"derniere-modif="08/07/99">(...)<annuaire generator="SQL2XML V2.0"last-update="07.08.99">
• Le nom d’un attribut obeit aux meme regles que le nomd’un element.
eXtensibleMarkup
Language
V. Augusto
40/65
Introduction
Panorama destechnologiesXML
Decouverte deXML
Principesfondamentaux
Exemplesd’applicationsXML
Apports de XML
RecommandationXML 1.0
Mecanisme desDTD
XML Schema
Conclusion
Arbre d’elements
Un document XML contient un arbre d’element si :
• Il existe un unique element pere qui contient tous lesautres : il s’agit de l’element racine du document XML.
• Tout element distinct de la racine est totalement inclusdans son pere : il ne peut y avoir recouvrement partiel.
Ceci n’est pas une structure XML :<p><b> bla blo </p> bli </b>
eXtensibleMarkup
Language
V. Augusto
41/65
Introduction
Panorama destechnologiesXML
Decouverte deXML
Principesfondamentaux
Exemplesd’applicationsXML
Apports de XML
RecommandationXML 1.0
Mecanisme desDTD
XML Schema
Conclusion
Document valide
Un document XML est dit valide si :
• Son prologue contient une declaration de type dedocument (DTD).
• Son arbre d’elements respecte une structure definie par ladeclaration de type.
<?xml version="1.0" encoding="ISO-8859-1"standalone="yes" ?><!DOCTYPE document [<!ELEMENT document (salutation)><!ELEMENT salutation (#PCDATA)>
]><document><salutation> Bonjour ! </salutation>
</document>
eXtensibleMarkup
Language
V. Augusto
42/65
Introduction
Panorama destechnologiesXML
Decouverte deXML
Principesfondamentaux
Exemplesd’applicationsXML
Apports de XML
RecommandationXML 1.0
Mecanisme desDTD
XML Schema
Conclusion
1 Introduction
2 Panorama des technologies XML
3 Decouverte de XMLPrincipes fondamentauxExemples d’applications XMLApports de XMLRecommandation XML 1.0Mecanisme des DTDXML Schema
4 Conclusion
eXtensibleMarkup
Language
V. Augusto
43/65
Introduction
Panorama destechnologiesXML
Decouverte deXML
Principesfondamentaux
Exemplesd’applicationsXML
Apports de XML
RecommandationXML 1.0
Mecanisme desDTD
XML Schema
Conclusion
Contenu d’une DTD
Une DTD peut contenir des declarations :
• d’elements ;
• de listes d’attributs ;
• d’entites generales ;
• d’entites parametres ;
• de notations ;
ainsi que des commentaires.
eXtensibleMarkup
Language
V. Augusto
44/65
Introduction
Panorama destechnologiesXML
Decouverte deXML
Principesfondamentaux
Exemplesd’applicationsXML
Apports de XML
RecommandationXML 1.0
Mecanisme desDTD
XML Schema
Conclusion
Declaration d’element
Une declaration d’element est de la forme :<!ELEMENT nom modele>
• ELEMENT est un mot-clef et s’ecrit imperativement enmajuscules.
• nom est un nom valide d’element.
• modele est le modele de contenu de cet element. Ondistingue 5 modeles de contenu :
• elements ;• donnees ;• mixte ;• libre ;• vide.
eXtensibleMarkup
Language
V. Augusto
45/65
Introduction
Panorama destechnologiesXML
Decouverte deXML
Principesfondamentaux
Exemplesd’applicationsXML
Apports de XML
RecommandationXML 1.0
Mecanisme desDTD
XML Schema
Conclusion
Modele de contenu : elements
Sequence d’elements fils :
<!ELEMENT chapitre (titre,intro,section)>Un element chapitre doit contenir, imperativement et danscet ordre, un titre, une intro, et une section.
Alternatives :<!ELEMENT chapitre (titre,intro,(section|paragraphes))>
Un element chapitre doit contenir, imperativement et danscet ordre, un titre, une intro, et une section ou desparagraphes.
Indicateurs d’occurrence :
• p* : p peut apparaıtre zero, une ou plusieurs fois.
• p+ : p peut apparaıtre une ou plusieurs fois.
• p? : p peut apparaıtre zero ou une fois.
eXtensibleMarkup
Language
V. Augusto
46/65
Introduction
Panorama destechnologiesXML
Decouverte deXML
Principesfondamentaux
Exemplesd’applicationsXML
Apports de XML
RecommandationXML 1.0
Mecanisme desDTD
XML Schema
Conclusion
Modele de contenu : elements
<!ELEMENT chapitre (titre,intro?,section+ ) >
<!ELEMENT section (titre-section,texte-section ) >
<!ELEMENT texte-section (p|a)* >
eXtensibleMarkup
Language
V. Augusto
47/65
Introduction
Panorama destechnologiesXML
Decouverte deXML
Principesfondamentaux
Exemplesd’applicationsXML
Apports de XML
RecommandationXML 1.0
Mecanisme desDTD
XML Schema
Conclusion
Modele de contenu : donnees
<!ELEMENT p (#PCDATA) >
La presence de donnees dans le contenu d’un element estspecifiee par le mot-cle #PCDATA.
eXtensibleMarkup
Language
V. Augusto
48/65
Introduction
Panorama destechnologiesXML
Decouverte deXML
Principesfondamentaux
Exemplesd’applicationsXML
Apports de XML
RecommandationXML 1.0
Mecanisme desDTD
XML Schema
Conclusion
Modele de contenu : mixte
<!ELEMENT p (#PCDATA | nom1 | ... | nomN)* >
Ce modele permet de definir des modeles de contenu autorisantle melange donnees/elements.
eXtensibleMarkup
Language
V. Augusto
49/65
Introduction
Panorama destechnologiesXML
Decouverte deXML
Principesfondamentaux
Exemplesd’applicationsXML
Apports de XML
RecommandationXML 1.0
Mecanisme desDTD
XML Schema
Conclusion
Modele de contenu : mixte
Exemple de declaration :
<!ELEMENT p(#PCDATA | em | exposant | indice | renvoi)* >
<!ELEMENT em (#PCDATA|exposant|indice)* ><!ELEMENT exposant (#PCDATA) ><!ELEMENT indice (#PCDATA) >
Exemple d’utilisation :
<p>Un paragraphe peut contenir du texte <em>misen evidence</em> ou en<exposant>exposant</exposant>.</p>
eXtensibleMarkup
Language
V. Augusto
50/65
Introduction
Panorama destechnologiesXML
Decouverte deXML
Principesfondamentaux
Exemplesd’applicationsXML
Apports de XML
RecommandationXML 1.0
Mecanisme desDTD
XML Schema
Conclusion
Modele de contenu : libre
<!ELEMENT p ANY>
• Un element peut etre defini comme ayant un contenuquelconque, sous reserve que ce contenu respecte lesregles generales du langage XML.
• Pour que le contenu d’un element de modele de contenulibre soit valide, il faut que, s’il contient des elements,ceux-ci soient declares dans la DTD.
eXtensibleMarkup
Language
V. Augusto
51/65
Introduction
Panorama destechnologiesXML
Decouverte deXML
Principesfondamentaux
Exemplesd’applicationsXML
Apports de XML
RecommandationXML 1.0
Mecanisme desDTD
XML Schema
Conclusion
Modele de contenu : libre
Exemple de declaration :
<!ELEMENT rapport ANY><!ELEMENT chapitre ANY><!ELEMENT section ANY><!ELEMENT titre-section ANY><!ELEMENT illustration ANY><!ELEMENT bibliographie ANY><!ELEMENT table-matieres ANY><!ELEMENT index ANY>
eXtensibleMarkup
Language
V. Augusto
52/65
Introduction
Panorama destechnologiesXML
Decouverte deXML
Principesfondamentaux
Exemplesd’applicationsXML
Apports de XML
RecommandationXML 1.0
Mecanisme desDTD
XML Schema
Conclusion
Modele de contenu : vide
<!ELEMENT p EMPTY>
• Un element peut etre declare comme obligatoirement videa l’aide du mot-cle EMPTY.
• Lorsqu’un modele de contenu d’un element et le modelevide, il doit obligatoirement respecter la syntaxe <nom/>.
• Il est impossible de meler EMPTY a une autre constructionde modele de contenu.
eXtensibleMarkup
Language
V. Augusto
53/65
Introduction
Panorama destechnologiesXML
Decouverte deXML
Principesfondamentaux
Exemplesd’applicationsXML
Apports de XML
RecommandationXML 1.0
Mecanisme desDTD
XML Schema
Conclusion
Modele de contenu : vide
Exemple de declaration :
<!ELEMENT p (#PCDATA|bibref)* ><!ELEMENT bibref EMPTY><!ATTLIST bibref ref IDREF #REQUIRED>
Exemple d’utilisation :
<p>Pour une definition precise, voir<bibref ref=’REC-xml-19980210’/>.</p>
eXtensibleMarkup
Language
V. Augusto
54/65
Introduction
Panorama destechnologiesXML
Decouverte deXML
Principesfondamentaux
Exemplesd’applicationsXML
Apports de XML
RecommandationXML 1.0
Mecanisme desDTD
XML Schema
Conclusion
Exemple de DTD
<?xml version="1.0" ?><!ELEMENT email (to+, from, cc*, bcc*,subject?, body?)>
<!ATTLIST emaillanguage (Western|Greek|Latin|Universal)"Western"encrypted CDATA #IMPLIEDpriority (normal|low|high) "normal">
<!ELEMENT to (#PCDATA)><!ELEMENT from (#PCDATA)><!ELEMENT cc (#PCDATA)><!ELEMENT bcc HIDDEN CDATA #FIXED "TRUE"><!ELEMENT subject (#PCDATA)><!ELEMENT body (#PCDATA)>
eXtensibleMarkup
Language
V. Augusto
55/65
Introduction
Panorama destechnologiesXML
Decouverte deXML
Principesfondamentaux
Exemplesd’applicationsXML
Apports de XML
RecommandationXML 1.0
Mecanisme desDTD
XML Schema
Conclusion
Declaration d’attributs
<!ATTLIST nom-element nom-attributtype-attribut valeur-defaut>
• Un attribut est une paire nom-valeur associee a unelement.
• Specification des attributs qui pourront/devront etreassocies a des instances d’elements.
eXtensibleMarkup
Language
V. Augusto
56/65
Introduction
Panorama destechnologiesXML
Decouverte deXML
Principesfondamentaux
Exemplesd’applicationsXML
Apports de XML
RecommandationXML 1.0
Mecanisme desDTD
XML Schema
Conclusion
Types d’attribut
Le type d’attribut peut etre :
• CDATA : la valeur de l’attribut est une chaıne de caracteres.
• ID ou IDREF : permet de definir des renvois a l’interieurd’un document.
• ENTITY ou ENTITIES : permet qu’un attribut prennecomme valeur le nom d’une entite.
• NOTATION : definit un attribut de notation.
• Une liste de choix dans un ensemble de tokens ouidentifiants logiques.
eXtensibleMarkup
Language
V. Augusto
57/65
Introduction
Panorama destechnologiesXML
Decouverte deXML
Principesfondamentaux
Exemplesd’applicationsXML
Apports de XML
RecommandationXML 1.0
Mecanisme desDTD
XML Schema
Conclusion
Declaration par defaut etcontraintes
Quatre formes distinctes :
• Valeur par defaut de l’attribut.
• #REQUIRED : chaque element instance devra posseder unattribut de ce nom. Ne peut prendre de valeur par defaut.
• #IMPLIED : presence facultative. Ne peut prendre devaleur par defaut.
• #FIXED : fixe la valeur de cet attribut pour tout elementinstance. Il n’est pas necessaire de repeter cet attribut.
eXtensibleMarkup
Language
V. Augusto
58/65
Introduction
Panorama destechnologiesXML
Decouverte deXML
Principesfondamentaux
Exemplesd’applicationsXML
Apports de XML
RecommandationXML 1.0
Mecanisme desDTD
XML Schema
Conclusion
Exemples
Attribut CDATA<!ATTLIST f att1 CDATA #FIXED ’toto’>
L’attribut att1 des elements de type f a une valeur constante :la chaıne de caracteres toto.
Attribut enumere<!ELEMENT date (#PCDATA) ><!ATTLIST date format (ANSI|ISO|FR) #REQUIRED>
<date format=’FR’> 24 Mai 1998 </date><date format=’ISO’> 1998-05-24 </date>
L’attribut format est obligatoire, et doit prendre sa valeurparmi ANSI, FR ou ISO.
eXtensibleMarkup
Language
V. Augusto
59/65
Introduction
Panorama destechnologiesXML
Decouverte deXML
Principesfondamentaux
Exemplesd’applicationsXML
Apports de XML
RecommandationXML 1.0
Mecanisme desDTD
XML Schema
Conclusion
Entites internes
Entites definies par l’utilisateur :
<!ENTITY nom-entite "valeur-entite">
Exemple
La declaration suivante
<!DOCTYPE toto [<!ENTITY copyright "© Editions titi">
]>
<toto> ©right </toto>
produira
c© Editions titi
eXtensibleMarkup
Language
V. Augusto
60/65
Introduction
Panorama destechnologiesXML
Decouverte deXML
Principesfondamentaux
Exemplesd’applicationsXML
Apports de XML
RecommandationXML 1.0
Mecanisme desDTD
XML Schema
Conclusion
Entites parametres
• Les entites internes sont definies dans une DTD pour etreutilisees dans un document.
• Ces entites jouent le role de constantes symboliques.
• Introduction du meme mecanisme au sein d’une DTD, afinde nommer et de reutiliser des modeles de contenu quiapparaissent de maniere repetitive.
• XML propose pour cela le mecanisme des entitesparametres (∼ variables) :<!ENTITY % nom-entite "valeur-entite"><!ENTITY % nom-entite SYSTEM url>
eXtensibleMarkup
Language
V. Augusto
61/65
Introduction
Panorama destechnologiesXML
Decouverte deXML
Principesfondamentaux
Exemplesd’applicationsXML
Apports de XML
RecommandationXML 1.0
Mecanisme desDTD
XML Schema
Conclusion
1 Introduction
2 Panorama des technologies XML
3 Decouverte de XMLPrincipes fondamentauxExemples d’applications XMLApports de XMLRecommandation XML 1.0Mecanisme des DTDXML Schema
4 Conclusion
eXtensibleMarkup
Language
V. Augusto
62/65
Introduction
Panorama destechnologiesXML
Decouverte deXML
Principesfondamentaux
Exemplesd’applicationsXML
Apports de XML
RecommandationXML 1.0
Mecanisme desDTD
XML Schema
Conclusion
XML Schema
XML Schema est une alternative aux DTDs :
• Langage de definition de schema pour XML.
• Permet de definir des types simples/complexes, desstructures d’elements/d’attributs.
• Utilisation d’outils XML standards.
Avantages :
• Support des types de donnees.
• Description plus fine de la structure d’une famille dedocuments.
• Echange de donnees avec des bases de donnees.
• Conversion de donnees de types differents...
eXtensibleMarkup
Language
V. Augusto
63/65
Introduction
Panorama destechnologiesXML
Decouverte deXML
Principesfondamentaux
Exemplesd’applicationsXML
Apports de XML
RecommandationXML 1.0
Mecanisme desDTD
XML Schema
Conclusion
Comparaison DTD/XML Schema
<!ELEMENT note (to, from, heading, body)>
<!ELEMENT to (#PCDATA)>
<!ELEMENT from (#PCDATA)>
<!ELEMENT heading (#PCDATA)>
<!ELEMENT body (#PCDATA)>
<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema">
<xs:element name="note">
<xs:complexType>
<xs:sequence>
<xs:element name="to" type="xs:string"
minOccurs=’1’ maxOccurs=’1’/>
<xs:element name="from" type="xs:string/>"
<xs:element name="heading" type="xs:string/>"
<xs:element name="body" type="xs:string/>"
</xs:sequence>
</xs:complexType>
</xs:element>
</xs:schema>
eXtensibleMarkup
Language
V. Augusto
64/65
Introduction
Panorama destechnologiesXML
Decouverte deXML
Principesfondamentaux
Exemplesd’applicationsXML
Apports de XML
RecommandationXML 1.0
Mecanisme desDTD
XML Schema
Conclusion
1 Introduction
2 Panorama des technologies XML
3 Decouverte de XMLPrincipes fondamentauxExemples d’applications XMLApports de XMLRecommandation XML 1.0Mecanisme des DTDXML Schema
4 Conclusion
eXtensibleMarkup
Language
V. Augusto
65/65
Introduction
Panorama destechnologiesXML
Decouverte deXML
Principesfondamentaux
Exemplesd’applicationsXML
Apports de XML
RecommandationXML 1.0
Mecanisme desDTD
XML Schema
Conclusion
XML est inevitable
Les avantages de XML sont indeniables :
• Apprentissage rapide, seul un editeur de texte est requis.
• Mise en avant de la redaction structuree pour laproduction de documents recuperables (pour Internet).
• Utilisation de XML pour rendre le HTML dynamique.
• Le developpement serveur implique l’utilisation decomposants configurables en XML (Java).
• La philosophie XML penetre tous les secteurs del’informatique (sites web dynamiques, interrogation debases de donnees, systemes d’exploitation).