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

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

03/09/2014BELKHIR ABDELKADER Le Langage XML Belkhir Abdelkader Laboratoire LSI USTHB

Présentations similaires


Présentation au sujet: "03/09/2014BELKHIR ABDELKADER Le Langage XML Belkhir Abdelkader Laboratoire LSI USTHB"— Transcription de la présentation:

1 03/09/2014BELKHIR ABDELKADER Le Langage XML Belkhir Abdelkader Laboratoire LSI USTHB

2 03/09/2014BELKHIR ABDELKADER Objectifs n Introduction Document papier: livre,journal, article… electronique: dépendant de l’application hypertexte: jusqu’où suivre les liens? Définition?

3 03/09/2014BELKHIR ABDELKADER Dimensions d’un document Logique (chapitre, titre, section... Spatiale (mise en page) Temporelle (scénario) Sémantique Document : arbre feuilles : contenu

4 Qu’est-ce que XML ? n eXtended Markup Language n Langage de balises permettant de marquer les documents afin de les structurer n Coder la structure ou le sens plutôt que la forme d’un document n Langage flexible, expressif, simple, répandu

5 03/09/2014BELKHIR ABDELKADER  Permettre une exploitation automatique - transformation de structure -extraction d’information  Contraindre leur structure -Construire des modèles de documents -Définir la présentation en fonction de la structure logique

6 03/09/2014BELKHIR ABDELKADER HTML, SGML et XML HTML: mise en forme + information SGML: langage de marquage strict et complexe XML: compromis entre légèreté de HTML et complexité de SGML

7 03/09/2014BELKHIR ABDELKADER BUT de XML -Structurer les documents par domaine -Stockage arborescent -Organisation et définition multimédia

8 03/09/2014BELKHIR ABDELKADER Bernard Jean Dupré Jean-Yves... Exemple en XML

9 03/09/2014BELKHIR ABDELKADER Document XML – Un prologue (entête) – corps

10 03/09/2014BELKHIR ABDELKADER Prologue Version= "numéro de version" Encoding= "type d'encodage" Standalone="yes|no" Première ligne : déclaration XML

11 03/09/2014BELKHIR ABDELKADER suite d'éléments délimités par des marqueurs Règles: – Chaque élément: marqueur d'ouverture et un marqueur de fermeture – Les éléments doivent être emboîtés, à partir de la racine – peuvent avoir un contenu, ou être vides ( ) – peuvent avoir des attributs, ou ne pas en avoir – contenu : texte et/ou d’autres éléments et/ou des commentaires – Respecter la casse – Organisation arborescente (racine) Corps du document

12 Vue intuitive de la syntaxe Un élément (‘NOM’) Bernard balise ouvrante + contenu + balise fermante Règle de base – Eléments emboîtés : OK contenu – Eléments enchaînés : OK contenu1 contenu2 – Eléments chevauchés : JAMAIS ! contenu1 contenu2...

13 03/09/2014BELKHIR ABDELKADER exemple Bernard Jean Dupré Jean-Yves

14 Document XML bien formé Un document bien formé respecte la syntaxe de base XML Exemples d’erreurs de bonne formation – absence de déclaration XML – mauvaise syntaxe des balises pas d’élément racine, pas de fermeture, croisement,… – mauvaise formation des noms XML – caractères spéciaux mal utilisés

15 Les DTD Questions générales – comment communiquer à quelqu’un sa propre convention de marquage ? – comment vérifier qu’elle est respectée? Plus précisément – décrire les noms de balises autorisés – décrire un ordre autorisé pour les balises – quels éléments peuvent contenir quels éléments – quels éléments sont optionnels – quels sont les attributs autorisés, obligatoires /optionnels, leur type, etc.

16 La « grammaire des balises » n DTD : Document Type Definition – notion provenant de SGML – très utilisée en XML – écrite dans un langage spécifique n Document conforme à une DTD : valide...

17 Que contient une DTD ? n Déclarations des noms de balises autorisés n Déclarations de l’ordre des balises – dans chaque "contenu" : voir les exemples n Déclarations des attributs de chaque élément (noms, types, attribut obligatoire ou non)

18 Exemple de DTD (externe, locale) 1. Déclaration DOCTYPE dans le fichier XML 2. Contenu du fichier texte "biblio.dtd"

19 Associer une DTD à un document n DTD interne au fichier XML n DTD externe : dans un autre fichier n DTD externe : publique (connue) n On peut combiner : – une partie de DTD interne et une partie SYSTEM – une partie de DTD interne et une partie PUBLIC

20 03/09/2014BELKHIR ABDELKADER Vérification / validation n Bien distinguer BF et validité – bonne formation : respecter la syntaxe XML – validité : respecter une DTD précisée

21 03/09/2014 Les feuilles de style XSLT n Indiquent comment un fichier XML doit être transformé en un autre fichier XML (ou texte, ou HTML) n Sont aussi des documents XML bien formés – déclaration XML en première ligne – déclaration de l’encodage (UTF-8 par défaut, ou ISO , etc.) – règles de fermeture des balises, etc.

22 03/09/2014BELKHIR ABDELKADER Le langage XSLT  XSL : eXtensible Stylesheet Language  Deux sous-langages XSLT : XSL Transformations XSL-FO : XSL Formatting Objects  XSLT = transformer un fichier XML en un autre fichier XML, ou en un fichier HTML  XSL-FO = transformer un fichier XML en un fichier imprimable (p.ex. PDF)

23 03/09/2014 n Fichier XML ( + DTD éventuellement) = D n Feuille de style XSL = F n Processeur XSL = programme qui applique la feuille de style au fichier = P Le processeur P transforme D en D’ grâce à F Principe

24 03/09/2014 Rôle du processeur XSL

25 03/09/2014 n Utiliser plusieurs feuilles de style pour un même type de documents afin de varier l’affichage selon les besoins n Exemple : fiches bibliographiques en XML – affichage détaillé – affichage résumé – catalogue de toutes les fiches Intérêt de XSL

26 03/09/2014 Structure d’une feuille de style XSLT (1) n Déclaration XML habituelle n Elément racine xsl:stylesheet + attributs fixés n n Instructions de conversion des éléments – comment les éléments de départ seront transformés n Fermeture :

27 03/09/2014 Structure d’une feuille de style XSLT (2)

28 03/09/2014 Comment une feuille de style XSLT est appliquée (1) n Le processeur lit la feuille de style et mémorise ses instructions de type xsl:template – si des erreurs sont détectées dans la feuille de style, STOP n Le processeur lit le fichier XML à transformer et le vérifie – s’il est mal formé ou non valide, STOP n Le processeur parcourt le document XML initial – du début à la fin – sous forme d’arbre – des éléments parents vers les élément enfants – sauf si la feuille de style change l’ordre de parcours

29 03/09/2014 Comment une feuille de style XSLT est appliquée (2) n Pour chaque élément du document à transformer – le processeur cherche l’instruction de formatage XSLT ( ) qui s’applique à lui – s’il la trouve, il écrit ce qu’elle dit – sinon, il y a deux instructions par défaut n Par défaut: si rien n’est prévu pour un élément – éléments avec du texte: recopier seulement le texte, sans les balises – une fois le texte recopié, passer aux éléments fils (i.e. contenus dans l’élément traité)

30 03/09/2014 Principe de « propagation » n Si dans la feuille de style on prévoit une instruction xsl:template pour traiter un certain élément, ne pas oublier de préciser dans l’instruction ce qui doit se passer avec ses fils ! – si on veut les ignorer, on ne dit rien – si on veut les traiter, écrire : – pour traiter tous les fils, écrire :

31 03/09/2014 Commandes de base (1) n Instruction de formatage principale PAR QUOI REMPLACER CET ELEMENT, TEXTE- OU-BALISES n Jokers * signifie ‘tout fils’. signifie l’élément courant – langage très riche: XPath

32 03/09/2014 Intégration XML base de données n Il y a des instructions de formatage générales, à mettre au début de la feuille XSL (p.ex. pour générer du HTML ou TXT) n Il y a des instructions conditionnelles (xsl:choose, xsl:otherwise, xsl:if, etc.) n Les expressions dans match="…" et select="…" n sont des expressions XPath – langage à part entière, très riche n Il y a aussi un mécanisme pour traiter les attributs

33 03/09/2014 n Priorités – Q: Que se passe-t-il si plusieurs instructions peuvent s’appliquer ? – R: Il existe un système de priorités : les instructions les plus spécifiques d’abord, puis celles avec les jokers ; si même priorité, la première qui convient s’applique n Noeuds racine – Q: Que se passe-t-il à la fin d’une hiérarchie père > fils? – R: Le processeur passe à la hiérarchie suivante (frère du père, etc.); s’il n’y a plus rien, il s’arrête n Instructions par défaut – Q: Que se passe-t-il si aucune instruction ne s’applique ? – R: Il y a deux instructions par défaut

34 Instructions par défaut (1) n Le processeur connaît deux instructions par défaut, qui ont la priorité la plus faible 1. Formatage des fragments d'éléments où il y a du texte (éléments sans enfants ou "mixed-content") : n SENS = « dans ce cas, il faut recopier le texte seulement dans le fichier XML résultat »

35 Instructions par défaut (2) 2. Propagation des instructions de formatage aux éléments fils (enfants) des noeuds non traités par un xsl:template : n SENS = « si rien n'est prévu pour un élément, il faut écrire le texte dans le fichier résultat, puis aller plus loin et formater les éléments fils » n Ne pas oublier l’existence de ces deux instructions pour comprendre ce qui se passe ! n Ne pas récrire des instructions pour traiter certains éléments si les instructions par défaut conviennent

36 Autres possibilités de XSLT n Mécanisme pour traiter les attributs n Instructions de formatage générales, à mettre au début de la feuille XSL (p.ex. pour générer du HTML ou TXT) n Instructions conditionnelles (xsl:choose, xsl:otherwise, xsl:if, etc.) n Les expressions dans match="…" et select="…" sont des expressions XPath – langage à part entière, très riche


Télécharger ppt "03/09/2014BELKHIR ABDELKADER Le Langage XML Belkhir Abdelkader Laboratoire LSI USTHB"

Présentations similaires


Annonces Google