Outils de Gestion de Connaissances:XML DESS-IGSI- FC-2002/2003 B. Rothenburger 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 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 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) ladaptabilité aux différents média (en cours de définition) ladaptabilité aux différents utilisateurs quant à la forme (fonctionnalité de XSL-FO) ladaptabilité aux différents utilisateurs quant au contenu (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 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 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 laffichage (il existe 122 propriétés).
Outils de Gestion de Connaissances:XML DESS-IGSI- FC-2002/2003 B. Rothenburger 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;} tp0
Outils de Gestion de Connaissances:XML DESS-IGSI- FC-2002/2003 B. Rothenburger 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 sintroduit par linstruction : où nom_fichier.css est la feuille de style
Outils de Gestion de Connaissances:XML DESS-IGSI- FC-2002/2003 B. Rothenburger 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 daffichage : 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 doctobre 2001 (n est pas traité dans ce chapitre)
Outils de Gestion de Connaissances:XML DESS-IGSI- FC-2002/2003 B. Rothenburger Chapitre 4 : Les feuilles de style (XSLT:principes) Donne une alternative avec laccès au travers dune 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 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 Chapitre 4 : Les feuilles de style (XSLT:principes) XML ---> XHTML-->HTML livre html... titre auteur chapître chapître head body …. titre résumé paragraphe paragraphe h1 h3 div div…. Texte figure h2 p p graphique titre text img
Outils de Gestion de Connaissances:XML DESS-IGSI- FC-2002/2003 B. Rothenburger Chapitre 4 : Les feuilles de style (XSLT:principes) De fait la traduction sappuie sur un mécanisme interne de traduction darbre. Doc XML source PARSER arbre source XSLT arbre transformé Sérialisation Doc XML transformé
Outils de Gestion de Connaissances:XML DESS-IGSI- FC-2002/2003 B. Rothenburger Chapitre 4 : Les feuilles de style (XSLT:principes) Larbre 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 nont pas dinfluence à lextérieur (par exemple pas de mise à jour de variables globales)
Outils de Gestion de Connaissances:XML DESS-IGSI- FC-2002/2003 B. Rothenburger 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 : Il faut introduire obligatoirement cet espace de nom et sa version (1.0) comme attributs de lélément racine xsl:stylesheet avec lattribut prédéfini : xmlns:xsl <xsl:stylesheet xmlns:xsl=" 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. Dautres 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
Chapitre 4 : Les feuilles de style (XSLT:principes) L'instruction de base est une règle (template) qui a la forme : séquence_de_remplacement 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: pour insérer des éléments du document source, ou: pour insérer du texte
Outils de Gestion de Connaissances:XML DESS-IGSI- FC-2002/2003 B. Rothenburger Chapitre 4 : Les feuilles de style (XSLT: tp) Testez avec saxon le document : Inside XML Steven Holzner Juin New Riders Publishing avec la feuille XSL : <xsl:stylesheet version="1.0" xmlns:xsl=" :.. by.. publié par : tp4
Outils de Gestion de Connaissances:XML DESS-IGSI- FC-2002/2003 B. Rothenburger 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 Chapitre 4 : Les feuilles de style (XSLT:instruction dappel) En général le document XML contient un élément instruction : qui a deux paramètres obligatoires href lurl 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 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, elles ont la forme dun document html avec des commandes d'insertion (ce sont des instructions implicites qui sont prises en compte voir plus loin) <html xmlns:xsl=" xsl:version="1.0"> :.. by.. publie par : tp5 tp6
Outils de Gestion de Connaissances:XML DESS-IGSI- FC-2002/2003 B. Rothenburger 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 ( ) 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 Chapitre 4 : Les feuilles de style (XSLT:exemple) <xsl:stylesheet xmlns:xsl=" version="1.0"> le document XML : Test daffichage : italique. sera transformé avec la feuille ci-dessus en : Test daffichage : italique. tpcours
Outils de Gestion de Connaissances:XML DESS-IGSI- FC-2002/2003 B. Rothenburger Chapitre 4 : Les feuilles de style (XSLT: Xpath) patron_d _identification est conforme à Xpath du W3C Xpath donne un chemin daccès à un élément (~chemin daccès à un fichier) Un nœud du document est sélectionné sil 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 sil 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 Chapitre 4 : Les feuilles de style (XSLT:Xpath-exemples) paragraphe tous les fils dans le contexte courant paragraphe/italique tous les éléments fils de / la racine du document paragraphe//italique tous les éléments dont un ancêtre est section/paragraphe[1] les fils du premier fils d une dans le contexte courant //titre tous les n importe où dans le document
Outils de Gestion de Connaissances:XML DESS-IGSI- FC-2002/2003 B. Rothenburger Chapitre 4 : Les feuilles de style (XSLT:Xpath-exemples).//titre tous les qui sont descendants du contexte courant section/*/note tous les fils dont est grand-parent tous les éléments ayant un attribut symbole tous les éléments ayant un attribut symbole dont la valeur est XXX paragraphe | italique tous les éléments ou
Outils de Gestion de Connaissances:XML DESS-IGSI- FC-2002/2003 B. Rothenburger 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 Chapitre 4 : Les feuilles de style (XSLT:Xpath-syntaxe) Informellement : un Xpath est absolu sil commence par un / sinon il est relatif un Xpath se compose dune 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 daxe (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 Chapitre 4 : Les feuilles de style (XSLT:Xpath-axes) Les spécificateurs daxes 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 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 dune instruction) node() (nimporte quel nœud)
Outils de Gestion de Connaissances:XML DESS-IGSI- FC-2002/2003 B. Rothenburger 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 les noeuds ayant un attribut dont le nom est "foo" les noeuds nayant pas un attribut 'id'
Outils de Gestion de Connaissances:XML DESS-IGSI- FC-2002/2003 B. Rothenburger 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 dopérateurs de calcul (+,-, *,div, mod, quo), dopérateurs de comparaison (=,, <=, >=) et dopérateurs booléens (and, or, not). On peut faire références aux attributs dun nœud en faisant précéder son nom 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 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 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 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 didentification. (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 despace 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 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, sil na pas dattribut select exécute le template du fils, sil 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 Chapitre 4 : Les feuilles de style (XSLT:séquence de remplacement) xsl:value-of permet dinsé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 dinsérer du texte en conservant les blancs (ce nest pas le cas si lon insère du texte tel quel)
Outils de Gestion de Connaissances:XML DESS-IGSI- FC-2002/2003 B. Rothenburger Chapitre 4 : Les feuilles de style (XSLT:feuilles externes) On peut appeler des feuilles externes par lélément : ou où url_fichier est ladresse 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 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 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 lattribut name, sa valeur est la valeur de lattribut select ou le contenu la variable est globale ou locale selon quelle 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 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 linvocation d une feuille ou dun template
Outils de Gestion de Connaissances:XML DESS-IGSI- FC-2002/2003 B. Rothenburger 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 larbre, lattribut level permet le numérotage des éléments seul (single : 3.) de la hiérarchie qui y mène (multi : ), ou un numérotage absolu (any : 17.), lattribut count introduit les élément qui doivent être numéroter, lattribut from indique le point de départ, lattribut 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 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 sappliquent récursivement en utilisant : xsl:apply-template sans paramètre qui permet de descendre aux fils. Il y a un problème si lon 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 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
Chapitre 5 : Création de liens : XLINK (principes) Généralise la notion de liens dHTML de plusieurs manières : les cibles peuvent être multiples les liens peuvent être bidirectionnel les liens peuvent atteindre une partie quelconque dun 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 lexistence de lien de la mise à jour explicite de document qui le contient ou quil 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 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 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é dinformation ou de service adressable : resource (locale) ou locator (distante). Lusage dun 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 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 dune racine (URL ou source du lien) suivi dune succession déléments de renvoie. On pourra ainsi localiser par exemple : les troisièmes auteurs dune série darticle 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 lattribut code BWX les éléments se trouvant au même niveau que ce décrivant lélément identifié par le code CD6592 linstruction de définition de feuille de style associée à un document
Outils de Gestion de Connaissances:XML DESS-IGSI- FC-2002/2003 B. Rothenburger 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. Un lien ou un composant a un type introduit par lattribut 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 (A en HTML) un lien extended relie un nombre arbitraire de ressources un composant resource permet de définir une ressource disponible un composant locator permet de localiser des cibles externes au document un composant arc relie des cibles externes
Outils de Gestion de Connaissances:XML DESS-IGSI- FC-2002/2003 B. Rothenburger Chapitre 5 : Création de liens : XLINK (attributs d'un lien) Suivant le type de lien un certain nombre dattribut 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é darc, from origine dun arc, to destination dun arc )
Outils de Gestion de Connaissances:XML DESS-IGSI- FC-2002/2003 B. Rothenburger Chapitre 5 : Création de liens : XLINK (attributs d'un lien) Simple extended locator arc resource type * * * * * href x* role x x xx arcrole xx title x x xxx show x x actuate xx label xx from/to x lattribut type est toujours obligatoire, dans le tableau ci- dessus * indique un attribut obligatoire, x indique un attribut possible sinon lattribut est invalide. Le tableau suivant indique les attributs possibles suivant le type de lien :
Outils de Gestion de Connaissances:XML DESS-IGSI- FC-2002/2003 B. Rothenburger Chapitre 5 : Création de liens : XLINK (attributs d'un lien) show est un attribut qui indique comment la ressource cible doit être prise en compte, les valeurs prévues sont : new pour ouvrir une nouvelle fenêtre, replace pour remplacer dans la fenêtre courante embed pour insérer dans la fenêtre courante actuate est un attribut qui indique comment est déclenché le lien : onLoad indique un déclenchement automatique onRequest indique un déclenchement par lutilisateur title, role, arcrole sont des textes qui complètent la description de lusage de la cible label permet didentifier des ressources from et to permettent dindiquer le sens de parcours dun lien
Outils de Gestion de Connaissances:XML DESS-IGSI- FC-2002/2003 B. Rothenburger Chapitre 5 : XLINK (lien simple :exemple) <logo_irit xmlns:zvon = " xmlns:xlink = " xlink:type="simple" xlink:href="logo.gif" xlink:show="embed" xlink:actuate="onLoad" />
Outils de Gestion de Connaissances:XML DESS-IGSI- FC-2002/2003 B. Rothenburger Chapitre 5 : Création de liens : XLINK (un exemple) Soit une déclaration de ressource dans une DTD <!ATTLIST un_individu xlink:type(resource)#FIXED "resource"> xlink:titleCDATA#IMPLIED xlink:labelNMTOKEN#IMPLIED xlink:roleCDATA#IMPLIED> Dans un document un individu est décrit comme suit: Dudule Max
Outils de Gestion de Connaissances:XML DESS-IGSI- FC-2002/2003 B. Rothenburger Chapitre 5 : Création de liens : XLINK (un exemple) Une déclaration de locator dans une autre DTD <!ATTLIST une_ville xlink:type (locator)#FIXED "locator"> xlink:titleCDATA#IMPLIED xlink:labelNMTOKEN#IMPLIED xlink:roleCDATA#REQUIRED> Qui accepte comme élément dans un document <une_ville xlink:label="toulouse" xlink:href="Toulouse.xml"/>
Outils de Gestion de Connaissances:XML DESS-IGSI- FC-2002/2003 B. Rothenburger Chapitre 5 : Création de liens : XLINK (un exemple) Il faut maintenant donner les conditions de navigation qui est faite par la definition dun arc conforme à la DTD suivante: <!ATTLIST habite xlink:type(arc)#FIXED "arc"> xlink:titleCDATA#IMPLIED xlink:show(new | replace | embed | other | none) #IMPLIED xlink:fromNMTOKEN#IMPLIED xlink:toNMTOKEN#IMPLIED> dont une instance est:
Outils de Gestion de Connaissances:XML DESS-IGSI- FC-2002/2003 B. Rothenburger Chapitre 5 : Création de liens : XLINK (un exemple) Supposons que l on veuille lier un individu aux différentes villes dans les quelles il a habité, on créerait un lien étendu avec dans la DTD: <!ATTLIST a_habité xmlns:xlink=" xlink:type(extended)#FIXED "extended" xlink:titleCDATA#IMPLIED>
Outils de Gestion de Connaissances:XML DESS-IGSI- FC-2002/2003 B. Rothenburger Chapitre 5 : Création de liens : XLINK (un exemple) qui pourrait donner comme document: <a_habité xlink:title="les ville ou ils ont habités" Dudule Max...
Outils de Gestion de Connaissances:XML DESS-IGSI- FC-2002/2003 B. Rothenburger
Chapitre 5 : Description de Ressources : RDF (motivations) Resource Description Framework Prévu initialement pour faciliter laccès au Web. Permet de définir des Metadata pour faciliter le recherche d information dans des collections de documents Il y eu des initiatives préalable : PICS (Platform for Intenet Content Selection) et CD(Chanel Definition Format) Working Draft du W3C (27 mars ) Correspond à un " effort " pour avoir des schémas généraux Est associé à des recherches sur la représentation formelle des connaissances.
Outils de Gestion de Connaissances:XML DESS-IGSI- FC-2002/2003 B. Rothenburger Chapitre 5 : Description de Ressources : RDF (le problème) Rechercher sur le Web est une tâche aléatoire. La technique utilisée par les moteurs est de parcourir les liens pour atteindre la plus grande partie possible du Web, dindexer le contenu textuel des pages (indexation full text) en utilisant éventuellement les MetaTag), de proposer un langage dinterrogation de lindex ainsi constitué. « Exhaustif mais approximatif » Le technique utilisée par les annuaires est de constituer "à la main" un arbre de catégories auxquelles les documents sont rattachés. « Fin mais partiel »
Outils de Gestion de Connaissances:XML DESS-IGSI- FC-2002/2003 B. Rothenburger Chapitre 5 : Description de Ressources : RDF (le problème) Dans le deux cas la méthode souffre de deux défauts : les bruits (documents non pertinents dans la réponse) et les silences (documents pertinents absents) de la réponse. Les causes sont des phénomènes linguistiques : formes différentes dun mot non détectées, homonymie, synonymie, polysémie. Une autre cause est la banalisation sémantique des mots : le contexte des mots est perdu. Exemple : le mot clé Zola ramènera des documents : dont Zola est auteur écrits à propos de Zola concernant le square Emile Zola, etc
Outils de Gestion de Connaissances:XML DESS-IGSI- FC-2002/2003 B. Rothenburger Chapitre 5 : Description de Ressources : RDF (la solution) Ajouter des descriptions explicites sur le document. Il est impensable quun organisme centralisateur puisse définir de telles descriptions sur tout le Web. Il faut donc un mécanisme permettant de distribuer la production de telles descriptions tout en ménageant linteropérabilité. C'est l objectif de RDF
Outils de Gestion de Connaissances:XML DESS-IGSI- FC-2002/2003 B. Rothenburger Chapitre 5 : Description de Ressources : RDF (le modèle) Le modèle de base s'inspire des "frames" associent dans des triplets des objets, des attributs et des valeurs En RDF on parle deDescriptions qui associent trois composants: une ressource (une page Web, un fragment de page, un site,…) une propriété (un attribut, une relation,…) et une valeur (la valeur de la propriété pour la ressource) L'ensemble des descriptions constituent un graphe
Outils de Gestion de Connaissances:XML DESS-IGSI- FC-2002/2003 B. Rothenburger Chapitre 5 : Description de Ressources : RDF (le modèle) Graphe générique ressource1 ressource3 ressource2 propriété1 propriété4 propriété2 propriété3 Valeur atomique1 Valeur atomique2
Outils de Gestion de Connaissances:XML DESS-IGSI- FC-2002/2003 B. Rothenburger Chapitre 5 : Description de Ressources : RDF (le modèle) Exemple de graphe dc:creator monrdf:parle_de Monrdf:est_page_de Jean Dupond
Outils de Gestion de Connaissances:XML DESS-IGSI- FC-2002/2003 B. Rothenburger Chapitre 5 : Description de Ressources : RDF (le modèle) Un ensemble de description est introduit par lélément rdf:RDF Il convient dintroduire un domaine de noms propre à RDF xmlns:rdf=" ns#" De plus on introduit de plus un domaine de nom propre à un schéma RDF particulier La syntaxe générale d une description est : valeur1 valeur2 …
Outils de Gestion de Connaissances:XML DESS-IGSI- FC-2002/2003 B. Rothenburger Chapitre 5 : Description de Ressources : RDF (le modèle) Exemple: rdf:resource=" rdf:resource=" jean Dupond Il existe une syntaxe abrégée <rdf.Description about=" ressource " propriété1 =" valeur1 propriété2 =" valeur2 \ … />
Outils de Gestion de Connaissances:XML DESS-IGSI- FC-2002/2003 B. Rothenburger Chapitre 5 : Description de Ressources : RDF (le modèle) On peut factoriser des déclarations (i.e. insérer une déclaration à la place dune référence à une déclaration externe)
Outils de Gestion de Connaissances:XML DESS-IGSI- FC-2002/2003 B. Rothenburger Chapitre 5 : Description de Ressources : RDF (le modèle) On peut regrouper des ressources ayant les même propriété et valeurs dans des : Bag ensemble non trié avec doublons Seq ensemble trié avec doublons Alt ensemble de choix
Outils de Gestion de Connaissances:XML DESS-IGSI- FC-2002/2003 B. Rothenburger Chapitre 5 : Description de Ressources : RDF (le modèle) On peut identifier une collection par un identificateur, puis référencer ses composants dans une autre description avec lattribut about sil concerne certain éléments ou avec lattribut abouteach si tous les éléments sont concernés.
Outils de Gestion de Connaissances:XML DESS-IGSI- FC-2002/2003 B. Rothenburger Chapitre 5 : Description de Ressources : RDFS (définition de schèma) Permettent de spécifier le vocabulaire associé à un certain domaine sémantique il existe un domaine de nom (RDF) lié au type généraux et un domaine de nom (RDFS) associé à la création de nouveaux vocabulaire (primitives spécifiques) Les primitives associées à ces domaines nominaux correspondent à des types de base : rdf:resource, rdf:propertyType, rdfs:Class, rdfs:String propriétés de base : rdf:type, rdfs:subClassOf contraintes : rdfs:ConstraintPropertyType, rdfs:range, rdfs:domain
Outils de Gestion de Connaissances:XML DESS-IGSI- FC-2002/2003 B. Rothenburger Chapitre 5 : Description de Ressources : RDFS (Dublin Core) Un exemple connu de schéma est le « dublin core » qui décrit une ressource Web par 15 descriptions :,,,,,,,,,