introduction et concepts : de sgml à xml
DESCRIPTION
Introduction et Concepts : De SGML à XML. 1. Origines et Objectifs 2. SGML et HTML 3. Introduction à XML 4. XML pour quoi faire ?. Au commencement…. SGML Standard Generalized Markup Language Langage à balises pour représenter des documents structurés Complexe, difficile à apprendre - PowerPoint PPT PresentationTRANSCRIPT
![Page 1: Introduction et Concepts : De SGML à XML](https://reader036.vdocuments.mx/reader036/viewer/2022062409/56815036550346895dbe321c/html5/thumbnails/1.jpg)
Introduction et Concepts : Introduction et Concepts :
De SGML à XMLDe SGML à XML1. Origines et Objectifs2. SGML et HTML3. Introduction à XML4. XML pour quoi faire ?
1
![Page 2: Introduction et Concepts : De SGML à XML](https://reader036.vdocuments.mx/reader036/viewer/2022062409/56815036550346895dbe321c/html5/thumbnails/2.jpg)
Au commencement…Au commencement… SGML
Standard Generalized Markup Language Langage à balises pour représenter des documents
structurés Complexe, difficile à apprendre Réservé aux professionnels de la documentation Difficilement extensible au Web
HTML ! (dérive de SGML) Conçu dans l’optique d’afficher des « pages webs » C’est ce qui a fait son succès
Problème de ces langages
◦Un document peut se définir par le fond et par la forme. Forme = structure + présentation Fond = structure + sémantique
2
![Page 3: Introduction et Concepts : De SGML à XML](https://reader036.vdocuments.mx/reader036/viewer/2022062409/56815036550346895dbe321c/html5/thumbnails/3.jpg)
SGMLSGML1969 C. Goldfarb, E. Mosher, R.
Lorie inventent GML chez IBMGML a été créé pour éditer des
documents, les mettre en page et les partager au sein de systèmes de gestion éditoriaux
1978 Goldfarb prend la tête d’un comité « Computer Language for the Processing of Text » au sein de l’American National Standards Institute (ANSI).
3SGML
![Page 4: Introduction et Concepts : De SGML à XML](https://reader036.vdocuments.mx/reader036/viewer/2022062409/56815036550346895dbe321c/html5/thumbnails/4.jpg)
Qu'est-ce que SGML ?Qu'est-ce que SGML ? Une norme internationale :
◦ Standard Generalized Markup Language ◦ ISO 8879 - 1989
Un métalangage de balisage de documents◦ lisible par l’être humain et traitable par une machine◦ permet de définir des langages de balisage
Les documents sont balisés conformément à une grammaire (la DTD Document Type Definition)◦ permet un balisage sémantique du fond.
Implique la notion de validité d'un document
4SGML
![Page 5: Introduction et Concepts : De SGML à XML](https://reader036.vdocuments.mx/reader036/viewer/2022062409/56815036550346895dbe321c/html5/thumbnails/5.jpg)
SGML : objectifsSGML : objectifsSéparation du fond et de la forme
◦possibilité de multiples présentations◦un seul document en SGML◦plusieurs formats : Postcript, HTML, etc.
Support de traitements sur le contenu des documents sans prise en compte de la forme
Proposition d’un cadre défini pour l’expression des modèles documentaires (validité, contrôle)
Intégration d'un format de stockage et d’échange normalisé
5SGML
![Page 6: Introduction et Concepts : De SGML à XML](https://reader036.vdocuments.mx/reader036/viewer/2022062409/56815036550346895dbe321c/html5/thumbnails/6.jpg)
SGML : critiquesSGML : critiquesTrès lourd et complexe pour la
mise en œuvre de documents respectant ce format
Une grande rigueur est demandée à l'entrée des documents
Standard complexe et complet pour le traitement des documents
Liens hypertextes possibles mais complexes
6SGML
![Page 7: Introduction et Concepts : De SGML à XML](https://reader036.vdocuments.mx/reader036/viewer/2022062409/56815036550346895dbe321c/html5/thumbnails/7.jpg)
HTML : présentationHTML : présentation
Proposé par le W3C comme format de documents sur le Web.
Langage simple avec des balises standardisées permettant la mise en forme d’un texte.
Standard reconnu par tous les navigateurs.
Langage très populaire sur le Web
<HTML>
<HEAD>
<TITLE> Exemple </TITLE>
</HEAD>
<BODY>
<H1>Contenu du document</H1>
<A HREF = "http://www.server.fr/Info /dir/test.html"> une référence externe
</A>
</BODY>
</HTML>
7HTML
![Page 8: Introduction et Concepts : De SGML à XML](https://reader036.vdocuments.mx/reader036/viewer/2022062409/56815036550346895dbe321c/html5/thumbnails/8.jpg)
HTML : inconvénientsHTML : inconvénients Normalisation des différentes balises difficile :
◦ les constructeurs ont eu tendance à définir leurs propres balises pour répondre à leurs besoins (incompatibilité)
◦ HTML 4.0 boutons, tables, applets, objects, graphiques, maths, ... styles, frames, protections, ...
Mises à jour difficiles :◦ Données utiles et mises en forme ;◦ restructuration ou remise en forme de l’ensemble des pages
du site fastidieux.◦ Pas de vérification syntaxique
Mélange le fond et la forme◦ méta-données avec la présentation◦ La sémantique du contenu est perdue◦ Pages conçues pour 1 type de terminal
8HTML
![Page 9: Introduction et Concepts : De SGML à XML](https://reader036.vdocuments.mx/reader036/viewer/2022062409/56815036550346895dbe321c/html5/thumbnails/9.jpg)
Feuilles de styleFeuilles de styleIntroduite pour diversifier les
présentationsCSS (Cascading Style Sheet)
◦mécanisme d'héritage entre nœuds◦une balise hérite de la parente◦seulement ce qu'elle spécifie est redéfini
Recommandation W3C en décembre 1996
Mécanisme simple pour ajouter un style aux documents Web◦ fonte, taille, couleur, etc.
Utilisables avec XML9HTML
![Page 10: Introduction et Concepts : De SGML à XML](https://reader036.vdocuments.mx/reader036/viewer/2022062409/56815036550346895dbe321c/html5/thumbnails/10.jpg)
XML : objectifsXML : objectifsXML= un nouveau langage d'échange
basé sur le balisageXML= plus simple que SGMLXML= plus complexe et performant
que HTMLXML = développé par XML Working
Group dirigé par le W3C (depuis 1996)XML 1.0 = recommandation officielle
du W3C depuis le 10 février 1998
10Origines
![Page 11: Introduction et Concepts : De SGML à XML](https://reader036.vdocuments.mx/reader036/viewer/2022062409/56815036550346895dbe321c/html5/thumbnails/11.jpg)
les 10 objectifs d ’XMLles 10 objectifs d ’XMLXML doit pouvoir être utilisé sans
difficulté sur InternetXML doit soutenir une grande variété
d'applicationsXML doit être compatible avec SGML et
HTMLIl doit être facile d'écrire des programmes
traitant les documents XMLLe nombre d'options dans XML doit être
réduit au minimum, idéalement à aucune
11Origines
![Page 12: Introduction et Concepts : De SGML à XML](https://reader036.vdocuments.mx/reader036/viewer/2022062409/56815036550346895dbe321c/html5/thumbnails/12.jpg)
les 10 objectifs D ’XMLles 10 objectifs D ’XMLLes documents XML doivent être lisibles
par l'homme et raisonnablement clairsLa spécification de XML doit être
disponible rapidementLa conception de XML doit être formelle
et conciseIl doit être facile de créer des
documents XMLLa concision dans le balisage de XML
est peu importante
12Origines
![Page 13: Introduction et Concepts : De SGML à XML](https://reader036.vdocuments.mx/reader036/viewer/2022062409/56815036550346895dbe321c/html5/thumbnails/13.jpg)
Introduction à XMLIntroduction à XMLXML est un méta-langage universel
pour les données sur le Web qui permet au développeur de délivrer du contenu depuis les applications à d'autres applications ou aux browsers
XML promet de standardiser la manière dont l'information est :◦Échangée (XML)◦Personnalisée (XSL)◦Retrouvée (XQuery)◦Sécurisée (Encryption, Signature)◦Liée (XLink)◦ ...
13XML
![Page 14: Introduction et Concepts : De SGML à XML](https://reader036.vdocuments.mx/reader036/viewer/2022062409/56815036550346895dbe321c/html5/thumbnails/14.jpg)
XML : la baseXML : la base
14
Les utilisateurs peuvent définir leurs propres tags
Document bien formé:<a> <b>…</b> <c> <d>Bourgogne</d>
<e>Dijon</e> </c></a>
Les tags indiquent la signification des sections marquées
Il est possible d'imposer une grammaire spécifique (DTD, Schéma)
SGML
XML
HTML
XHTML
XML
![Page 15: Introduction et Concepts : De SGML à XML](https://reader036.vdocuments.mx/reader036/viewer/2022062409/56815036550346895dbe321c/html5/thumbnails/15.jpg)
Concepts de baseConcepts de base Balise (ou tag ou label)
◦ Marque de début et fin permettant de repérer un élément textuel
◦ Forme: <balise> de début, </balise> de fin Elément de données
◦ Texte encadré par une balise de début et une de fin◦ Les éléments de données peuvent être imbriquées
<producteur> <adresse> <rue>A. Briand</rue> <ville>Dijon</ville> </adresse></producteur>
Attribut◦ Doublet nom="valeur" qualifiant une balise
<producteur no="160017" region="Bourgogne">
15XML
![Page 16: Introduction et Concepts : De SGML à XML](https://reader036.vdocuments.mx/reader036/viewer/2022062409/56815036550346895dbe321c/html5/thumbnails/16.jpg)
Pourquoi utiliser XML?Pourquoi utiliser XML? Définir vos propres langages d’échange
◦ Lisible : texte balisé avec marquage◦ Clair : séparation du fond et de la forme ◦ Extensible : supporte les évolutions applicatives
Publier des informations◦ Commande, facture, bordereau de livraison, etc.◦ neutre du point de vue format◦ mise en forme avec des feuilles de style
Archiver des données (auto-description des archives) Développé par le W3C
◦ Pour le Web (Internet, Intranet)◦ S'étend à l'entreprise et ses partenaires
Supporté par les grands constructeurs◦ IBM, Microsoft .net, SUN, BEA, etc. ◦ Des outils génériques et ouverts
16Pourquoi XML ?
![Page 17: Introduction et Concepts : De SGML à XML](https://reader036.vdocuments.mx/reader036/viewer/2022062409/56815036550346895dbe321c/html5/thumbnails/17.jpg)
Publication multi-supportsPublication multi-supports
17
XML
Base deDonnées
Application depublication
(XSL)
TV Numérique
Pourquoi XML ?
MiddlewareXMLizer
![Page 18: Introduction et Concepts : De SGML à XML](https://reader036.vdocuments.mx/reader036/viewer/2022062409/56815036550346895dbe321c/html5/thumbnails/18.jpg)
ÉÉchange de donnéeschange de données
18
Extractor
JDBC JDBC
Mapper
BDrelationnelle
Datawarehouse
Datamining
Pourquoi XML ?
![Page 19: Introduction et Concepts : De SGML à XML](https://reader036.vdocuments.mx/reader036/viewer/2022062409/56815036550346895dbe321c/html5/thumbnails/19.jpg)
Gestion documents Gestion documents semistructuréssemistructurés
19
Feuillede style
XSL
Feuillede style
XSL
RequêtesHTTP GET
HTTP POST
Requêtes
MappingXML-SQL
ProcesseurXSL
Feuillede style
XSLHTML généré
Serveur d’Applications
Interface avec les applicationsbureautiques
Amendement
SGBDR
Pourquoi XML ?
![Page 20: Introduction et Concepts : De SGML à XML](https://reader036.vdocuments.mx/reader036/viewer/2022062409/56815036550346895dbe321c/html5/thumbnails/20.jpg)
ÉÉchange B2B XML EDIchange B2B XML EDI
20
XML EDI
XMLizer
Internet(SOAP)
Donneur d’ordre
Fournisseur
Pourquoi XML ?
![Page 21: Introduction et Concepts : De SGML à XML](https://reader036.vdocuments.mx/reader036/viewer/2022062409/56815036550346895dbe321c/html5/thumbnails/21.jpg)
Forces et faiblesses de Forces et faiblesses de XMLXML
Une technologie structurante Clarifie tous les échanges Des standards internes et
externes Transversale à l'entreprise
◦ Échanges de données
◦ Bureautique
◦ GED
◦ Sites Web
◦ EDI
◦ Bases de données
◦ Intégration e-business
◦ …
Une syntaxe bavarde Un méta-langage, mais
de nombreux langages Coûteux en CPU
◦ Parsing Coûteux en mémoire
◦ Instanciation
21Pourquoi XML ?
![Page 22: Introduction et Concepts : De SGML à XML](https://reader036.vdocuments.mx/reader036/viewer/2022062409/56815036550346895dbe321c/html5/thumbnails/22.jpg)
eXtensible Markup eXtensible Markup LanguageLanguage
![Page 23: Introduction et Concepts : De SGML à XML](https://reader036.vdocuments.mx/reader036/viewer/2022062409/56815036550346895dbe321c/html5/thumbnails/23.jpg)
PlanPlanDe HTML à XMLDocuments bien formésDocuments validesLiensFeuilles de styleTraitement de documents XMLApplications
![Page 24: Introduction et Concepts : De SGML à XML](https://reader036.vdocuments.mx/reader036/viewer/2022062409/56815036550346895dbe321c/html5/thumbnails/24.jpg)
de HTML à XMLde HTML à XMLGénéralités
![Page 25: Introduction et Concepts : De SGML à XML](https://reader036.vdocuments.mx/reader036/viewer/2022062409/56815036550346895dbe321c/html5/thumbnails/25.jpg)
HTMLHTMLLangage à balises
◦Balises obligatoires (head, body, …)◦Balises à valeur sémantique (h1, meta,
…)◦Balises à valeur d’habillage (center,
small, ..)◦Nombre fini de balises◦Balises différentes suivant les
navigateursPas d’évolution possible pour l’utilisateur
![Page 26: Introduction et Concepts : De SGML à XML](https://reader036.vdocuments.mx/reader036/viewer/2022062409/56815036550346895dbe321c/html5/thumbnails/26.jpg)
HTMLHTMLAucune séparation de la forme et
du fond◦Balises de fond (Meta, Head, …)◦Balises de forme (center, small, …)◦Balises de fond & forme (h1, h2, …)
Durée de vie limitée à la durée de vie des outils capables de visionner ces documents.
![Page 27: Introduction et Concepts : De SGML à XML](https://reader036.vdocuments.mx/reader036/viewer/2022062409/56815036550346895dbe321c/html5/thumbnails/27.jpg)
L’apport de XMLL’apport de XMLEnsemble non fini de balises
◦L’utilisateur peut créer de nouvelles balises
Séparation de la forme et du fond◦Un document XML sera constitué
d’au moins deux entités (le fond et la forme)
Séparation du contenu et de la grammaire◦Permet la validation des documents
![Page 28: Introduction et Concepts : De SGML à XML](https://reader036.vdocuments.mx/reader036/viewer/2022062409/56815036550346895dbe321c/html5/thumbnails/28.jpg)
HistoriqueHistoriqueXML est un standard un W3C
(World Wide Web Consortium)XML est basé sur le standard
SGMLLes travaux de XML ont
commencé en 1996En 1999, XML est considéré
comme étant le standard d’échange d’information du futur
![Page 29: Introduction et Concepts : De SGML à XML](https://reader036.vdocuments.mx/reader036/viewer/2022062409/56815036550346895dbe321c/html5/thumbnails/29.jpg)
Documents bien formésDocuments bien formésrègles syntaxiques de XML
![Page 30: Introduction et Concepts : De SGML à XML](https://reader036.vdocuments.mx/reader036/viewer/2022062409/56815036550346895dbe321c/html5/thumbnails/30.jpg)
Un document XML bien Un document XML bien forméforméExemple de document XML :
<livre><titre> le super livre </titre><chapitre>
<numero> 1 </numero><titre> titre du chapitre 1 </titre><contenu> blabla blabla </contenu>
</chapitre><chapitre>
…</chapitre>
</livre>
![Page 31: Introduction et Concepts : De SGML à XML](https://reader036.vdocuments.mx/reader036/viewer/2022062409/56815036550346895dbe321c/html5/thumbnails/31.jpg)
Documents XML bien Documents XML bien formésformésUn document XML bien formé est
un document qui est conforme aux règles syntaxiques du langage XML.
Un document bien formé pourra être traité par un parseur XML sans générer d’exception.
Un document XML bien formé pourra être associé avec une feuille de style.
![Page 32: Introduction et Concepts : De SGML à XML](https://reader036.vdocuments.mx/reader036/viewer/2022062409/56815036550346895dbe321c/html5/thumbnails/32.jpg)
Règles syntaxiques XMLRègles syntaxiques XMLUn document XML est constitué de :
◦Un prologue : qui contient un ensemble d’informations sur le document
◦Un ensemble d’éléments avec leurs contenus : les éléments et leurs contenus sont les données du document
◦Des commentaires qui peuvent être inclus n’importe où dans le document
![Page 33: Introduction et Concepts : De SGML à XML](https://reader036.vdocuments.mx/reader036/viewer/2022062409/56815036550346895dbe321c/html5/thumbnails/33.jpg)
Le prologueLe prologueLa déclaration XML
<?xml version=“1.0” encoding=‘ISO-8859-1’ standalone=‘yes’ ?>
◦Permet de préciser la version du document
◦Permet de préciser l’encodage utilisé◦Permet de savoir si le document est
autonome ou pas (lien vers d’autres documents)
![Page 34: Introduction et Concepts : De SGML à XML](https://reader036.vdocuments.mx/reader036/viewer/2022062409/56815036550346895dbe321c/html5/thumbnails/34.jpg)
Le prologueLe prologueXML permet de définir des types
de documents.Un type de documents est une
sorte de grammaire, on peut alors valider un document par rapport à une grammaire.
Le prologue permet de déclarer le type d’un document.<!DOCTYPE livre SYSTEM "livre.dtd" >
![Page 35: Introduction et Concepts : De SGML à XML](https://reader036.vdocuments.mx/reader036/viewer/2022062409/56815036550346895dbe321c/html5/thumbnails/35.jpg)
Ensemble d’élémentsEnsemble d’élémentsLes éléments des documents XML sont
composés d’une balise d’ouverture, d’un contenu et d’une balise de clôture.<nom> contenue de l’élément </nom>
Le nom d’une balise est composé de caractères alphanumériques, du tiret-souligné, du signe moins ou du point. Il ne faut pas qu’il soit composé d’espaces. Un nom doit commencer par un caractère alphabétique ou du caractère tiret-souligné. Un nom ne doit pas commencer par XML/Xml/xML/...
![Page 36: Introduction et Concepts : De SGML à XML](https://reader036.vdocuments.mx/reader036/viewer/2022062409/56815036550346895dbe321c/html5/thumbnails/36.jpg)
Ensemble d’élémentsEnsemble d’éléments Une balise d’ouverture peut avoir un ensemble
d’attributs.Ex : <livre date=‘ 01-01-2000 ’> …
Un attribut est une paire nom=valeur Les noms des attributs suivent les mêmes règles que
les noms des éléments La valeur est une chaîne de caractères encadrée par
les caractères guillemets ou apostrophe L’attribut xml:lang est prédéfini et sa valeur
représente le langage utilisé dans le documentEx : <p xml:lang=‘ fr ’> ...
![Page 37: Introduction et Concepts : De SGML à XML](https://reader036.vdocuments.mx/reader036/viewer/2022062409/56815036550346895dbe321c/html5/thumbnails/37.jpg)
Ensemble d’élémentsEnsemble d’élémentsLe contenu d’un élément peut
être :◦un ensemble d’éléments◦et/ou des données sous forme de
chaînes de caractères ne contenant pas les caractères & et <
◦et/ou des références
![Page 38: Introduction et Concepts : De SGML à XML](https://reader036.vdocuments.mx/reader036/viewer/2022062409/56815036550346895dbe321c/html5/thumbnails/38.jpg)
Ensemble d’élémentsEnsemble d’élémentsUne référence peut être :
◦ une référence à un caractère alphanumérique, elle doit commencer par &#x, puis inclure le numéro du caractère et finir par ;
Ex : 8 est une référence vers &◦ une référence prédéfinie comme par exemple
& ou ' qui sont deux références vers & et ‘
◦ une référence vers quelque chose défini dans la DTD (Data Type Definition). Elle commence alors par &, puis par le nom de la référence, et finit par ;
Ex : &ma_reference; (avec ma-reference=‘ texte long … ’
Ce couple (nom, valeur) est appelé une entité
![Page 39: Introduction et Concepts : De SGML à XML](https://reader036.vdocuments.mx/reader036/viewer/2022062409/56815036550346895dbe321c/html5/thumbnails/39.jpg)
Ensemble d’élémentsEnsemble d’élémentsLes balises de clôture sont
composées des noms correspondant aux balises d’ouvertures précédés du caractère /
Ex : </livre>En élément peut être vide (sans
contenu), dans ce cas, il n’a qu’une seule balise (composée du nom suivi du caractère /)
Ex : <Element_vide/>
![Page 40: Introduction et Concepts : De SGML à XML](https://reader036.vdocuments.mx/reader036/viewer/2022062409/56815036550346895dbe321c/html5/thumbnails/40.jpg)
Sections littéralesSections littéralesLorsque le parseur scanne un
élément, il remplace toutes les références par leurs valeurs.
Pour empêcher cela, il faut utiliser une section littérale. Une section littérale est encadrée par <![CDATA[ et par ]]>Ex : <![CDATA[ <auteurs> Dupond & ]]>
![Page 41: Introduction et Concepts : De SGML à XML](https://reader036.vdocuments.mx/reader036/viewer/2022062409/56815036550346895dbe321c/html5/thumbnails/41.jpg)
Instructions de traitementInstructions de traitement Il est possible d’inclure des instructions de
traitement dans un document XMLLa déclaration d’une instruction de
traitement se fait de la facon suivante :<?nom arg1 arg2 .. ?>
nom est le nom de l’application ciblearg1, arg2, … sont les arguments de
l ’applicationLes noms XML, XmL, … sont réservés
![Page 42: Introduction et Concepts : De SGML à XML](https://reader036.vdocuments.mx/reader036/viewer/2022062409/56815036550346895dbe321c/html5/thumbnails/42.jpg)
CommentaireCommentaireDes commentaires peuvent être
inclus dans le contenu d’un élément XML. Ils doivent être encadrés par les marques <!-- et -->
Un commentaire est une chaîne de caractères quelconque qui ne contient pas la chaîne --
Exemple :<!-- un commentaire --><!-- un commentaire qui n’est -- pas bien formé -->
![Page 43: Introduction et Concepts : De SGML à XML](https://reader036.vdocuments.mx/reader036/viewer/2022062409/56815036550346895dbe321c/html5/thumbnails/43.jpg)
Documents bien formésDocuments bien formésLe plus petit :
<?xml version=“1.0” encoding=‘ISO-8859-1’ standalone=‘yes’ ?><livre/>
Un autre :<?xml version=“1.0” encoding=‘ISO-8859-1’ standalone=‘yes’ ?><livre date=‘ 01-01-2000 ’>
<chapitre> XML & HTML </chapitre><!-- préciser la version de HTML-->
</livre>
![Page 44: Introduction et Concepts : De SGML à XML](https://reader036.vdocuments.mx/reader036/viewer/2022062409/56815036550346895dbe321c/html5/thumbnails/44.jpg)
![Page 45: Introduction et Concepts : De SGML à XML](https://reader036.vdocuments.mx/reader036/viewer/2022062409/56815036550346895dbe321c/html5/thumbnails/45.jpg)
Documents validesDocuments validesXML et grammaire
![Page 46: Introduction et Concepts : De SGML à XML](https://reader036.vdocuments.mx/reader036/viewer/2022062409/56815036550346895dbe321c/html5/thumbnails/46.jpg)
Document Type DefinitionDocument Type DefinitionEn XML, un type de document
représente une structure (une grammaire)
Ex : le type livre précise qu’un livre est
composé de chapitres, qui sont composés
de parties …Un type de document est défini dans
une DTD (Document Type Definition)Une DTD peut être inclue ou
référencée par un document XML
![Page 47: Introduction et Concepts : De SGML à XML](https://reader036.vdocuments.mx/reader036/viewer/2022062409/56815036550346895dbe321c/html5/thumbnails/47.jpg)
Document Type DefinitionDocument Type DefinitionOn peut vérifier la validité d’un document
par rapport à la DTD qu’il référence ou qu’il inclut. On parlera alors de document XML valide
Un document XML valide est donc un document XML bien formé qui a une DTD et qui est conforme à cette DTD
Il existe déjà de nombreuses DTD, il est alors possible de les utiliser pour construire des documents XML valides
Ex : La DTD MathML pour les équations
![Page 48: Introduction et Concepts : De SGML à XML](https://reader036.vdocuments.mx/reader036/viewer/2022062409/56815036550346895dbe321c/html5/thumbnails/48.jpg)
Document Type DefinitionDocument Type DefinitionPour associer un document XML à une DTD,
il faut le faire avec l’élément <!DOCTYPE>Ex : <!DOCTYPE livre SYSTEM "livre.dtd" >
On considère qu’un document XML est constitué de deux choses : La DTD et la donnée.
Un document XML bien formé peut ne pas être composé de DTD
Un document XML valide doit avoir une DTD
![Page 49: Introduction et Concepts : De SGML à XML](https://reader036.vdocuments.mx/reader036/viewer/2022062409/56815036550346895dbe321c/html5/thumbnails/49.jpg)
Data Type DefinitionData Type DefinitionUne DTD est définie dans l’élément
<!DOCTYPE name SYSTEM "fichier.dtd" [delaration] >
◦name est le nom du type de document◦SYSTEM "fichier.dtd" est une référence
vers le fichier.dtd. Ce fichier contient tout ou une partie de la DTD. C’est la partie externe de la DTD
◦[declaration] permet de définir tout ou une partie de la DTD. C ’est la partie interne de la DTD
![Page 50: Introduction et Concepts : De SGML à XML](https://reader036.vdocuments.mx/reader036/viewer/2022062409/56815036550346895dbe321c/html5/thumbnails/50.jpg)
Contenu d’une DTDContenu d’une DTDDéclarations des entitésDéclarations des éléments et de
leurs contenusDéclarations des attributs des
élémentsCommentaires
![Page 51: Introduction et Concepts : De SGML à XML](https://reader036.vdocuments.mx/reader036/viewer/2022062409/56815036550346895dbe321c/html5/thumbnails/51.jpg)
Les entitésLes entitésUne entité est un couple (nom, valeur). On
référence le nom pour utiliser la valeur. Ex : & (amp,&)
Une entité peut être interne (définie dans le document) ou externe (définie ailleurs)
Les entités internes ont des valeurs de chaînes de caractères XML et sont utilisées comme moyen d’abréviation.
Les entités externes peuvent être de type◦ XML : utilisé pour segmenter un document en
parties◦ non XML : utilisé pour inclure des sons, images ...
![Page 52: Introduction et Concepts : De SGML à XML](https://reader036.vdocuments.mx/reader036/viewer/2022062409/56815036550346895dbe321c/html5/thumbnails/52.jpg)
Déclaration des entitésDéclaration des entitésLes entités doivent être déclarées
dans la DTDUn document peut référencer
n’importe quelle entité qui a été déclaré dans la DTD mais aussi les entités prédéfinis (amp, apos, …)
La déclaration d’une entité se fait de la manière suivante :<!ENTITY nom valeur>◦La valeur doit être entre guillemets
![Page 53: Introduction et Concepts : De SGML à XML](https://reader036.vdocuments.mx/reader036/viewer/2022062409/56815036550346895dbe321c/html5/thumbnails/53.jpg)
Les entités externes XMLLes entités externes XMLPermet la segmentation d’un document XMLEx :
<!DOCTYPE livre [<!ENTITY chapitre-1 SYSTEM
"./chap1.xml"><!ENTITY chapitre-2 SYSTEM
"./chap2.xml">]>
<livre>&chapitre-1;&chapitre-2;
</livre>Le mot clé SYSTEM indique une URL, voir le
mot clé PUBLIC avec les identificateurs public
![Page 54: Introduction et Concepts : De SGML à XML](https://reader036.vdocuments.mx/reader036/viewer/2022062409/56815036550346895dbe321c/html5/thumbnails/54.jpg)
Les entités externes non-Les entités externes non-XMLXMLLes entités externes non-XML servent à
inclure des images, du son ou autre dans un document XML
Avant de définir l ’entité, il faut définir son format en utilisant une NOTATIONEx : <!NOTATION img "./PsP" >
Puis définir l’entitéEx : <!ENTITY fond SYSTEM "./fond.img" NDATA img>
L ’utilisation se fait donc ainsi :Ex : <photo val=‘ fond ’/>
![Page 55: Introduction et Concepts : De SGML à XML](https://reader036.vdocuments.mx/reader036/viewer/2022062409/56815036550346895dbe321c/html5/thumbnails/55.jpg)
Les entités paramètresLes entités paramètresCes entités sont définies dans une DTD mais
elles sont aussi utilisées dans une DTDUne entités paramètre est forcement XMLUne entités paramètre se définie comme une
entité générale si ce n’est qu’il y a le caractère %.Ex : <!ENTITY % nom valeur>
Pour référencer une entité paramètre on utilise le caractère %Ex : %nom;
![Page 56: Introduction et Concepts : De SGML à XML](https://reader036.vdocuments.mx/reader036/viewer/2022062409/56815036550346895dbe321c/html5/thumbnails/56.jpg)
Les éléments dans la DTDLes éléments dans la DTDLa déclaration d’un élément se fait
de la manière suivante :<!ELEMENT nom modèle>
Le nom correspond au nom de l’élément
Le modèle défini le contenu de l’élément :◦éléments fils◦données◦mélanges éléments fils et données◦n’importe quoi respectant la syntaxe
XML◦élément vide
![Page 57: Introduction et Concepts : De SGML à XML](https://reader036.vdocuments.mx/reader036/viewer/2022062409/56815036550346895dbe321c/html5/thumbnails/57.jpg)
Les éléments dans la DTDLes éléments dans la DTD Pour décrire les éléments fils d’un élément, il suffit de
donner leurs noms entre parenthèses. Si l’ordre des élément fils est important on les sépare
par des virgules sinon par des barres verticales. Pour préciser les multiplicités des éléments fils on
utilise : (soit fils le nom de l’élément fils) :◦ fils = une fois et une seule◦ fils? = 0 ou 1 fois◦ fils* = 0, 1 ou plus d’une fois◦ fils+ = au moins un fois
il est possible de faire des groupes d’éléments fils en utilisant des parenthèses.
![Page 58: Introduction et Concepts : De SGML à XML](https://reader036.vdocuments.mx/reader036/viewer/2022062409/56815036550346895dbe321c/html5/thumbnails/58.jpg)
Les éléments dans la DTDLes éléments dans la DTDExemples de définition d’élément
:<!ELEMENT livre (titre, intro, chapitre+)><!ELEMENT chapitre (titre , (titre_partie, partie)+)>...
![Page 59: Introduction et Concepts : De SGML à XML](https://reader036.vdocuments.mx/reader036/viewer/2022062409/56815036550346895dbe321c/html5/thumbnails/59.jpg)
Les éléments dans la DTDLes éléments dans la DTDLorsqu’un élément ne contient
que des données (i.e. : un chaîne de caractère), on le défini de cette manière avec le mot clé : #PCDATAT
Ex :<!ELEMENT partie (#PCDATA)>
![Page 60: Introduction et Concepts : De SGML à XML](https://reader036.vdocuments.mx/reader036/viewer/2022062409/56815036550346895dbe321c/html5/thumbnails/60.jpg)
Les éléments dans la DTDLes éléments dans la DTDIl est possible qu’un élément ait
des éléments fils mais aussi des données. Il est tout à fait possible de définir ce type d’élément dans une DTD.
Ex :<!ELEMENT toto (#PCDATA, titi, tutu)*>
![Page 61: Introduction et Concepts : De SGML à XML](https://reader036.vdocuments.mx/reader036/viewer/2022062409/56815036550346895dbe321c/html5/thumbnails/61.jpg)
Les éléments dans la DTDLes éléments dans la DTDLorsqu’un élément peut contenir
soit du texte, soit n’importe quel ensemble d’élément fils, il faut utiliser le mot clé ANYEx : <!ELEMENT elmt ANY>
Lorsqu’un élément est un élément vide, il faut utiliser le mot clé EMPTYEx : <!ELEMENT elmt EMPTY>
![Page 62: Introduction et Concepts : De SGML à XML](https://reader036.vdocuments.mx/reader036/viewer/2022062409/56815036550346895dbe321c/html5/thumbnails/62.jpg)
Les attributs dans la DTDLes attributs dans la DTDLa déclaration des attributs d’un élément se
fait de la manière suivante :<!ATTLIST element (attribut type default)+>
element correspond au nom de l’élément qui contient l’attribut
attribut correspond au nom de l’attribut type correspond au type de l’attributdefault contient des indications sur la valeur
par défaut
![Page 63: Introduction et Concepts : De SGML à XML](https://reader036.vdocuments.mx/reader036/viewer/2022062409/56815036550346895dbe321c/html5/thumbnails/63.jpg)
Les attributs dans la DTDLes attributs dans la DTDLe type de l’attribut peut être :
◦CDATA pour une chaîne de caractère◦ID ou IDREF pour des références
internes au document◦ENTITY ou ENTITIES pour des
références externes non-XML◦NOTATION pour associer le contenu
de l’élément à une application
![Page 64: Introduction et Concepts : De SGML à XML](https://reader036.vdocuments.mx/reader036/viewer/2022062409/56815036550346895dbe321c/html5/thumbnails/64.jpg)
Les attributs dans la DTDLes attributs dans la DTDL’indication sur la valeur par
défaut peut être :◦#REQUIRED indique que l’attribut
doit avoir une valeur une fois le document créé.
◦#IMPLIED indique que l’attribut est optionnel.
◦#FIXED ‘valeur’ indique que l’attribut est une constante
![Page 65: Introduction et Concepts : De SGML à XML](https://reader036.vdocuments.mx/reader036/viewer/2022062409/56815036550346895dbe321c/html5/thumbnails/65.jpg)
Les attributs dans la DTDLes attributs dans la DTDQuelques exemples :
<!ATTLIST ex1 att1 CDATA #IMPLIED><!ATTLIST ex2 att1 CDATA #IMPLIED
att2 ENTITY #REQUIRED>...
![Page 66: Introduction et Concepts : De SGML à XML](https://reader036.vdocuments.mx/reader036/viewer/2022062409/56815036550346895dbe321c/html5/thumbnails/66.jpg)
Sections conditionnellesSections conditionnelles<![ INCLUDE [ contenu ]]> fait que
le contenu appartient à la DTD<![IGNORE [ contenu ]]> fait que le
contenu n’appartient pas à la DTDEn utilisant des entités paramètres
et en les redéfinissant dans le document, il est alors possible d’avoir une DTD conditionnelle
![Page 67: Introduction et Concepts : De SGML à XML](https://reader036.vdocuments.mx/reader036/viewer/2022062409/56815036550346895dbe321c/html5/thumbnails/67.jpg)
LiensLiensNavigation XML
![Page 68: Introduction et Concepts : De SGML à XML](https://reader036.vdocuments.mx/reader036/viewer/2022062409/56815036550346895dbe321c/html5/thumbnails/68.jpg)
Avec les attributs ID et Avec les attributs ID et IDREFIDREF L’attribut ID permet d’associer un identifiant à un
élémentEx : <!ELEMENT cible (#PCDATA)><!ATTLIST cible identifiant ID #IMPLIED>
L ’attribut IDREF permet de référencer un élément qui possède un attribut IDEx : <!ELEMENT référence EMPTY><!ATTLIST référence ref IDREF #REQUIRED>
D’où<cible identifiant=‘01234’> blabla </cible><!-- une référence --><référence ref=‘01234’/>
![Page 69: Introduction et Concepts : De SGML à XML](https://reader036.vdocuments.mx/reader036/viewer/2022062409/56815036550346895dbe321c/html5/thumbnails/69.jpg)
XPointer XML Pointer XPointer XML Pointer LanguageLanguageXPointer est le standard qui
permet de référencer des ressources
Un XPointer est constitué d’une référence de base puis d’une cascade de références. Ainsi il est possible de référencer la valeur de l’attribut couleur du 3ème éléments fils de l’élément de type voiture.
![Page 70: Introduction et Concepts : De SGML à XML](https://reader036.vdocuments.mx/reader036/viewer/2022062409/56815036550346895dbe321c/html5/thumbnails/70.jpg)
XPointer XML Pointer XPointer XML Pointer LanguageLanguageLa référence de base d’un
XPointer est :◦root() : la racine du document cible◦origin() : l’origine du pointeur.◦id(nb) : l’élément ayant un attribut id
avec nb comme valeur◦html(val) : un élément <A> ayant un
attribut name avec val comme valeur
![Page 71: Introduction et Concepts : De SGML à XML](https://reader036.vdocuments.mx/reader036/viewer/2022062409/56815036550346895dbe321c/html5/thumbnails/71.jpg)
XPointer XML Pointer XPointer XML Pointer LanguageLanguageLes cascades de référence peuvent
être :◦child(), descendant(), ancestor(), …
avec les paramètres suivant : nb : le numéro de l ’occurrence #element, #pi, #comment, #text, #all nom : le nom d’un élément un nom d’attribut et/ou une valeur d’attribut
◦attr(nom) pour la valeur d’un attribut nom
◦...
![Page 72: Introduction et Concepts : De SGML à XML](https://reader036.vdocuments.mx/reader036/viewer/2022062409/56815036550346895dbe321c/html5/thumbnails/72.jpg)
XPointer XML Pointer XPointer XML Pointer LanguageLanguageUn XPointer peut être précédé
d’un URL, il faut utiliser le caractère # comme séparateur
Exemples de XPointerhttp://un.deux.fr/toto.xml#root().child(1,titre)http://un.deux.fr/toto.xml#id(0123)...
![Page 73: Introduction et Concepts : De SGML à XML](https://reader036.vdocuments.mx/reader036/viewer/2022062409/56815036550346895dbe321c/html5/thumbnails/73.jpg)
XLink XML Linking XLink XML Linking LanguageLanguageUn XLink permet de lier plusieurs
ressource entre elles.Les XLink peuvent être :
◦simples / étendus : les liens simples n’ont qu’une seule cible contrairement aux liens étendus
◦inclus / exclus : La ressource qui décrit les liens inclus est inclue dans le liens, elle est considérée comme l’origine.
![Page 74: Introduction et Concepts : De SGML à XML](https://reader036.vdocuments.mx/reader036/viewer/2022062409/56815036550346895dbe321c/html5/thumbnails/74.jpg)
XLink XML Linking XLink XML Linking LanguageLanguageDTD du lien simple
<!ELEMENT lk-simple EMPTY><!ATTLIST lk-simple
xml:link CDATA #FIXED ‘simple ’href CDATA #REQUIREDinline (true | false) ‘true’role CDATA #IMPLIEDtitle CDATA #IMPLIEDcontent-role CDATA #IMPLIEDcontent-title CDATA #IMPLIEDshow (embed | replace | new) #IMPLIEDactuate (auto | user) #IMPLIEDbehavior CDATA #IMPLIED
>
![Page 75: Introduction et Concepts : De SGML à XML](https://reader036.vdocuments.mx/reader036/viewer/2022062409/56815036550346895dbe321c/html5/thumbnails/75.jpg)
XLink XML Linking XLink XML Linking LanguageLanguagePour les liens étendus, la valeur
de l’attribut xml.link est ‘extended’
Un lien étendu est composé de plusieurs cibles. Chaques cibles est représenté par un élément avec l’attribut xml.link qui a comme valeur ‘locator’
![Page 76: Introduction et Concepts : De SGML à XML](https://reader036.vdocuments.mx/reader036/viewer/2022062409/56815036550346895dbe321c/html5/thumbnails/76.jpg)
Feuilles de styleFeuilles de styleL’habillage de documents XML
![Page 77: Introduction et Concepts : De SGML à XML](https://reader036.vdocuments.mx/reader036/viewer/2022062409/56815036550346895dbe321c/html5/thumbnails/77.jpg)
La forme et le fondLa forme et le fondUn document XML contient des
informations qui vont être présentées sur différents supports (ecran, feuille, son, …)
Il est possible de créer des feuilles de style pour décrire comment se fait cette présentation
Les feuilles de style sont référencées par les documents XML, elles n’en font pas parties
![Page 78: Introduction et Concepts : De SGML à XML](https://reader036.vdocuments.mx/reader036/viewer/2022062409/56815036550346895dbe321c/html5/thumbnails/78.jpg)
CSS : Cascading Style CSS : Cascading Style SheetsSheetsCSS est un standard du W3C pour décrire
des feuilles de style.CSS-1 a été défini en 1996, CSS-2 en 1998CSS-1 est supporté par les navigateur
version 4 de netscape et microsoft.CSS-2 est supporté par les navigateur
version 5 de netscape et microsoftLe W3C s’est engagé pour qu’une version N
soit toujours valide par rapport au version N+x de la norme.
![Page 79: Introduction et Concepts : De SGML à XML](https://reader036.vdocuments.mx/reader036/viewer/2022062409/56815036550346895dbe321c/html5/thumbnails/79.jpg)
CSS : Cascading Style CSS : Cascading Style SheetsSheetsIl est possible de définir plusieurs
feuilles de style pour un document XML
Il est possible de définir une feuille de style avec des propriétés valables uniquement pour les écrans et des propriétés valables uniquement pour les imprimantes.
Il est possible qu’une feuille de style importe d’autres feuilles de style
![Page 80: Introduction et Concepts : De SGML à XML](https://reader036.vdocuments.mx/reader036/viewer/2022062409/56815036550346895dbe321c/html5/thumbnails/80.jpg)
CSS : Cascading Style CSS : Cascading Style SheetsSheetsLe principe de base de CSS est le
suivantselecteur {
propriété1: valeur;propriété2: valeur;
}Selecteur indique quel est (ou quels
sont) l’élément affecté par ces propriétés.
Les propriétés sont des indications sur la forme, CSS définit 122 propriétés
![Page 81: Introduction et Concepts : De SGML à XML](https://reader036.vdocuments.mx/reader036/viewer/2022062409/56815036550346895dbe321c/html5/thumbnails/81.jpg)
CSS : Cascading Style CSS : Cascading Style SheetsSheetsEx de feuille de style CSS :@media screen, print {
*{background : black;color : yellow;font-weight : bold;font-size:14pt;font-family : Garamond;font-style : normal;
}}
![Page 82: Introduction et Concepts : De SGML à XML](https://reader036.vdocuments.mx/reader036/viewer/2022062409/56815036550346895dbe321c/html5/thumbnails/82.jpg)
CSS : Cascading Style CSS : Cascading Style SheetsSheets
![Page 83: Introduction et Concepts : De SGML à XML](https://reader036.vdocuments.mx/reader036/viewer/2022062409/56815036550346895dbe321c/html5/thumbnails/83.jpg)
CSS : Cascading Style CSS : Cascading Style SheetsSheets
![Page 84: Introduction et Concepts : De SGML à XML](https://reader036.vdocuments.mx/reader036/viewer/2022062409/56815036550346895dbe321c/html5/thumbnails/84.jpg)
XSL : eXtensible Stylesheet XSL : eXtensible Stylesheet LanguageLanguageXSL est un standard pour décrire
des feuilles de styleLa spécification date de Avril
1999, elle n’est pas encore totalement stabilisée
XSL permet plus de chose que CSS◦La présentation n’est pas basé sur
l’arbre du document XML◦Il est possible de rajouter des
informations (ex : table des matières, …)
![Page 85: Introduction et Concepts : De SGML à XML](https://reader036.vdocuments.mx/reader036/viewer/2022062409/56815036550346895dbe321c/html5/thumbnails/85.jpg)
XSL : eXtensible Stylesheet XSL : eXtensible Stylesheet LanguageLanguagePour afficher un document
◦L’arbre source est transformé en fonction des directives de la feuille de style XSL
◦L’arbre transformé est mis en sortie (écran, papier)
Une feuille de style XSL décrit les directives de transformation de l’arbre source.
![Page 86: Introduction et Concepts : De SGML à XML](https://reader036.vdocuments.mx/reader036/viewer/2022062409/56815036550346895dbe321c/html5/thumbnails/86.jpg)
XSL : eXtensible Stylesheet XSL : eXtensible Stylesheet LanguageLanguageStructure d’un feuille XSL
<xsl><define-script>
var foo = …function bar(xx) {…}
</define-script><define-style name= "style-para"
<!– attributs de formatage -->/><define-macro name=item
<!– forme resultat --> </define-macro><import href="feuille.xsl" /><id attribute="sqd" />
![Page 87: Introduction et Concepts : De SGML à XML](https://reader036.vdocuments.mx/reader036/viewer/2022062409/56815036550346895dbe321c/html5/thumbnails/87.jpg)
XSL :eXtensible Stylesheet XSL :eXtensible Stylesheet LanguageLanguage Structure d’une feuille XSL (suite)
<rule><root/><HTML>
<BODY><children/></BODY>
</HTML></rule><rule>
<element type="para"/><target-element
type="code" /><PRE> <children/></PRE>
</rule>
![Page 88: Introduction et Concepts : De SGML à XML](https://reader036.vdocuments.mx/reader036/viewer/2022062409/56815036550346895dbe321c/html5/thumbnails/88.jpg)
XSL : eXtensible Stylesheet XSL : eXtensible Stylesheet LanguageLanguageExemple de feuille XSL
<xsl><rule>
<root/><HTML>
<BODY><children/>
</BODY></HTML>
</rule><rule>
<element type="cours"/><target-element
type="auteur"/><H1> Salut je lis auteur </H1>
</rule></xsl>
![Page 89: Introduction et Concepts : De SGML à XML](https://reader036.vdocuments.mx/reader036/viewer/2022062409/56815036550346895dbe321c/html5/thumbnails/89.jpg)
XSL : eXtensible Stylesheet XSL : eXtensible Stylesheet LanguageLanguage