1 / 73

Outils de Gestion de Connaissances:XML DESS-IGSI-FC-2002/2003

Outils de Gestion de Connaissances:XML DESS-IGSI-FC-2002/2003 B. Rothenburger Partie 2. Chapitre 4 : Les feuilles de style (généralités). XML fournit aux applications une structure, mais pas la

gwylan
Download Presentation

Outils de Gestion de Connaissances:XML DESS-IGSI-FC-2002/2003

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Outils de Gestion de Connaissances:XML DESS-IGSI-FC-2002/2003 B. Rothenburger Partie 2 Outils de Gestion de Connaissances:XML DESS-IGSI-FC-2002/2003 B. Rothenburger

  2. Chapitre 4 : Les feuilles de style (généralités) XML fournit aux applications une structure, mais pas la signification ou la manière de mettre en évidence une signification Il manque donc des aspects dans un documents XML sur la manière de le présenter : ces aspects sont du ressort des feuilles de styles Plusieurs possibilités sont apparus : DSSSL (prononcer dissel) norme de formatage lié à SGML ViewPort implémentation pour SGML CSS (cascading style sheet) lié à HTML XSL avec deux composantes indépendantes : XSLT (tranformateur de document) recommendation du W3C XSL-FO pour le formatage des sorties Outils de Gestion de Connaissances:XML DESS-IGSI-FC-2002/2003 B. Rothenburger

  3. Chapitre 4 : Les feuilles de style (généralités) • Les avantages de la dualité XML / feuille de style sont : • la réutilisabilité (une feuille de style marchera avec tous les • documents valides par rapport à une DTD) • l’adaptabilité aux différents média (en cours de définition) • l’adaptabilité aux différents utilisateurs quant à la forme • (fonctionnalité de XSL-FO) • l’adaptabilité aux différents utilisateurs quant aucontenu • (fonctionnalité de XSLT) • la définition de formats standards pour une organisation ou • pour l’échange de données Outils de Gestion de Connaissances:XML DESS-IGSI-FC-2002/2003 B. Rothenburger

  4. Chapitre 4 : Les feuilles de style (CSS) • Premier modèle de feuille de style introduit par le W3C • Il existe deux versions : CSS1 et CSS2 (CSS3 en préparation) • Utilisé actuellement avec HTML et XML • Ne respecte pas la syntaxe XML • Ne permet pas de restructurer le document • Permet de décrire la mise en forme Outils de Gestion de Connaissances:XML DESS-IGSI-FC-2002/2003 B. Rothenburger

  5. Chapitre 4 : Les feuilles de style (CSS) • Un document peut hériter des propriétés de plusieurs feuilles • (concepteur, utilisateur, application) • -> feuilles de style en cascades • Il est nécessaire de régler la priorité entre les feuilles • Prend en compte différents types de media • Est composé de règles qui, pour les objets désignés par un • sélecteur, indiqueront les propriétés de l’affichage • (il existe 122 propriétés). Outils de Gestion de Connaissances:XML DESS-IGSI-FC-2002/2003 B. Rothenburger

  6. tp0 Chapitre 4 : Les feuilles de style (CSS) • exemple : • name • { font-family: verdana, arial; • font-size: 15pt; • font-weight:bold; • display: block; • margin-bottom: 5pt;} • title • { font-family: verdana, arial; • font-size: 10pt; • font-weight:bold; • display:block; • margin-top: 5pt;} Outils de Gestion de Connaissances:XML DESS-IGSI-FC-2002/2003 B. Rothenburger

  7. Chapitre 4 : Les feuilles de style (tp) Introduire une feuille de style CSS pour afficher un des documents XML que vous avez créées Une feuille de style CSS s’introduit par l’instruction : <?xml-stylesheet href=  "nom_fichier.css" type="text/css"?> où nom_fichier.css est la feuille de style Outils de Gestion de Connaissances:XML DESS-IGSI-FC-2002/2003 B. Rothenburger

  8. Chapitre 4 : Les feuilles de style (XSLT:principes) • XSL est entrain de devenir le standard de feuille de style • XSL a un double rôle : • transformer un document : • ajouter des textes, permuter, supprimer, dupliquer, trier des composants, calculer des résultats • décrire les conditions d’affichage : • définir le cadre général, assigner les composant à des ‘container ’, définir la forme du contenu des ‘container ’ • La partie (XSLT) est une recommandation du W3C • version 1.0 novembre 1999 version 2.0 draft novembre 2002 • La partie Formatting Object (FO) est une recommandation d’octobre 2001 (n ’est pas traité dans ce chapitre) Outils de Gestion de Connaissances:XML DESS-IGSI-FC-2002/2003 B. Rothenburger

  9. Chapitre 4 : Les feuilles de style (XSLT:principes) • Donne une alternative avec l’accès au travers d’une interface programme (SAX ou DOM), • est plus assertionnel, • est plus réutilisable, • a néanmoins beaucoup d’éléments en communs (attributs, fonctions,…) • Plusieurs implémentations existent : • - Saxon et xt sont des outils aux interfaces simples mais correspondant à des implémentations complète de XSLT • - MSXML4 est la dernière version du complément XML/XSLT • à IE5 qui couvre la plus grande partie de la norme (#IE4, MSXML, ou MSXML2.x • - Xalan (dans le monde UNIX projet Apache : xml.apache.org) Outils de Gestion de Connaissances:XML DESS-IGSI-FC-2002/2003 B. Rothenburger

  10. Chapitre 4 : Les feuilles de style (XSLT:principes) • Il y a trois composants • Xpath : comment accéder aux composants (sert aussi à XPointer et XLink • XSLT : transformateur de structures • XSL : XSLT + objets de formatages + propriétés de formatages • XSLT transforme un document XML en un autre document. • Le document en sortie peut être un document texte, un document formaté, un document dans un langage à balise. • Si on transforme en HTML on a des documents affichables, • mais XSLT permet de transformer un document XML • en un autre document XML avec une autre structure et un autre vocabulaire • en un document texte, PDF, ou Latex Outils de Gestion de Connaissances:XML DESS-IGSI-FC-2002/2003 B. Rothenburger

  11. Chapitre 4 : Les feuilles de style (XSLT:principes) XML ---> XHTML --> HTML livre html <html> <head>...</head> <body> titre auteur chapître chapître head body <h1>...</h1> <h3>...</h3> …. titre résumé paragraphe paragraphe h1 h3 div div …. </body> </html> Texte figure h2 p p graphique titre text img Outils de Gestion de Connaissances:XML DESS-IGSI-FC-2002/2003 B. Rothenburger

  12. Chapitre 4 : Les feuilles de style (XSLT:principes) De fait la traduction s’appuie sur un mécanisme interne de traduction d’arbre. arbre source Doc XML source XSLT PARSER arbre transformé Doc XML transformé Sérialisation Outils de Gestion de Connaissances:XML DESS-IGSI-FC-2002/2003 B. Rothenburger

  13. Chapitre 4 : Les feuilles de style (XSLT:principes) L’arbre contient des nœuds pour le root (racine au-dessus de l’élément supérieur), pour les autres éléments, pour les attributs, pour les espaces de noms, pour les contenus d’éléments, pour les commentaires XSLT est un langage déclaratif qui comporte un ensemble de règles (templates) qui indiquent la partie concernée et par quoi la remplacée. XSLT est un langage fonctionnel pur c.a.d. sans effets de bords c.a.d. les traitements dans une règles n’ont pas d’influence à l’extérieur (par exemple pas de mise à jour de variables globales) Outils de Gestion de Connaissances:XML DESS-IGSI-FC-2002/2003 B. Rothenburger

  14. Chapitre 4 : Les feuilles de style (XSLT:principes) • Les feuilles de styles XSL sont des documents XML. • Elles font référence à un espace de noms : • http://www.w3.org/19999/XSL/Transform • Il faut introduire obligatoirement cet espace de nom et sa version (1.0) comme attributs de l’élément racine xsl:stylesheet avec l’attribut prédéfini : xmlns:xsl • <xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" • version="1.0"> • cette adresse a un rôle informatif pour le transformateur qui doit avoir prévu de reconnaître les éléments xsl:nom. • D’autres espaces de noms ont été utilisés notamment dans des versions précoces d ’I.E.. Ils ne sont pas compatibles avec la normes 1.0 du W3C Outils de Gestion de Connaissances:XML DESS-IGSI-FC-2002/2003 B. Rothenburger

  15. Outils de Gestion de Connaissances:XML DESS-IGSI-FC-2002/2003 B. Rothenburger

  16. Chapitre 4 : Les feuilles de style (XSLT:principes) • L'instruction de base est une règle (template) qui a la forme : • <xsl:template match="patron_d _identification"> • séquence_de_remplacement • </xsl:template> • patron_d _identification est un chemin dans le document source • (/ est la racine de l'arbre correspondant) • séquence_de_remplacement indique ce qui doit être généré à la place. Elle peut contenir des valeur explicite (comme des balises HTML) et des instructions XSL (comme: • <xsl:value-of select="patron_d _identification"/> pour insérer des éléments du document source, ou: • <xsl:text> pour insérer du texte Outils de Gestion de Connaissances:XML DESS-IGSI-FC-2002/2003 B. Rothenburger

  17. tp4 Chapitre 4 : Les feuilles de style (XSLT: tp) Testez avec saxon le document : <?xml version="1.0"?> <?xml-stylesheet href="tp4.xsl" type="text/xsl"?> <Bibliotheque> <Livre> <Titre>Inside XML</Titre> <Auteur>Steven Holzner</Auteur> <Date>Juin 2000</Date> <ISBN>0-7357-1020-1</ISBN> <Editeur>New Riders Publishing</Editeur> </Livre></Bibliotheque> avec la feuille XSL : <?xml version="1.0" encoding="iso-8859-1"?> <xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform"> <xsl:template match="/"> <html><body> <i><xsl:value-of select="//Date"/><xsl:text> : </xsl:text></i> <H3><xsl:value-of select="//Titre"/> <xsl:text> .. by .. </xsl:text> <i><xsl:value-of select="//Auteur"/></i></H3> <xsl:text> publié par : </xsl:text> <B><xsl:value-of select="//Editeur"/></B> </body></html> </xsl:template> </xsl:stylesheet> Outils de Gestion de Connaissances:XML DESS-IGSI-FC-2002/2003 B. Rothenburger

  18. Chapitre 4 : Les feuilles de style (XSLT: tp) • Observer et exécuter le document html produit • Modifier le document source (valeur des éléments, puis ajouter des éléments, puis retirer des éléments) • Modifier (légèrement) la feuille XSL Outils de Gestion de Connaissances:XML DESS-IGSI-FC-2002/2003 B. Rothenburger

  19. Chapitre 4 : Les feuilles de style (XSLT:instruction d’appel) En général le document XML contient un élément instruction : <?xml-stylesheet?> qui a deux paramètres obligatoires href l’url relative où se trouve la feuille et type qui vaut text/xml ou text/xsl et des paramètres optionnels : title, media, charset, alternate il n ’est pas obligatoire mais certain traducteur (MSXML) s'en servent pour trouver la feuille associée Outils de Gestion de Connaissances:XML DESS-IGSI-FC-2002/2003 B. Rothenburger

  20. Chapitre 4 : Les feuilles de style (XSLT: cas particuliers) On peut utiliser des feuilles incluses dans le document a traduire (marche avec saxon) On peut utiliser des formes réduites sans instructions <xsl:template>, elles ont la forme d’un document html avec des commandes d'insertion (ce sont des instructions implicites qui sont prises en compte voir plus loin) <html xmlns:xsl="http://www.w3.org/1999/XSL/Transform" xsl:version="1.0"> <body> <i><xsl:value-of select="//Date"/> <xsl:text> : </xsl:text></i> <H3><xsl:value-of select="//Titre"/> <xsl:text> .. by .. </xsl:text> <i><xsl:value-of select="//Auteur"/></i></H3> <xsl:text> publie par : </xsl:text> <B><xsl:value-of select="//Editeur"/></B> </body> </html> tp5 tp6 Outils de Gestion de Connaissances:XML DESS-IGSI-FC-2002/2003 B. Rothenburger

  21. Chapitre 4 : Les feuilles de style (XSLT: cas particuliers) • Pour comprendre le fonctionnement de XSLT il faut savoir que: • en premier lieu il effectue une traduction sous forme arborescente • puis il parcours l'arbre produit depuis la racine et cherche s'il existe une règle pour le nœud atteint • si la règle existe il l'exécute et le parcours est déterminé par le contenu de la séquence de replacement • sinon il exécute les règles associées aux fils du nœud • (<apply-templates/>) • s'il n'y a pas de règle pour le nœud d'un élément terminal il exécute un opération implicite qui affiche l'élément. • Les feuilles vides fonctionnent, les feuilles sans règles pour les éléments terminaux fonctionnent Outils de Gestion de Connaissances:XML DESS-IGSI-FC-2002/2003 B. Rothenburger

  22. tpcours Chapitre 4 : Les feuilles de style (XSLT:exemple) <?xml version='1.0' encoding="ISO-8859-1"?> <xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="1.0"> <xsl:template match="/"> <html><body> <p><xsl:apply-templates/></p> </body></html> </xsl:template> <xsl:template match="italique"> <i><xsl:apply-templates/></i> </xsl:template> </xsl:stylesheet> le document XML : <?xml version="1.0" encoding="ISO-8859-1"?> <?xml-stylesheet href="tpcours.xsl" type="text/xsl"?> <paragraphe>Test d’affichage : <italique>italique</italique>.</paragraphe> sera transformé avec la feuille ci-dessus en : <html><body><p>Test d’affichage : <i>italique</i>.</p></body></html> Outils de Gestion de Connaissances:XML DESS-IGSI-FC-2002/2003 B. Rothenburger

  23. Chapitre 4 : Les feuilles de style (XSLT: Xpath) • patron_d _identificationest conforme à Xpath du W3C • Xpath donne un chemin d’accès à un élément • (~chemin d’accès à un fichier) • Un nœud du document est sélectionné s’il vérifie un patron par exemple l'attribut match de l'instruction xsl:template (les patrons sont des Xpath mais il y a des Xpath qui ne sont pas des patrons) • Un Xpath est absolu s’il commence par un / sinon il est relatif et sont donc associées à un contexte (là où on se trouve) • Xpath 'ratisse large' (i.e. ramène un ensemble de nœuds appelé Node-set). Il faut parfois associer un prédicat pour affiner la cible. Outils de Gestion de Connaissances:XML DESS-IGSI-FC-2002/2003 B. Rothenburger

  24. Chapitre 4 : Les feuilles de style (XSLT:Xpath-exemples) paragraphe tous les fils <paragraphe> dans le contexte courant paragraphe/italique tous les éléments <italique> fils de <paragraphe> / la racine du document paragraphe//italique tous les éléments <italique> dont un ancêtre est <paragraphe> section/paragraphe[1] les fils du premier fils <paragraphe> d ’une <section> dans le contexte courant //titre tous les <titre> n ’importe où dans le document Outils de Gestion de Connaissances:XML DESS-IGSI-FC-2002/2003 B. Rothenburger

  25. Chapitre 4 : Les feuilles de style (XSLT:Xpath-exemples) .//titre tous les <titre> qui sont descendants du contexte courant section/*/note tous les fils <note> dont <section> est grand-parent code[@symbole] tous les éléments <code> ayant un attribut symbole code[@symbole=‘XXX’] tous les éléments <code> ayant un attribut symbole dont la valeur est ‘XXX’ paragraphe | italique tous les éléments <italique> ou <paragraphe> Outils de Gestion de Connaissances:XML DESS-IGSI-FC-2002/2003 B. Rothenburger

  26. Chapitre 4 : Les feuilles de style (XSLT:Xpath tp) • A partir du document path.xml on veut afficher le chemin des organismes qui mène à l'irit (enseignement recherche : recherche et technologie : CNRS : STIC : IRIT :) • Comparer les solutions proposées dans path1.xsl, path2.xsl, path5.xsl, path6.xsl, path7.xsl, Outils de Gestion de Connaissances:XML DESS-IGSI-FC-2002/2003 B. Rothenburger

  27. Chapitre 4 : Les feuilles de style (XSLT:Xpath-syntaxe) • Informellement : • un Xpath est absolu s’il commence par un / sinon il est relatif • un Xpath se compose d’une suite d’étapes séparées par • des / : sépare un nœud de son fils • des // : sépare un nœud d'un descendant • une étape décrit la production d'un nouveau Node-set à partir • de celui qui était construit à gauche du / (//) • une étape est composé de: • spécificateur d’axe (vers où chercher), • test du nœud (NodeTest), • prédicats (un critère de selection sur le Node-set Outils de Gestion de Connaissances:XML DESS-IGSI-FC-2002/2003 B. Rothenburger

  28. Chapitre 4 : Les feuilles de style (XSLT:Xpath-axes) Les spécificateurs d’axes préfixent par :: les nœuds de tests et indiquent dans quelle direction doit se faire la recherche ancestor parmi les ancêtres ancestor-or-self parmi l’élément et ses ancêtres parent le parent immédiat child (axe par defaut) parmi les fils descendant (//) parmi les descendants descendant-or-self parmi l'élément et ses descendants Outils de Gestion de Connaissances:XML DESS-IGSI-FC-2002/2003 B. Rothenburger

  29. Chapitre 4 : Les feuilles de style (XSLT:Xpath-syntaxe) Le test de nœud est en général un nom d’élément, mais peut aussi prendre la forme: * (un élément quelconque) espace_de_nom:nom espace_de_nom:* ou un type de nœud (NodeType) comment() (un nœud commentaire) text() (contenu textuel de l’élément) processing-instruction() (contenu d’une instruction) node() (n’importe quel nœud) Outils de Gestion de Connaissances:XML DESS-IGSI-FC-2002/2003 B. Rothenburger

  30. Chapitre 4 : Les feuilles de style (XSLT:Xpath-prédicats) Les prédicats apparaissent entre crochets après le nœud de test (exemples) : nodetest[1] (raccourci pour nodetest[position()=1] le premier noeud nodetest nodetest[last()] le dernier nodetest[position() mod 2 = 0] les noeuds pairs element[@id='foo'] les noeuds ayant un attribut dont le nom est "foo" element[not(@id)] les noeuds n’ayant pas un attribut 'id' Outils de Gestion de Connaissances:XML DESS-IGSI-FC-2002/2003 B. Rothenburger

  31. Chapitre 4 : Les feuilles de style (XSLT:Xpath-prédicats) author[prénom = "Alain"] les éléments qui ont un fils prénom dont le contenu est  "Alain" Les expressions se composent d’opérateurs de calcul (+ ,- , * ,div , mod, quo), d’opérateurs de comparaison (= , <, > , <=, >=) et d’opérateurs booléens (and, or, not). On peut faire références aux attributs d’un nœud en faisant précéder son nom par @ Un certains nombre de fonctions sont disponibles sur les chaînes (concat, substring, normalize-space,…) ou numérique (count, sum, round, last,…) Outils de Gestion de Connaissances:XML DESS-IGSI-FC-2002/2003 B. Rothenburger

  32. Chapitre 4 : Les feuilles de style (XSLT:Xpath-prédicats) Les prédicats sont testés pour chaque élément du Node-set et seul sont conservés ceux qui le vérifient. Lorsqu'il y a plusieurs prédicats leur ordre a de l'importance (exécutés de gauche à droite) Lorsqu'un axe est définis l'ordre des éléments est celui du document (descendant, descendant-or-self, following, following-sibling) ou l'ordre inverse (ancestor, ancestor-or-self, preceding, preceding-sibling) Outils de Gestion de Connaissances:XML DESS-IGSI-FC-2002/2003 B. Rothenburger

  33. Chapitre 4 : Les feuilles de style (XSLT:Xpath tp) • A partir du document path2.xml on veut afficher • le nom du directeur de l'IRIT • le nom d'un professeur de l'IRIT • le nom du second professeur sur la liste de l'IRIT • le statut de duran • dans quel labo travaille duran • les noms statut et labo des personnels qui s'appellent duran ou dupond • path21.xsl, path22.xsl, path23.xsl, path24.xsl, path25.xsl, path27.xsl, Outils de Gestion de Connaissances:XML DESS-IGSI-FC-2002/2003 B. Rothenburger

  34. Chapitre 4 : Les feuilles de style (XSLT:séquence de remplacement) La séquence de remplacement est un ensemble d’éléments XML destinés à être insérés à la place des éléments repérés par le patron d’identification. (parfois appelé templates dans la documentation) Ces éléments peuvent être des éléments HTML, du texte ou des éléments XSL spécifiques (préfixés par le nom symbolique d’espace de nom xsl:, expl: xsl:value-of, xsl:apply-templates, xsl:if ces éléments sont souvent vides et on leur associe des attributs (expl : select=`titre` match=`auteur` test=`$num = 2`) Outils de Gestion de Connaissances:XML DESS-IGSI-FC-2002/2003 B. Rothenburger

  35. Chapitre 4 : Les feuilles de style (XSLT:séquence de remplacement) xsl:template forme de base décrite plus haut, sert à sélectionner des éléments et à définir une section de remplacement, possède des attributs match (obligatoire), mode (pour définir des priorités), name (pour pouvoir appeler par xsl:call-template) xsl:apply-template permet de naviguer à partir de l’élément courant, s’il n’a pas d’attribut select exécute le template du fils, s’il a un attribut select exécute le template choisi, peut avoir un attribut mode Outils de Gestion de Connaissances:XML DESS-IGSI-FC-2002/2003 B. Rothenburger

  36. Chapitre 4 : Les feuilles de style (XSLT:séquence de remplacement) xsl:value-of permet d’insérer la chaîne correspondant à la sélection, a un attribut select qui permet de calculer la chaîne, la valeur de cet attribut est une expression Xpath, insère la première occurrence de la sélection rencontrée dans le document. xsl:text permet d’insérer du texte en conservant les blancs (ce n’est pas le cas si l’on insère du texte tel quel) Outils de Gestion de Connaissances:XML DESS-IGSI-FC-2002/2003 B. Rothenburger

  37. Chapitre 4 : Les feuilles de style (XSLT:feuilles externes) On peut appeler des feuilles externes par l’élément : <xsl:import href="url_fichier"> ou <xsl:include href="url_fichier"> où url_fichier est l’adresse du fichier à inclure insèrent le contenu de la feuille associée en lieu et place de l'instruction import ou include Outils de Gestion de Connaissances:XML DESS-IGSI-FC-2002/2003 B. Rothenburger

  38. Chapitre 4 : Les feuilles de style (XSLT:séquence de remplacement) xsl:element créait un élément, a un attribut name obligatoire et un attribut optionnel : use-attribute-set qui permet d'introduire un ensemble d'attributs définis par xsl:attribute-setxsl:attribut introduit un élément dans un attribut déjà créé a un attribut name pour introduire le nom de l'attribut et le contenu est sa valeur xsl:attribute-set permet de construire un ensemble d'attributs xsl:copy copie un nœud dans la sortie, permet de sélectionner un élément entier, permet de sélectionner des attributs Outils de Gestion de Connaissances:XML DESS-IGSI-FC-2002/2003 B. Rothenburger

  39. Chapitre 4 : Les feuilles de style (XSLT:séquence de remplacement) xsl:copy -of permet de copier les sous-aprbres attachés à un NodeSet xsl:variable permet de déclarer une variable, le nom de la variable est le nom de l’attribut name, sa valeur est la valeur de l’attribut select ou le contenu la variable est globale ou locale selon qu’elle est définie à la racine ou dans un élément interne Les contenus des variables sont utilisées en préfixant leur nom par $ Une variable ne peut recevoir qu'une seule affectation, elle peut être réutilisée à plusieurs endroits (c'est leut intérêt) mais elles ne peuvent être mises à jour. Outils de Gestion de Connaissances:XML DESS-IGSI-FC-2002/2003 B. Rothenburger

  40. Chapitre 4 : Les feuilles de style (XSLT:séquence de remplacement) xsl:param permet de décrire des paramètres formel associés à une feuille de style ou à un template, a un attribut name et select (cf xsl:variable) associé à : xsl:with-param qui associe des paramètres effectifs lors de l’invocation d ’une feuille ou d’un template Outils de Gestion de Connaissances:XML DESS-IGSI-FC-2002/2003 B. Rothenburger

  41. Chapitre 4 : Les feuilles de style (XSLT:séquence de remplacement) xsl:number permet de numéroter les éléments du document par leur position dans l’arbre , l’attribut level permet le numérotage des éléments seul (single : <section>3.) de la hiérarchie qui y mène (multi : <section>1.4.3.), ou un numérotage absolu (any : <section>17.), l’attribut count introduit les élément qui doivent être numéroter, l’attribut from indique le point de départ, l’attribut format indique le format de la numérotation. xsl:preserve-space (xsl:stripp-space) ajoute ou retire un élément (valeur de  ’attribut element) de la liste des éléments qui préserve (compacte) les blancs. Outils de Gestion de Connaissances:XML DESS-IGSI-FC-2002/2003 B. Rothenburger

  42. Chapitre 4 : Les feuilles de style (XSLT:style récursif) Si le document a une structure hiérarchique non régulière on défini un template pour chaque niveau de la hiérarchie et ceux-ci s’appliquent récursivement en utilisant : xsl:apply-template sans paramètre qui permet de descendre aux fils. Il y a un problème si l’on veut traiter différemment des éléments de même nom suivant le niveau où ils sont rencontrés (des règles de priorité sont prévues dans ce cas) Outils de Gestion de Connaissances:XML DESS-IGSI-FC-2002/2003 B. Rothenburger

  43. Chapitre 4 : Les feuilles de style (XSLT:style procédural) Si le document a une structure répétitive on utilisera un élément xsl:for-each permettant des itérations sur les différents éléments équivalents. Xsl:if, xsl:choose, xsl:when, xsl:otherwise sont des éléments qui permettront de discriminer les traitements des éléments Outils de Gestion de Connaissances:XML DESS-IGSI-FC-2002/2003 B. Rothenburger

  44. Outils de Gestion de Connaissances:XML DESS-IGSI-FC-2002/2003 B. Rothenburger

  45. Chapitre 5 : Création de liens : XLINK (principes) • Généralise la notion de liens d’HTML de plusieurs manières : • les cibles peuvent être multiples • les liens peuvent être bidirectionnel • les liens peuvent atteindre une partie quelconque d’un • document (pas une ancre prédéfinie) • les cibles peuvent être absolues ou relatives • on peut définir les liens dans un document différent du • document source ou du document cible • ne fait plus dépendre l’existence de lien de la mise à jour • explicite de document qui le contient ou qu’il vise • il y a des liens simple (à la HTML) et extended(avec les caractéristiques ci dessus) Outils de Gestion de Connaissances:XML DESS-IGSI-FC-2002/2003 B. Rothenburger

  46. Chapitre 5 : Création de liens : XLINK (principes) Dérivés des liens SGML (TEI) et de la norme HyTime (avec une syntaxe différente) Pas interprétés actuellement par les browser -> générer des liens HTML en XSL «recommendation » du W3C (juin 2001) associé à Xpointer qui permet d ’identifier comme cible des composants de documents (proche de Xpath) Outils de Gestion de Connaissances:XML DESS-IGSI-FC-2002/2003 B. Rothenburger

  47. Chapitre 5 : Création de liens : XLINK (définitions) Un lien (Xlink) est une relation explicite entre ressources ou partie de ressources. Un lien est défini par un Xlink-element comprenant plusieurs éléments définissant ce lien. Un hyperlien est un lien particulier destiné à l ’interface utilisateur. Une ressource est une unité d’information ou de service adressable : resource(locale) ou locator (distante). L’usage d’un lien est appelée traversée depuis un lien-source vers un lien-cible. On appelle arc les informations sur une traversée de lien Il faut distinguer les ressources locales (ELEMENT) et des ressources distantes (URI) Il faut distinguer des arcs sortants (local ->distant), des arcs entrants (distant->local) et des arcs tierces partie (local ->local) Outils de Gestion de Connaissances:XML DESS-IGSI-FC-2002/2003 B. Rothenburger

  48. Chapitre 5 : Création de liens : XLINK (Pointeurs Xpointer) • Les pointeurs permettent de localiser une partie précise du • document cible. • La cible d ’un lien est composée d’une racine (URL ou source • du lien) suivi d’une succession d’éléments de renvoie. • On pourra ainsi localiser par exemple : • les troisièmes auteurs d’une série d’article • la date de parution des articles parlant de Jacques Chirac • sur le site du monde • l’élément adresse sous l’élément personne ayant comme • valeur de l’attribut code BWX009871 • les éléments se trouvant au même niveau que ce décrivant • l’élément identifié par le code CD6592 • l’instruction de définition de feuille de style associée à un • document Outils de Gestion de Connaissances:XML DESS-IGSI-FC-2002/2003 B. Rothenburger

  49. Chapitre 5 : Création de liens : XLINK (attributs d'un lien) Un lien nécessite un élément global avec un attribut de déclaration d ’espace de nom et un ensemble d'élément composant le lien . <Mon_lien xmlns:xlink="http://www.w3c.org/1999/xlink"> Un lien ou un composant a un type introduit par l’attribut xlink:type (simple, extended, locator, resource, arc, title, none) un lien simple a comme origine le document où il se trouve et un cible unique (Aen HTML) un lien extended relie un nombre arbitraire de ressources un composant resource permet de définir une ressource disponible un composantlocator permet de localiser des cibles externes au document un composantarc relie des cibles externes Outils de Gestion de Connaissances:XML DESS-IGSI-FC-2002/2003 B. Rothenburger

  50. Chapitre 5 : Création de liens : XLINK (attributs d'un lien) • Suivant le type de lien un certain nombre d’attribut sont possibles pour caractériser le lien • Ces attributs précisent • la sémantique du lien (role, arcrole, title) • la cible (href) • le comportement lors de la rencontre du lien : • show ou actuate • les conditions de traversée du lien (label identificateur pour définir une extrémité d’arc, fromorigine d’un arc, todestination d’un arc) Outils de Gestion de Connaissances:XML DESS-IGSI-FC-2002/2003 B. Rothenburger

More Related