SlideShare une entreprise Scribd logo
1  sur  24
Télécharger pour lire hors ligne
19/09/18
1
Technologies XML
Année Universitaire 2018-2019
Pr. Y.Lefdaoui
Contenu
l  Introduction au méta-langage XML et les
technologies associées
l  Définition de la grammaire
l  Les entités et les espaces de noms
l  Le langage XML et Schema
l  Langages : XSLT et XPath
l  XSLT : les, fonctionnalités avancées
l  Le modèle de document : DOM & SAX
19/09/18
2
Introduction
l  Aujourd’hui
l  Production importante de documents (sur le Web)
l  Plusieurs applications, se partagent et échange des documents,
l  recherchent des documents sur le Web
l  Les formats de ces documents sont disparates
l  PDF, images, HTML, etc.
l  On cherche un protocole commun pour
l  Les manipuler, les compléter
l  Les communiquer à d’autres personnes et entre différents outils
l  Et les interroger
Standard XML(1)
l  Extensible Markup Language
l  Document = description + contenu + Mise en forme
l  XML c’est méta-langage qui permet de decrire des
instances de document.
l  XML est utilisé pour structurer , stocker et echanger
les données indépendant de toute application ou
plateforme.
l  Les balises ne sont prédefinies
l  Supporte divers types de données
19/09/18
3
Standard XML(2)
l  Mais les langages de balisages peuvent servir à décrire bien
d'autres types de documents que des pages web. Ils peuvent
ainsi être utiles pour:
l  la création d'une base de données de livres que
possède une bibliothèque,
l  la mise en place d'un répertoire sur un téléphone
mobile, etc. Exemple de langages de balisage parmi
les plus utilisés sur Internet :
l  XML
l  SVG.
l  Etc..
Les avantages de XML
l  XML est un standard ouvert , universel et simplifié de la
version SGML.
l  un fichier XML est un simple fichier texte, contenant des
balises facile à comprendre et à lire et supporté par
plusieurs plateformes.
l  Dans XML aucune balise n'est prédéfinie : c'est au
concepteur de définir les balises qui ont du sens pour lui.
l  XML permet à l'utilisateur de différencier
l  le fond de la forme,
l  de travailler sur la structure logique du document sans se soucier
de sa présentation.
19/09/18
4
Pourquoi XML?
l  Le web est confronté à deux problèmes :
l  HTML n'est pas extensible, il ne peut pas répondre
aux besoins spécifiques de tous les domaines
§  mathématiques,
§  chimie,
§  musique,
§  astronomie...
l  ne définit plus le contenu du document ;
XML apporte une réponse à ces problèmes
Exemple MathML(*): x2+1
<math>
<msup>
<mi>x</mi>
<mn>2</mn> </
msup>
<mo>+</mo> <mn>1</
mn>
</math>
(*) http://www.w3.org/Math/
19/09/18
5
Exemple VoiceXML(*)
Menu choix pour les répondeurs vocaux
<vxml version="2.0">
<menu>
<prompt>Faire un choix :<enumerate/></prompt>
<choice next="http://www.meteo.exemple/meteo.vxml">Meteo</choice>
<choice next="http://www.infos.exemple/infos.vxml">Info</choice>
<noinput>Merci de faire un choix <enumerate/></noinput>
</menu>
</vxml>
(*) http://www.voiceXML.org
Evolution
l  Les documents à balises offrent ces possibilités
l  Historiquement, on trouve :
l  SGML
§  Standard Generalized Markup Language
§  Meta-langage pour définir des langages de "markup"
l  HTML : Hypertext Markup Language
§  Application de SGML au Web, ayant peu de tags
l  XML : eXtensible Markup Language
§  Version plus légère que SGML pour le Web
19/09/18
6
Retour sur les normes
SGML/HTML/XML
l  SGML : Standard Generalized Markup Language
l  Langage de représentation de données et documents structurés
l  Langage de balisage généralisé descriptif
l  Besoin :
l  de séparer la structure logique
l  chapitre, paragraphe, section, mise en relief
l  de la présentation
l  gras, italique, saut de ligne, rouge, clignotement, ligne horizontale
l  Problèmes de SGML :
l  Complexe, difficile à apprendre
l  Utilisé uniquement par les professionnels de la documentation
l  Difficile à utiliser sur le Web
Origine des normes
SGML/HTML/XML
l  HTML : HyperText Markup Language
l  Langage de balisage pour documents hypertextes
l  Besoin :
l  documents simples sur INTERNET
l  Principe :
l  une DTD SGML
l  Limites
l  HTML est un langage de présentation
l  insuffisant pour couvrir toutes les applications du Web
l  Retombée intéressante
l  démonstration de l'intérêt des langages de balisage
19/09/18
7
Origine des normes
SGML/HTML/XML
l  XML : eXtensible Markup Language
l  Sur le plan de l’encodage
l  sert à encoder/structurer des données (textes, formats
vectoriels, messages entre machines, feuilles de style...)
l  Permet la définition de langages adaptés à des besoins
très variés
l  fournit le formalisme + des mécanismes pour définir ces
langages (grammaires, schémas)
l  Sur le plan des applications
l  sert à organiser l’échange d’informations
l  sert à remplacer HTML pour certaines tâches (mais
fonctionne d’une autre façon ! )
l  Donc : XML n’existe pas au même sens que HTML, ce
n’est qu’un formalisme !
Avantages de XML
l  Productivité
l  Réutilisabilité
l  Perennité
l  Intégrité
l  Partage
l  Portabilité
19/09/18
8
Domaines d'application
l  On trouve aujourd'hui XML dans les
domaines les plus variés :
l  édition (description d'ouvrage avec DocBook),
l  graphisme (format SVG),
l  mathématiques (formules avec MathML),
l  chimie (description de molécules en 3D),
l  musique (partition musicale),
l  etc.
Aujourd’hui, XML est au centre
de la galaxie de standards
l  XSchema
l  Schémas de documents
l  XSL
l  Feuilles de styles
l  SAX
l  API de programmation
événementielle
l  DOM
l  API de programmation objet
l  SOAP
l  Protocole Web Services
l  RDF
l  Description de ressources Web
l  ebXML
l  Standards de e-Commerce
19/09/18
9
Structure d'un document XML
l  Un document XML
l  À la structure suivante
l  Prologue
l  Élément racine
l  Arbre d'éléments ou
structure
l  Le prologue
l  peut contenir :
l  une déclaration XML
l  des instructions de
traitement
l  une DTD
Document XML :
Structure, contenu et présentation
l  Trois aspects dans les documents :
l  Le contenu
l  La structure logique
l  La présentation
l  XML permet de représenter les contenus textuels
et la structure logique
l  Les autres contenus sont des ressources externes (photos,
vidéo, sons...)
l  La présentation est décrite par des moyens
complémentaires (CSS, XSL)
l  La présentation peut changer, indépendamment des
contenus et de la structure
19/09/18
10
Gestion documents semi-structurés
Feuille
de style
XSL
Feuille
de style
XSL
Requêtes
HTTP GET
HTTP POST
Requêtes
Mapping
XML-SQL
Processeur
XSL
Feuille
de style
XSL
HTML généré
Serveur d’Applications
Interface avec les applications
bureautiques
User
SGBDR
règles de syntaxe
l  Le nom d’un élément ne peut commencer par un chiffre.
l  Si le nom d’un élément est composé d’un seul caractère
il doit être dans la plage [a-zA-Z] (c’est-à-dire une lettre
minuscule ou majuscule sans accent) ou _ ou :.
l  Avec au moins 2 caractères, le nom d’un élément peut
contenir _, -, . et : plus les caractères alphanumériques
(attention, le caractère : est réservé à un usage avec les
espaces de nom que nous aborderons par la suite).
l  Tous les éléments ouverts doivent être fermés.
l  Un élément parent est toujours fermé après la fermeture
des éléments fils. <a><b></a></b>.
19/09/18
11
Principe du balisage
l  Mécanisme pour
l  repérer des éléments dans un texte
l  le structurer en rappelant le type des éléments
l  Balisage redondant (maximal)
l  Une balise de début <prenom>
l  et une balise de fin </prenom>
l  Exemple
l  <prenom>Ali</prenom>
Structure d'un document XML
l  Exemple
<!-- Prologue -->
<?xml version="1.0" encoding="ISO-8859-1" standalone="yes"?>
<!-- Élément racine -->
<biblio>
<!-- Premier enfant -->
<livre>
<!-- Élément enfant titre -->
<titre>Les Misérables</titre>
<auteur>Victor Hugo</auteur>
<nb_tomes>3</nb_tomes>
</livre>
<livre>
<titre>Assomoir</titre>
<auteur>Emile Zola</auteur>
</livre>
<livre lang="en">
<titre>David Copperfield</titre>
<auteur>Charles Dickens</auteur>
</livre>
</biblio>
19/09/18
12
Document XML
Le prologue
l  La déclaration XML
<?xml version="1.0" encoding=‘iso-8859-1’ standalone=‘yes’?>
l  Indique au processeur (parseur) qui va traiter le document :
l  Version du langage : 1.0 (la plus récente)
l  Encoding :
l  jeu de codage de caractères utilisé dans le document. Le jeu de caractères
standard pour la France est le ISO-8859-1 Par défaut, l'attribut encoding a la
valeur UTF-8 (Unicode)
l  Standalone
l  Si Standalone = 'yes', le processeur considère que toutes les déclarations
nécessaires au traitement du document sont incluses dans le document
courant (le document est autonome et ne requiert aucune autre donnée
externe)
Les Règles d'écriture
l  la casse des caractères dans un document XML est importante
l  espaces, tabulations et retours de chariots ne le sont pas.
l  un commentaire s'écrit entre <!- - et - - > et ne peut contenir le
caractère tiret'-'.
l  Les instructions pour les applications sont comprises entre <?
et ?> Exemple : <? XXXXXX ?>
l  Un nom (ou Token) commence par une lettre et peut contenir :
Lettre, Chiffre, (point), (tiret), '_' (tiret souligné), ':' (deux points)
l  Utilisation des caractères spéciaux : &gt pour >, &lt pour <,
&amp pour & , &apos pour ', &quot pour ''
19/09/18
13
Document XML
l  L'arbre d’éléments
l  Tout document XML est représenté sous la forme d'un
arbre d'éléments
l  Comme tout arbre, il comporte :
l  une racine, des branches et des feuilles
l  qui pour nous seront que les éléments , en plus
des données
<Eleve>
<nom>XXXX</nom>
<age>?????</age>
</Eleve>
root
Element Element Element
Text() Text() Text()
Exercice 1: Création d’un livre en XML
l  On souhaite écrire un livre en utilisant le formalisme
XML. Le livre est structuré en sections (au moins 2), en
chapitres (au moins 2) et en paragraphes (au moins 2).
l  Le livre doit contenir la liste des auteurs (avec nom et
prénom).
l  Tous les éléments doivent posséder un titre, sauf le
paragraphe qui contient du texte.
l  Proposez une structuration XML de ce document (avec 2
auteurs, 2 sections, 2 chapitres par section et 2
paragraphes par chapitre).
l  Vérifiez, à l’aide de l’éditeur, que votre document est
bien formé.
l  Votre document sera nommé livre1.xml.
19/09/18
14
Document XML
l  Les attributs
l  Tous les éléments peuvent contenir un ou plusieurs
attributs
l  Un attribut est composé d'un nom et d'une valeur
l  Syntaxe :
l  <Nom-elem attribut1, attribut2, …>
§  Attributi : nom="valeur"
l  Exemple d'utilisation d'un élément avec attribut :
l  <instrument type="vent">trompette</instrument>
l  Exemple d'utilisation d'un élément vide avec attributs :
l  <specif type="Live" nb_cd="1" />
Modélisation XML
l  élément versus attribut
l  Il n'est pas toujours facile de choisir entre élément
et attribut, car il n'y a pas de règles absolues car
tout peut se réduire à des éléments sans attributs.
19/09/18
15
Modélisation XML
l  Les critères de choix sont liés à :
l  La structure de l'information
l  Structurée ou non structurée multi-lignes à éléments
l  Non structurée à attribut
l  Qui et comment est exploitée l'information
l  Homme ou machine et type d'application
l  L'ordre de l'information a-t-il une importance
l  Ordre important à éléments
l  Ordre non important à attribut
l  Inclure les méta-données sous forme d'attributs dans un élément
vide
Exercice 2: Utilisation des attributs
Conception de livre2.xml à partir de livre1.xml
l  On souhaite compléter la structure du document XML de
l’exercice précédent par les attributs nom et prenom pour
les auteurs et titre pour le livre, les sections et les
chapitres.
l  Analysez la structure du nouveau document. Y a-t-il des
simplifications possibles ?
l  Vérifiez, à l’aide de l’éditeur, que votre document est
bien formé.
l  Votre document sera nommé livre2.xml.
19/09/18
16
Les espaces de
nommage
Cas de l'application SVG
l  SVG est une application XML qui decrit des lignes produits
par Adobe Illustrator ou Visio.
l  Un document SVG peut être incorporé dans XHTML
l  Les elements du SVG sont :
title, metadata, defs, path, text, rect, circle,
ellipse, line, polyline, polygon, use, image, svg,
g, view, switch, a, altGlyphDef, script, style,
symbol, marker, clipPath, mask, linearGradient,
radialGradient, pattern, filter, cursor, font,
animate, set, animateMotion,
animateColor,animateTransform, color-profile, and
font-face.
19/09/18
17
introduction
l  les données d’origines diverses qui peuvent être
en contradiction avec nos choix de structure
initiaux.
l  une balise ou un attribut peut avoir du sens dans
un contexte mais pas dans un autre.
l  le choix de l’élément titre peut représenter le titre d’un
livre, mais pourquoi pas le titre de noblesse d’une
personne
l  Pour délimiter la portée d’une balise, d’un attribut ou
d’une valeur d’attribut, nous disposons d’espaces de
noms (namespace).
19/09/18
18
Utilisation des espaces de
noms dans un document XML
l  L’espace de noms par défaut
l  Un premier usage consiste à utiliser simplement l’espace de noms
par défaut. Ce dernier est précisé par un pseudo-attribut xmlns
(retenir que ns est pour namespace).
l  on ne peut appliquer qu’un seul espace de noms à la fois.
L’espace de noms explicite
l  L’espace de noms par défaut présente
l’inconvénient d’être peu contrôlable sur un
document de taille importante.
l  Un préfixe est une sorte de raccourci vers
l’URI de l’espace de noms
19/09/18
19
Espaces de nommage
l  Idée
l  Permettre de mélanger des éléments, ayant le même nom,
déclarés dans plusieurs DTD à l'intérieur d'un même
document
l  C’est l’objectif de XML de pouvoir rassembler plusieurs
documents écrits par différentes personnes
l  Risque
l  Confusion des noms et attributs
l  Solution
l  Ranger ces éléments et attributs dans des espaces
spécifiques (à qui on donnera des noms : nommage
XML) qui les identifient
Exemple
<?xml version="1.0"?>
<cours>
<nom>Fondamentaux XML</nom>
<enseignant>
<nom>RusTIC</nom>
<prénom>freeTIC</prénom>
</enseignant >
<contenu>
…/…
</contenu>
</cours>
19/09/18
20
Principe des espaces de nommage XML
nom prenom ..
nom ISBN ..
document
ID
http://www.bar.com/cours
ID
http://www.bar.com/enseignant
Les URI séparent les éléments et les attributs en 2 ensembles disjoints
Espaces de nommage
l  Comment créer un espace de nommage ?
l  On le déclare en lui donnant un identifiant qui le distingue, puis on l’associe
aux éléments et aux attributs ainsi rassemblés
l  Pour l’identification, le meilleur identifiant est une URI
l  L’URI n’a pas besoin de désigner un fichier existant
l  Déclaration
l  La déclaration se fait par attribut. Deux formes :
l  xmlns="uri"
§  définit l'espace de noms par défaut, par ex. HTML
l  xmlns:prefix="uri"
§  définit le préfixe représentant un espace de noms
l  Exemples de déclarations d’espaces pour les éléments html et div :
l  <html xmlns="http://www.w3.org/1999/xhtml">
§  entre <html> et </html>, on peut utiliser directement les balises HTML
l  <div xmlns:ht='http://www.w3.org/1999/xhtml'>
§  entre <div> et </div>, tous les éléments seront précédés du préfixe ht
19/09/18
21
<HTML>
<HEAD><TITLE>Screenplays for Auction</TITLE></HEAD>
<BODY>
<H1>January 27, 2001 Auction</H1>
<P>Pilot scripts for the Fall season:</P>
<SCRIPT>
<TITLE>Chicken Feathers</TITLE>
<AUTHOR>
<PERSON>
<FIRST>William</FIRST>
<LAST>Sanders</LAST>
<TITLE>Col.</TITLE>
</PERSON>
</AUTHOR>
<SYNOPSIS>
Hijinks in a poultry factory
</SYNOPSIS>
</SCRIPT>
l  <SCRIPT>
l  <TITLE>Chicken Feathers</TITLE>
l  <AUTHOR>
l  <P:PERSON xmlns:P=”http://ns.cafeconleche.org/people/”>
l  <P:FIRST>William</P:FIRST>
l  <P:LAST>Sanders</P:LAST>
l  <P:TITLE>Col.</P:TITLE>
l  </P:PERSON>
l  </AUTHOR>
l  <SYNOPSIS>
l  Hijinks in a poultry factory
l  </SYNOPSIS>
l  </SCRIPT>
19/09/18
22
Exemple
<?xml version="1.0"?>
<{http://www.bar.com/cours}cours>
<{http://www.bar.com/cours}nom>Fondamentaux XML</{http://www.bar.com/cours}
nom>
<{http://www.s.com/individus}enseignant>
<{http://www.s.com/individus}nom>rusTIC</{http://www.s.com/individus}nom>
…/…
</{http://www.bar.com/individus}enseignant>
…/…
</{http://www.bar.com/cours}cours>
Pour éviter une telle écriture, on
a recours à une indirection :
On associe un alias à chaque
URI d'espace de nom…
cours à {http://www.bar.com/cours}:cours
personne à http://www.bar.com/individus
<?xml version="1.0"?>
<cours:cours>
<cours:nom>Fondamentaux XML</cours:nom>
<personne:enseignant>
<personne:nom>freetic</personne:nom>
…/…
</personne:enseignant>
…/…
</cours:cours>
Déclaration des espaces de
nommage
l  Ils se déclarent dans un élément, avec le préfixe spécial xmlns.
l  Ils s ’appliquent dès l’élément hôte de la déclaration
<personne:enseignant>
Nom qualifié / Nom Complet
<cours:cours
xmlns:cours="urn:acme-org:cours"
xmlns:personne="http://www.bar.com/individus">
<cours cours:type="TP">
Attribut qualifié :
Local name
19/09/18
23
Portee
<?xml version="1.0"?>
<Emploi
xmlns:cours="http://www.bar.com/cours"
xmlns:personne="http://www.bar.com/individus">
<cours:cours>
<cours:nom>Fondamentaux XML</cours:nom> </
cours:cours>
<personne:enseignant>
<personne:nom>rusTIC</personne:nom>
…/…
</personne:enseignant>
…/…
</Emploi>
<?xml version="1.0"?>
<cours:cours xmlns:cours="http://www.bar.com/cours" >
>
<cours:cours>
<cours:nom>Fondamentaux XML</cours:nom>
<personne:enseignant xmlns:personne="http://www.bar.com/
individus">
<personne:nom>rusTIC</personne:nom>
…/…
</personne:enseignant>
…/…
</cours:cours>
Espaces de nommage par defaut
l  Exemple : utilisation du HTML dans du XML
<?xml version="1.0" encoding="ISO-8859-1" ?>
<livre xmlns="http://www.monserveur.fr/XML/livre">
<chapitre numero="1">
<html xmlns="http://www.w3.org/TR/REC-html-40">
<head><titre>Introduction</titre></head>
<body>
<h1>Introduction</h1>
<p>Le livre commence par ce texte...</p>
</body>
</html>
</chapitre>
</livre>
19/09/18
24
Attributs avec préfixes
l  Il est possible d'associer à un élément des attributs qui font partie
d'un autre espace de nommage :
<?xml version="1.0"?>
<document xmlns:xlink="http://www.w3.org/1999/xlink">
<image xlink:type="simple"
xlink:actuate="onLoad"
xlink:show="embed"
xlink:href="http://www.acme.com/foo/bar.jpg"
width="123"
height="234" />
</document>
attributs "étrangers"
Exercice 3
Utilisation des espaces de noms par défaut et
avec préfixe
l  Il s’agit de créer un document livre3.xml sur la base de
livre1.xml en respectant les points suivants :
l  Mettez tous les éléments dans l’espace de noms http://
www.masociete.com sans utiliser d’espace de noms par défaut.
l  Mettez la deuxième section dans un espace de noms http://
www.monentreprise.com.
l  Mettez le dernier paragraphe du dernier chapitre de la dernière
section sans espace de noms.
l  Exercice 4: Création d’une DTD
l  Créez une DTD livre.dtd à partir du document livre2.xml créé

Contenu connexe

Similaire à 1 introduction

Xml un panorama
Xml un panoramaXml un panorama
Xml un panoramam100grech
 
Environnements & Développements
Environnements & DéveloppementsEnvironnements & Développements
Environnements & DéveloppementsPaulin CHOUDJA
 
Modèles de données et langages de description ouverts 2021-2022 - 2
Modèles de données et langages de description ouverts   2021-2022 - 2Modèles de données et langages de description ouverts   2021-2022 - 2
Modèles de données et langages de description ouverts 2021-2022 - 2François-Xavier Boffy
 
xml dtd schema
xml dtd schemaxml dtd schema
xml dtd schemaDame Sy
 
1- XML généralités technologies xml1.pdf
1- XML généralités technologies xml1.pdf1- XML généralités technologies xml1.pdf
1- XML généralités technologies xml1.pdfKokitaKaty
 
Cours XML_2019_final (1).ppt
Cours XML_2019_final (1).pptCours XML_2019_final (1).ppt
Cours XML_2019_final (1).pptManalAg
 
Cours de C++, en français, 2002 - Cours 3.3
Cours de C++, en français, 2002 - Cours 3.3Cours de C++, en français, 2002 - Cours 3.3
Cours de C++, en français, 2002 - Cours 3.3Laurent BUNIET
 
xml_bd_ouahdikrid.ppt
xml_bd_ouahdikrid.pptxml_bd_ouahdikrid.ppt
xml_bd_ouahdikrid.pptLeilaAmrane
 
XML.pdf
XML.pdfXML.pdf
XML.pdfANBRI1
 
Modèles de données et langages de description ouverts 2021-2022 - 3
Modèles de données et langages de description ouverts   2021-2022 - 3Modèles de données et langages de description ouverts   2021-2022 - 3
Modèles de données et langages de description ouverts 2021-2022 - 3François-Xavier Boffy
 
Xml elgarrai 2020
Xml elgarrai 2020Xml elgarrai 2020
Xml elgarrai 2020OmarIz1
 
Cyxml2 formation-technologies-xml-mise-en-oeuvre (1)
Cyxml2 formation-technologies-xml-mise-en-oeuvre (1)Cyxml2 formation-technologies-xml-mise-en-oeuvre (1)
Cyxml2 formation-technologies-xml-mise-en-oeuvre (1)CERTyou Formation
 
Cyxml2 formation-technologies-xml-mise-en-oeuvre
Cyxml2 formation-technologies-xml-mise-en-oeuvreCyxml2 formation-technologies-xml-mise-en-oeuvre
Cyxml2 formation-technologies-xml-mise-en-oeuvreCERTyou Formation
 
Globekid NeoDoc Presentation Bookcamp
Globekid NeoDoc Presentation BookcampGlobekid NeoDoc Presentation Bookcamp
Globekid NeoDoc Presentation Bookcampguest41b263
 
Cyxlm formation-xml-synthese (1)
Cyxlm formation-xml-synthese (1)Cyxlm formation-xml-synthese (1)
Cyxlm formation-xml-synthese (1)CERTyou Formation
 
Cyxlm formation-xml-synthese
Cyxlm formation-xml-syntheseCyxlm formation-xml-synthese
Cyxlm formation-xml-syntheseCERTyou Formation
 

Similaire à 1 introduction (20)

Introduction à XML
Introduction à XMLIntroduction à XML
Introduction à XML
 
Xml un panorama
Xml un panoramaXml un panorama
Xml un panorama
 
Environnements & Développements
Environnements & DéveloppementsEnvironnements & Développements
Environnements & Développements
 
Modèles de données et langages de description ouverts 2021-2022 - 2
Modèles de données et langages de description ouverts   2021-2022 - 2Modèles de données et langages de description ouverts   2021-2022 - 2
Modèles de données et langages de description ouverts 2021-2022 - 2
 
xml dtd schema
xml dtd schemaxml dtd schema
xml dtd schema
 
1- XML généralités technologies xml1.pdf
1- XML généralités technologies xml1.pdf1- XML généralités technologies xml1.pdf
1- XML généralités technologies xml1.pdf
 
Cours XML_2019_final (1).ppt
Cours XML_2019_final (1).pptCours XML_2019_final (1).ppt
Cours XML_2019_final (1).ppt
 
Cours de C++, en français, 2002 - Cours 3.3
Cours de C++, en français, 2002 - Cours 3.3Cours de C++, en français, 2002 - Cours 3.3
Cours de C++, en français, 2002 - Cours 3.3
 
xml_bd_ouahdikrid.ppt
xml_bd_ouahdikrid.pptxml_bd_ouahdikrid.ppt
xml_bd_ouahdikrid.ppt
 
XML.pdf
XML.pdfXML.pdf
XML.pdf
 
XML.pdf
XML.pdfXML.pdf
XML.pdf
 
Modèles de données et langages de description ouverts 2021-2022 - 3
Modèles de données et langages de description ouverts   2021-2022 - 3Modèles de données et langages de description ouverts   2021-2022 - 3
Modèles de données et langages de description ouverts 2021-2022 - 3
 
Xml elgarrai 2020
Xml elgarrai 2020Xml elgarrai 2020
Xml elgarrai 2020
 
Cyxml2 formation-technologies-xml-mise-en-oeuvre (1)
Cyxml2 formation-technologies-xml-mise-en-oeuvre (1)Cyxml2 formation-technologies-xml-mise-en-oeuvre (1)
Cyxml2 formation-technologies-xml-mise-en-oeuvre (1)
 
Cyxml2 formation-technologies-xml-mise-en-oeuvre
Cyxml2 formation-technologies-xml-mise-en-oeuvreCyxml2 formation-technologies-xml-mise-en-oeuvre
Cyxml2 formation-technologies-xml-mise-en-oeuvre
 
Introduction à XML
Introduction à XMLIntroduction à XML
Introduction à XML
 
Globekid NeoDoc Presentation Bookcamp
Globekid NeoDoc Presentation BookcampGlobekid NeoDoc Presentation Bookcamp
Globekid NeoDoc Presentation Bookcamp
 
XML
XMLXML
XML
 
Cyxlm formation-xml-synthese (1)
Cyxlm formation-xml-synthese (1)Cyxlm formation-xml-synthese (1)
Cyxlm formation-xml-synthese (1)
 
Cyxlm formation-xml-synthese
Cyxlm formation-xml-syntheseCyxlm formation-xml-synthese
Cyxlm formation-xml-synthese
 

Dernier

BOW 2024 - 3 1 - Les infrastructures équestres et le changement climatique
BOW 2024 - 3 1 - Les infrastructures équestres et le changement climatiqueBOW 2024 - 3 1 - Les infrastructures équestres et le changement climatique
BOW 2024 - 3 1 - Les infrastructures équestres et le changement climatiqueidelewebmestre
 
SciencesPo_Aix_InnovationPédagogique_Atelier_APC.pdf
SciencesPo_Aix_InnovationPédagogique_Atelier_APC.pdfSciencesPo_Aix_InnovationPédagogique_Atelier_APC.pdf
SciencesPo_Aix_InnovationPédagogique_Atelier_APC.pdfSKennel
 
Cours polymère presentation powerpoint 46 pages
Cours polymère presentation powerpoint 46 pagesCours polymère presentation powerpoint 46 pages
Cours polymère presentation powerpoint 46 pagesPierreFournier32
 
BOW 2024-3-10 - Batcool Petits ruminants
BOW 2024-3-10 - Batcool Petits ruminantsBOW 2024-3-10 - Batcool Petits ruminants
BOW 2024-3-10 - Batcool Petits ruminantsidelewebmestre
 
Compersseur d'air a vis atlas copco avec huile
Compersseur d'air a vis atlas copco avec huileCompersseur d'air a vis atlas copco avec huile
Compersseur d'air a vis atlas copco avec huileMBouderbala
 
BOW 2024 - 3-8 - Adaptation des bâtiments d'élevages de volailles au changeme...
BOW 2024 - 3-8 - Adaptation des bâtiments d'élevages de volailles au changeme...BOW 2024 - 3-8 - Adaptation des bâtiments d'élevages de volailles au changeme...
BOW 2024 - 3-8 - Adaptation des bâtiments d'élevages de volailles au changeme...idelewebmestre
 
Support de cours La technologie WDM.pptx
Support de cours La technologie WDM.pptxSupport de cours La technologie WDM.pptx
Support de cours La technologie WDM.pptxdocteurgyneco1
 
BOW 2024 - Jardins d'hiver en poulets de chair
BOW 2024 - Jardins d'hiver en poulets de chairBOW 2024 - Jardins d'hiver en poulets de chair
BOW 2024 - Jardins d'hiver en poulets de chairidelewebmestre
 
BOW 2024 - 3-3 - Adaptation des bâtiments pour ruminants au changement clima...
BOW 2024 - 3-3 -  Adaptation des bâtiments pour ruminants au changement clima...BOW 2024 - 3-3 -  Adaptation des bâtiments pour ruminants au changement clima...
BOW 2024 - 3-3 - Adaptation des bâtiments pour ruminants au changement clima...idelewebmestre
 
BOW 2024 - Dedans/Dehors quand voir ne suffit pas
BOW 2024 - Dedans/Dehors quand voir ne suffit pasBOW 2024 - Dedans/Dehors quand voir ne suffit pas
BOW 2024 - Dedans/Dehors quand voir ne suffit pasidelewebmestre
 
Actions du vent sur les bâtiments selon lEurocode 1 – Partie 1-4.pdf
Actions du vent sur les bâtiments selon lEurocode 1 – Partie 1-4.pdfActions du vent sur les bâtiments selon lEurocode 1 – Partie 1-4.pdf
Actions du vent sur les bâtiments selon lEurocode 1 – Partie 1-4.pdfalainfahed961
 
Agrivoltaïsme et filière ovine en Dordogne
Agrivoltaïsme et filière ovine en DordogneAgrivoltaïsme et filière ovine en Dordogne
Agrivoltaïsme et filière ovine en Dordogneidelewebmestre
 
BOW 2024 -3-7- Impact bâtiment stress thermique Vaches laitières
BOW 2024 -3-7- Impact bâtiment stress thermique Vaches laitièresBOW 2024 -3-7- Impact bâtiment stress thermique Vaches laitières
BOW 2024 -3-7- Impact bâtiment stress thermique Vaches laitièresidelewebmestre
 
BOW 2024 - 3-2 - Stress thermique impact vaches laitières
BOW 2024 - 3-2 - Stress thermique impact vaches laitièresBOW 2024 - 3-2 - Stress thermique impact vaches laitières
BOW 2024 - 3-2 - Stress thermique impact vaches laitièresidelewebmestre
 
BOW 2024 - 3-5 - Des solutions numériques pour se préparer aux pics de chaleur
BOW 2024 - 3-5 - Des solutions numériques pour se préparer aux pics de chaleurBOW 2024 - 3-5 - Des solutions numériques pour se préparer aux pics de chaleur
BOW 2024 - 3-5 - Des solutions numériques pour se préparer aux pics de chaleuridelewebmestre
 
BOW 2024 -3-9 - Matelas de logettes à eau refroidie VL
BOW 2024 -3-9 - Matelas de logettes à eau refroidie VLBOW 2024 -3-9 - Matelas de logettes à eau refroidie VL
BOW 2024 -3-9 - Matelas de logettes à eau refroidie VLidelewebmestre
 
Accompagnement de l'agrivoltaïsme dans le département de la Nièvre
Accompagnement de l'agrivoltaïsme dans le département de la NièvreAccompagnement de l'agrivoltaïsme dans le département de la Nièvre
Accompagnement de l'agrivoltaïsme dans le département de la Nièvreidelewebmestre
 
Bow 2024 - Plein air à l'intérieur des bâtiments d'élevage de ruminants
Bow 2024 - Plein air à l'intérieur des bâtiments d'élevage de ruminantsBow 2024 - Plein air à l'intérieur des bâtiments d'élevage de ruminants
Bow 2024 - Plein air à l'intérieur des bâtiments d'élevage de ruminantsidelewebmestre
 
BOW 2024 - Nouveaux modes de logement pour des veaux de boucherie avec accès ...
BOW 2024 - Nouveaux modes de logement pour des veaux de boucherie avec accès ...BOW 2024 - Nouveaux modes de logement pour des veaux de boucherie avec accès ...
BOW 2024 - Nouveaux modes de logement pour des veaux de boucherie avec accès ...idelewebmestre
 
BOW 2024 - L'enrichissement du milieu des chèvres laitières
BOW 2024 - L'enrichissement du milieu des chèvres laitièresBOW 2024 - L'enrichissement du milieu des chèvres laitières
BOW 2024 - L'enrichissement du milieu des chèvres laitièresidelewebmestre
 

Dernier (20)

BOW 2024 - 3 1 - Les infrastructures équestres et le changement climatique
BOW 2024 - 3 1 - Les infrastructures équestres et le changement climatiqueBOW 2024 - 3 1 - Les infrastructures équestres et le changement climatique
BOW 2024 - 3 1 - Les infrastructures équestres et le changement climatique
 
SciencesPo_Aix_InnovationPédagogique_Atelier_APC.pdf
SciencesPo_Aix_InnovationPédagogique_Atelier_APC.pdfSciencesPo_Aix_InnovationPédagogique_Atelier_APC.pdf
SciencesPo_Aix_InnovationPédagogique_Atelier_APC.pdf
 
Cours polymère presentation powerpoint 46 pages
Cours polymère presentation powerpoint 46 pagesCours polymère presentation powerpoint 46 pages
Cours polymère presentation powerpoint 46 pages
 
BOW 2024-3-10 - Batcool Petits ruminants
BOW 2024-3-10 - Batcool Petits ruminantsBOW 2024-3-10 - Batcool Petits ruminants
BOW 2024-3-10 - Batcool Petits ruminants
 
Compersseur d'air a vis atlas copco avec huile
Compersseur d'air a vis atlas copco avec huileCompersseur d'air a vis atlas copco avec huile
Compersseur d'air a vis atlas copco avec huile
 
BOW 2024 - 3-8 - Adaptation des bâtiments d'élevages de volailles au changeme...
BOW 2024 - 3-8 - Adaptation des bâtiments d'élevages de volailles au changeme...BOW 2024 - 3-8 - Adaptation des bâtiments d'élevages de volailles au changeme...
BOW 2024 - 3-8 - Adaptation des bâtiments d'élevages de volailles au changeme...
 
Support de cours La technologie WDM.pptx
Support de cours La technologie WDM.pptxSupport de cours La technologie WDM.pptx
Support de cours La technologie WDM.pptx
 
BOW 2024 - Jardins d'hiver en poulets de chair
BOW 2024 - Jardins d'hiver en poulets de chairBOW 2024 - Jardins d'hiver en poulets de chair
BOW 2024 - Jardins d'hiver en poulets de chair
 
BOW 2024 - 3-3 - Adaptation des bâtiments pour ruminants au changement clima...
BOW 2024 - 3-3 -  Adaptation des bâtiments pour ruminants au changement clima...BOW 2024 - 3-3 -  Adaptation des bâtiments pour ruminants au changement clima...
BOW 2024 - 3-3 - Adaptation des bâtiments pour ruminants au changement clima...
 
BOW 2024 - Dedans/Dehors quand voir ne suffit pas
BOW 2024 - Dedans/Dehors quand voir ne suffit pasBOW 2024 - Dedans/Dehors quand voir ne suffit pas
BOW 2024 - Dedans/Dehors quand voir ne suffit pas
 
Actions du vent sur les bâtiments selon lEurocode 1 – Partie 1-4.pdf
Actions du vent sur les bâtiments selon lEurocode 1 – Partie 1-4.pdfActions du vent sur les bâtiments selon lEurocode 1 – Partie 1-4.pdf
Actions du vent sur les bâtiments selon lEurocode 1 – Partie 1-4.pdf
 
Agrivoltaïsme et filière ovine en Dordogne
Agrivoltaïsme et filière ovine en DordogneAgrivoltaïsme et filière ovine en Dordogne
Agrivoltaïsme et filière ovine en Dordogne
 
BOW 2024 -3-7- Impact bâtiment stress thermique Vaches laitières
BOW 2024 -3-7- Impact bâtiment stress thermique Vaches laitièresBOW 2024 -3-7- Impact bâtiment stress thermique Vaches laitières
BOW 2024 -3-7- Impact bâtiment stress thermique Vaches laitières
 
BOW 2024 - 3-2 - Stress thermique impact vaches laitières
BOW 2024 - 3-2 - Stress thermique impact vaches laitièresBOW 2024 - 3-2 - Stress thermique impact vaches laitières
BOW 2024 - 3-2 - Stress thermique impact vaches laitières
 
BOW 2024 - 3-5 - Des solutions numériques pour se préparer aux pics de chaleur
BOW 2024 - 3-5 - Des solutions numériques pour se préparer aux pics de chaleurBOW 2024 - 3-5 - Des solutions numériques pour se préparer aux pics de chaleur
BOW 2024 - 3-5 - Des solutions numériques pour se préparer aux pics de chaleur
 
BOW 2024 -3-9 - Matelas de logettes à eau refroidie VL
BOW 2024 -3-9 - Matelas de logettes à eau refroidie VLBOW 2024 -3-9 - Matelas de logettes à eau refroidie VL
BOW 2024 -3-9 - Matelas de logettes à eau refroidie VL
 
Accompagnement de l'agrivoltaïsme dans le département de la Nièvre
Accompagnement de l'agrivoltaïsme dans le département de la NièvreAccompagnement de l'agrivoltaïsme dans le département de la Nièvre
Accompagnement de l'agrivoltaïsme dans le département de la Nièvre
 
Bow 2024 - Plein air à l'intérieur des bâtiments d'élevage de ruminants
Bow 2024 - Plein air à l'intérieur des bâtiments d'élevage de ruminantsBow 2024 - Plein air à l'intérieur des bâtiments d'élevage de ruminants
Bow 2024 - Plein air à l'intérieur des bâtiments d'élevage de ruminants
 
BOW 2024 - Nouveaux modes de logement pour des veaux de boucherie avec accès ...
BOW 2024 - Nouveaux modes de logement pour des veaux de boucherie avec accès ...BOW 2024 - Nouveaux modes de logement pour des veaux de boucherie avec accès ...
BOW 2024 - Nouveaux modes de logement pour des veaux de boucherie avec accès ...
 
BOW 2024 - L'enrichissement du milieu des chèvres laitières
BOW 2024 - L'enrichissement du milieu des chèvres laitièresBOW 2024 - L'enrichissement du milieu des chèvres laitières
BOW 2024 - L'enrichissement du milieu des chèvres laitières
 

1 introduction

  • 1. 19/09/18 1 Technologies XML Année Universitaire 2018-2019 Pr. Y.Lefdaoui Contenu l  Introduction au méta-langage XML et les technologies associées l  Définition de la grammaire l  Les entités et les espaces de noms l  Le langage XML et Schema l  Langages : XSLT et XPath l  XSLT : les, fonctionnalités avancées l  Le modèle de document : DOM & SAX
  • 2. 19/09/18 2 Introduction l  Aujourd’hui l  Production importante de documents (sur le Web) l  Plusieurs applications, se partagent et échange des documents, l  recherchent des documents sur le Web l  Les formats de ces documents sont disparates l  PDF, images, HTML, etc. l  On cherche un protocole commun pour l  Les manipuler, les compléter l  Les communiquer à d’autres personnes et entre différents outils l  Et les interroger Standard XML(1) l  Extensible Markup Language l  Document = description + contenu + Mise en forme l  XML c’est méta-langage qui permet de decrire des instances de document. l  XML est utilisé pour structurer , stocker et echanger les données indépendant de toute application ou plateforme. l  Les balises ne sont prédefinies l  Supporte divers types de données
  • 3. 19/09/18 3 Standard XML(2) l  Mais les langages de balisages peuvent servir à décrire bien d'autres types de documents que des pages web. Ils peuvent ainsi être utiles pour: l  la création d'une base de données de livres que possède une bibliothèque, l  la mise en place d'un répertoire sur un téléphone mobile, etc. Exemple de langages de balisage parmi les plus utilisés sur Internet : l  XML l  SVG. l  Etc.. Les avantages de XML l  XML est un standard ouvert , universel et simplifié de la version SGML. l  un fichier XML est un simple fichier texte, contenant des balises facile à comprendre et à lire et supporté par plusieurs plateformes. l  Dans XML aucune balise n'est prédéfinie : c'est au concepteur de définir les balises qui ont du sens pour lui. l  XML permet à l'utilisateur de différencier l  le fond de la forme, l  de travailler sur la structure logique du document sans se soucier de sa présentation.
  • 4. 19/09/18 4 Pourquoi XML? l  Le web est confronté à deux problèmes : l  HTML n'est pas extensible, il ne peut pas répondre aux besoins spécifiques de tous les domaines §  mathématiques, §  chimie, §  musique, §  astronomie... l  ne définit plus le contenu du document ; XML apporte une réponse à ces problèmes Exemple MathML(*): x2+1 <math> <msup> <mi>x</mi> <mn>2</mn> </ msup> <mo>+</mo> <mn>1</ mn> </math> (*) http://www.w3.org/Math/
  • 5. 19/09/18 5 Exemple VoiceXML(*) Menu choix pour les répondeurs vocaux <vxml version="2.0"> <menu> <prompt>Faire un choix :<enumerate/></prompt> <choice next="http://www.meteo.exemple/meteo.vxml">Meteo</choice> <choice next="http://www.infos.exemple/infos.vxml">Info</choice> <noinput>Merci de faire un choix <enumerate/></noinput> </menu> </vxml> (*) http://www.voiceXML.org Evolution l  Les documents à balises offrent ces possibilités l  Historiquement, on trouve : l  SGML §  Standard Generalized Markup Language §  Meta-langage pour définir des langages de "markup" l  HTML : Hypertext Markup Language §  Application de SGML au Web, ayant peu de tags l  XML : eXtensible Markup Language §  Version plus légère que SGML pour le Web
  • 6. 19/09/18 6 Retour sur les normes SGML/HTML/XML l  SGML : Standard Generalized Markup Language l  Langage de représentation de données et documents structurés l  Langage de balisage généralisé descriptif l  Besoin : l  de séparer la structure logique l  chapitre, paragraphe, section, mise en relief l  de la présentation l  gras, italique, saut de ligne, rouge, clignotement, ligne horizontale l  Problèmes de SGML : l  Complexe, difficile à apprendre l  Utilisé uniquement par les professionnels de la documentation l  Difficile à utiliser sur le Web Origine des normes SGML/HTML/XML l  HTML : HyperText Markup Language l  Langage de balisage pour documents hypertextes l  Besoin : l  documents simples sur INTERNET l  Principe : l  une DTD SGML l  Limites l  HTML est un langage de présentation l  insuffisant pour couvrir toutes les applications du Web l  Retombée intéressante l  démonstration de l'intérêt des langages de balisage
  • 7. 19/09/18 7 Origine des normes SGML/HTML/XML l  XML : eXtensible Markup Language l  Sur le plan de l’encodage l  sert à encoder/structurer des données (textes, formats vectoriels, messages entre machines, feuilles de style...) l  Permet la définition de langages adaptés à des besoins très variés l  fournit le formalisme + des mécanismes pour définir ces langages (grammaires, schémas) l  Sur le plan des applications l  sert à organiser l’échange d’informations l  sert à remplacer HTML pour certaines tâches (mais fonctionne d’une autre façon ! ) l  Donc : XML n’existe pas au même sens que HTML, ce n’est qu’un formalisme ! Avantages de XML l  Productivité l  Réutilisabilité l  Perennité l  Intégrité l  Partage l  Portabilité
  • 8. 19/09/18 8 Domaines d'application l  On trouve aujourd'hui XML dans les domaines les plus variés : l  édition (description d'ouvrage avec DocBook), l  graphisme (format SVG), l  mathématiques (formules avec MathML), l  chimie (description de molécules en 3D), l  musique (partition musicale), l  etc. Aujourd’hui, XML est au centre de la galaxie de standards l  XSchema l  Schémas de documents l  XSL l  Feuilles de styles l  SAX l  API de programmation événementielle l  DOM l  API de programmation objet l  SOAP l  Protocole Web Services l  RDF l  Description de ressources Web l  ebXML l  Standards de e-Commerce
  • 9. 19/09/18 9 Structure d'un document XML l  Un document XML l  À la structure suivante l  Prologue l  Élément racine l  Arbre d'éléments ou structure l  Le prologue l  peut contenir : l  une déclaration XML l  des instructions de traitement l  une DTD Document XML : Structure, contenu et présentation l  Trois aspects dans les documents : l  Le contenu l  La structure logique l  La présentation l  XML permet de représenter les contenus textuels et la structure logique l  Les autres contenus sont des ressources externes (photos, vidéo, sons...) l  La présentation est décrite par des moyens complémentaires (CSS, XSL) l  La présentation peut changer, indépendamment des contenus et de la structure
  • 10. 19/09/18 10 Gestion documents semi-structurés Feuille de style XSL Feuille de style XSL Requêtes HTTP GET HTTP POST Requêtes Mapping XML-SQL Processeur XSL Feuille de style XSL HTML généré Serveur d’Applications Interface avec les applications bureautiques User SGBDR règles de syntaxe l  Le nom d’un élément ne peut commencer par un chiffre. l  Si le nom d’un élément est composé d’un seul caractère il doit être dans la plage [a-zA-Z] (c’est-à-dire une lettre minuscule ou majuscule sans accent) ou _ ou :. l  Avec au moins 2 caractères, le nom d’un élément peut contenir _, -, . et : plus les caractères alphanumériques (attention, le caractère : est réservé à un usage avec les espaces de nom que nous aborderons par la suite). l  Tous les éléments ouverts doivent être fermés. l  Un élément parent est toujours fermé après la fermeture des éléments fils. <a><b></a></b>.
  • 11. 19/09/18 11 Principe du balisage l  Mécanisme pour l  repérer des éléments dans un texte l  le structurer en rappelant le type des éléments l  Balisage redondant (maximal) l  Une balise de début <prenom> l  et une balise de fin </prenom> l  Exemple l  <prenom>Ali</prenom> Structure d'un document XML l  Exemple <!-- Prologue --> <?xml version="1.0" encoding="ISO-8859-1" standalone="yes"?> <!-- Élément racine --> <biblio> <!-- Premier enfant --> <livre> <!-- Élément enfant titre --> <titre>Les Misérables</titre> <auteur>Victor Hugo</auteur> <nb_tomes>3</nb_tomes> </livre> <livre> <titre>Assomoir</titre> <auteur>Emile Zola</auteur> </livre> <livre lang="en"> <titre>David Copperfield</titre> <auteur>Charles Dickens</auteur> </livre> </biblio>
  • 12. 19/09/18 12 Document XML Le prologue l  La déclaration XML <?xml version="1.0" encoding=‘iso-8859-1’ standalone=‘yes’?> l  Indique au processeur (parseur) qui va traiter le document : l  Version du langage : 1.0 (la plus récente) l  Encoding : l  jeu de codage de caractères utilisé dans le document. Le jeu de caractères standard pour la France est le ISO-8859-1 Par défaut, l'attribut encoding a la valeur UTF-8 (Unicode) l  Standalone l  Si Standalone = 'yes', le processeur considère que toutes les déclarations nécessaires au traitement du document sont incluses dans le document courant (le document est autonome et ne requiert aucune autre donnée externe) Les Règles d'écriture l  la casse des caractères dans un document XML est importante l  espaces, tabulations et retours de chariots ne le sont pas. l  un commentaire s'écrit entre <!- - et - - > et ne peut contenir le caractère tiret'-'. l  Les instructions pour les applications sont comprises entre <? et ?> Exemple : <? XXXXXX ?> l  Un nom (ou Token) commence par une lettre et peut contenir : Lettre, Chiffre, (point), (tiret), '_' (tiret souligné), ':' (deux points) l  Utilisation des caractères spéciaux : &gt pour >, &lt pour <, &amp pour & , &apos pour ', &quot pour ''
  • 13. 19/09/18 13 Document XML l  L'arbre d’éléments l  Tout document XML est représenté sous la forme d'un arbre d'éléments l  Comme tout arbre, il comporte : l  une racine, des branches et des feuilles l  qui pour nous seront que les éléments , en plus des données <Eleve> <nom>XXXX</nom> <age>?????</age> </Eleve> root Element Element Element Text() Text() Text() Exercice 1: Création d’un livre en XML l  On souhaite écrire un livre en utilisant le formalisme XML. Le livre est structuré en sections (au moins 2), en chapitres (au moins 2) et en paragraphes (au moins 2). l  Le livre doit contenir la liste des auteurs (avec nom et prénom). l  Tous les éléments doivent posséder un titre, sauf le paragraphe qui contient du texte. l  Proposez une structuration XML de ce document (avec 2 auteurs, 2 sections, 2 chapitres par section et 2 paragraphes par chapitre). l  Vérifiez, à l’aide de l’éditeur, que votre document est bien formé. l  Votre document sera nommé livre1.xml.
  • 14. 19/09/18 14 Document XML l  Les attributs l  Tous les éléments peuvent contenir un ou plusieurs attributs l  Un attribut est composé d'un nom et d'une valeur l  Syntaxe : l  <Nom-elem attribut1, attribut2, …> §  Attributi : nom="valeur" l  Exemple d'utilisation d'un élément avec attribut : l  <instrument type="vent">trompette</instrument> l  Exemple d'utilisation d'un élément vide avec attributs : l  <specif type="Live" nb_cd="1" /> Modélisation XML l  élément versus attribut l  Il n'est pas toujours facile de choisir entre élément et attribut, car il n'y a pas de règles absolues car tout peut se réduire à des éléments sans attributs.
  • 15. 19/09/18 15 Modélisation XML l  Les critères de choix sont liés à : l  La structure de l'information l  Structurée ou non structurée multi-lignes à éléments l  Non structurée à attribut l  Qui et comment est exploitée l'information l  Homme ou machine et type d'application l  L'ordre de l'information a-t-il une importance l  Ordre important à éléments l  Ordre non important à attribut l  Inclure les méta-données sous forme d'attributs dans un élément vide Exercice 2: Utilisation des attributs Conception de livre2.xml à partir de livre1.xml l  On souhaite compléter la structure du document XML de l’exercice précédent par les attributs nom et prenom pour les auteurs et titre pour le livre, les sections et les chapitres. l  Analysez la structure du nouveau document. Y a-t-il des simplifications possibles ? l  Vérifiez, à l’aide de l’éditeur, que votre document est bien formé. l  Votre document sera nommé livre2.xml.
  • 16. 19/09/18 16 Les espaces de nommage Cas de l'application SVG l  SVG est une application XML qui decrit des lignes produits par Adobe Illustrator ou Visio. l  Un document SVG peut être incorporé dans XHTML l  Les elements du SVG sont : title, metadata, defs, path, text, rect, circle, ellipse, line, polyline, polygon, use, image, svg, g, view, switch, a, altGlyphDef, script, style, symbol, marker, clipPath, mask, linearGradient, radialGradient, pattern, filter, cursor, font, animate, set, animateMotion, animateColor,animateTransform, color-profile, and font-face.
  • 17. 19/09/18 17 introduction l  les données d’origines diverses qui peuvent être en contradiction avec nos choix de structure initiaux. l  une balise ou un attribut peut avoir du sens dans un contexte mais pas dans un autre. l  le choix de l’élément titre peut représenter le titre d’un livre, mais pourquoi pas le titre de noblesse d’une personne l  Pour délimiter la portée d’une balise, d’un attribut ou d’une valeur d’attribut, nous disposons d’espaces de noms (namespace).
  • 18. 19/09/18 18 Utilisation des espaces de noms dans un document XML l  L’espace de noms par défaut l  Un premier usage consiste à utiliser simplement l’espace de noms par défaut. Ce dernier est précisé par un pseudo-attribut xmlns (retenir que ns est pour namespace). l  on ne peut appliquer qu’un seul espace de noms à la fois. L’espace de noms explicite l  L’espace de noms par défaut présente l’inconvénient d’être peu contrôlable sur un document de taille importante. l  Un préfixe est une sorte de raccourci vers l’URI de l’espace de noms
  • 19. 19/09/18 19 Espaces de nommage l  Idée l  Permettre de mélanger des éléments, ayant le même nom, déclarés dans plusieurs DTD à l'intérieur d'un même document l  C’est l’objectif de XML de pouvoir rassembler plusieurs documents écrits par différentes personnes l  Risque l  Confusion des noms et attributs l  Solution l  Ranger ces éléments et attributs dans des espaces spécifiques (à qui on donnera des noms : nommage XML) qui les identifient Exemple <?xml version="1.0"?> <cours> <nom>Fondamentaux XML</nom> <enseignant> <nom>RusTIC</nom> <prénom>freeTIC</prénom> </enseignant > <contenu> …/… </contenu> </cours>
  • 20. 19/09/18 20 Principe des espaces de nommage XML nom prenom .. nom ISBN .. document ID http://www.bar.com/cours ID http://www.bar.com/enseignant Les URI séparent les éléments et les attributs en 2 ensembles disjoints Espaces de nommage l  Comment créer un espace de nommage ? l  On le déclare en lui donnant un identifiant qui le distingue, puis on l’associe aux éléments et aux attributs ainsi rassemblés l  Pour l’identification, le meilleur identifiant est une URI l  L’URI n’a pas besoin de désigner un fichier existant l  Déclaration l  La déclaration se fait par attribut. Deux formes : l  xmlns="uri" §  définit l'espace de noms par défaut, par ex. HTML l  xmlns:prefix="uri" §  définit le préfixe représentant un espace de noms l  Exemples de déclarations d’espaces pour les éléments html et div : l  <html xmlns="http://www.w3.org/1999/xhtml"> §  entre <html> et </html>, on peut utiliser directement les balises HTML l  <div xmlns:ht='http://www.w3.org/1999/xhtml'> §  entre <div> et </div>, tous les éléments seront précédés du préfixe ht
  • 21. 19/09/18 21 <HTML> <HEAD><TITLE>Screenplays for Auction</TITLE></HEAD> <BODY> <H1>January 27, 2001 Auction</H1> <P>Pilot scripts for the Fall season:</P> <SCRIPT> <TITLE>Chicken Feathers</TITLE> <AUTHOR> <PERSON> <FIRST>William</FIRST> <LAST>Sanders</LAST> <TITLE>Col.</TITLE> </PERSON> </AUTHOR> <SYNOPSIS> Hijinks in a poultry factory </SYNOPSIS> </SCRIPT> l  <SCRIPT> l  <TITLE>Chicken Feathers</TITLE> l  <AUTHOR> l  <P:PERSON xmlns:P=”http://ns.cafeconleche.org/people/”> l  <P:FIRST>William</P:FIRST> l  <P:LAST>Sanders</P:LAST> l  <P:TITLE>Col.</P:TITLE> l  </P:PERSON> l  </AUTHOR> l  <SYNOPSIS> l  Hijinks in a poultry factory l  </SYNOPSIS> l  </SCRIPT>
  • 22. 19/09/18 22 Exemple <?xml version="1.0"?> <{http://www.bar.com/cours}cours> <{http://www.bar.com/cours}nom>Fondamentaux XML</{http://www.bar.com/cours} nom> <{http://www.s.com/individus}enseignant> <{http://www.s.com/individus}nom>rusTIC</{http://www.s.com/individus}nom> …/… </{http://www.bar.com/individus}enseignant> …/… </{http://www.bar.com/cours}cours> Pour éviter une telle écriture, on a recours à une indirection : On associe un alias à chaque URI d'espace de nom… cours à {http://www.bar.com/cours}:cours personne à http://www.bar.com/individus <?xml version="1.0"?> <cours:cours> <cours:nom>Fondamentaux XML</cours:nom> <personne:enseignant> <personne:nom>freetic</personne:nom> …/… </personne:enseignant> …/… </cours:cours> Déclaration des espaces de nommage l  Ils se déclarent dans un élément, avec le préfixe spécial xmlns. l  Ils s ’appliquent dès l’élément hôte de la déclaration <personne:enseignant> Nom qualifié / Nom Complet <cours:cours xmlns:cours="urn:acme-org:cours" xmlns:personne="http://www.bar.com/individus"> <cours cours:type="TP"> Attribut qualifié : Local name
  • 23. 19/09/18 23 Portee <?xml version="1.0"?> <Emploi xmlns:cours="http://www.bar.com/cours" xmlns:personne="http://www.bar.com/individus"> <cours:cours> <cours:nom>Fondamentaux XML</cours:nom> </ cours:cours> <personne:enseignant> <personne:nom>rusTIC</personne:nom> …/… </personne:enseignant> …/… </Emploi> <?xml version="1.0"?> <cours:cours xmlns:cours="http://www.bar.com/cours" > > <cours:cours> <cours:nom>Fondamentaux XML</cours:nom> <personne:enseignant xmlns:personne="http://www.bar.com/ individus"> <personne:nom>rusTIC</personne:nom> …/… </personne:enseignant> …/… </cours:cours> Espaces de nommage par defaut l  Exemple : utilisation du HTML dans du XML <?xml version="1.0" encoding="ISO-8859-1" ?> <livre xmlns="http://www.monserveur.fr/XML/livre"> <chapitre numero="1"> <html xmlns="http://www.w3.org/TR/REC-html-40"> <head><titre>Introduction</titre></head> <body> <h1>Introduction</h1> <p>Le livre commence par ce texte...</p> </body> </html> </chapitre> </livre>
  • 24. 19/09/18 24 Attributs avec préfixes l  Il est possible d'associer à un élément des attributs qui font partie d'un autre espace de nommage : <?xml version="1.0"?> <document xmlns:xlink="http://www.w3.org/1999/xlink"> <image xlink:type="simple" xlink:actuate="onLoad" xlink:show="embed" xlink:href="http://www.acme.com/foo/bar.jpg" width="123" height="234" /> </document> attributs "étrangers" Exercice 3 Utilisation des espaces de noms par défaut et avec préfixe l  Il s’agit de créer un document livre3.xml sur la base de livre1.xml en respectant les points suivants : l  Mettez tous les éléments dans l’espace de noms http:// www.masociete.com sans utiliser d’espace de noms par défaut. l  Mettez la deuxième section dans un espace de noms http:// www.monentreprise.com. l  Mettez le dernier paragraphe du dernier chapitre de la dernière section sans espace de noms. l  Exercice 4: Création d’une DTD l  Créez une DTD livre.dtd à partir du document livre2.xml créé