73
Outils de Gestion de Conn aissances:XML DESS-IGSI- FC-2002/2003 B. Rothenb urger 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 Outils de Gestion de Connaissances:XML DESS-IGSI-FC-2002/2003 B. Rothenburger

Embed Size (px)

Citation preview

Page 1: 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

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

Page 2: 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

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 significationIl 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é à SGMLViewPort implémentation pour SGMLCSS (cascading style sheet) lié à HTMLXSL avec deux composantes indépendantes :XSLT (tranformateur de document) recommendation du W3CXSL-FO pour le formatage des sorties

Page 3: 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

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 lesdocuments 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 au contenu(fonctionnalité de XSLT) • la définition de formats standards pour une organisation ou pour l’échange de données

Page 4: 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

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

Page 5: 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

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 l’affichage (il existe 122 propriétés).

Page 6: 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

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

Page 7: 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

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 s’introduit par l’instruction :<?xml-stylesheet href=  "nom_fichier.css" type="text/css"?>où nom_fichier.css est la feuille de style

Page 8: 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

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 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)

Page 9: 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

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 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)

Page 10: 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

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

Page 11: 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

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 <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

Page 12: 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

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 s’appuie sur un mécanisme interne de traduction d’arbre.

Doc XMLsource

PARSERarbre source

XSLT

arbre transformé

SérialisationDoc XMLtransformé

Page 13: 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

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

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)

Page 14: 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

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 : http://www.w3.org/19999/XSL/TransformIl 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

Page 15: 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

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

Page 16: 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

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 :<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

Page 17: 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

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 :<?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>

tp4

Page 18: 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

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

Page 19: 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

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

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 obligatoireshref l’url relative où se trouve la feuille ettype qui vaut text/xml ou text/xslet des paramètres optionnels :title, media, charset, alternateil n ’est pas obligatoire mais certain traducteur (MSXML) s'en servent pour trouver la feuille associée

Page 20: 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

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 <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

Page 21: 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

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 replacementsinon 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

Page 22: 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

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

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>

tpcours

Page 23: 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

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 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.

Page 24: 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

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 <paragraphe> dans le contexte courant paragraphe/italique tous les éléments <italique> fils de <paragraphe>

/ la racine du document

paragraphe//italiquetous 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

//titretous les <titre> n ’importe où dans le document

Page 25: 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

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 <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 | italiquetous les éléments <italique> ou <paragraphe>

Page 26: 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

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,

Page 27: 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

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 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 à partirde 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

Page 28: 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

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 d’axes préfixent par :: les nœuds de tests et indiquent dans quelle direction doit se faire la recherche ancestorparmi les ancêtresancestor-or-self parmi l’élément et ses ancêtresparentle parent immédiatchild (axe par defaut)parmi les filsdescendant (//)parmi les descendantsdescendant-or-selfparmi l'élément et ses descendants

Page 29: 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

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:nomespace_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)

Page 30: 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

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

element[@id='foo'] les noeuds ayant un attribut dont le nom est "foo"

element[not(@id)] les noeuds n’ayant pas un attribut 'id'

Page 31: 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

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 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,…)

Page 32: 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

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)

Page 33: 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

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,

Page 34: 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

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 d’identification. (parfois appelé templates dans la documentation)

Ces éléments peuvent être des éléments HTML, du texteou

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:ifces éléments sont souvent vides et on leur associe des attributs (expl : select=`titre` match=`auteur` test=`$num = 2`)

Page 35: 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

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:templateforme 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-templatepermet 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

Page 36: 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

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-ofpermet 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éedans le document.

xsl:textpermet d’insérer du texte en conservant les blancs (ce n’estpas le cas si l’on insère du texte tel quel)

Page 37: 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

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 :<xsl:import href="url_fichier"> ou<xsl:include href="url_fichier">où url_fichier est l’adresse du fichier à inclureinsèrent le contenu de la feuille associée en lieu et place de l'instruction import ou include

Page 38: 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

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:elementcré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:attributintroduit 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-setpermet de construire un ensemble d'attributs

xsl:copycopie un nœud dans la sortie,permet de sélectionner un élément entier,permet de sélectionner des attributs

Page 39: 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

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 -ofpermet de copier les sous-aprbres attachés à un NodeSet

xsl:variablepermet 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 contenula variable est globale ou locale selon qu’elle est définie à la racine ou dans un élément interneLes 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.

Page 40: 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

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:parampermet de décrire des paramètres formel associés à unefeuille de style ou à un template,a un attribut name et select (cf xsl:variable)associé à : xsl:with-paramqui associe des paramètres effectifs lors de l’invocation d ’une feuille ou d’un template

Page 41: 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

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:numberpermet de numéroter les éléments du document par leurposition 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 laliste des éléments qui préserve (compacte) les blancs.

Page 42: 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

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 ondéfini un template pour chaque niveau de la hiérarchie etceux-ci s’appliquent récursivement en utilisant :xsl:apply-template sans paramètre qui permet de descendreaux 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)

Page 43: 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

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

Page 44: 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

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

Page 45: 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

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 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 dudocument source ou du document ciblene 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)

Page 46: 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

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 (avecune 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 descomposants de documents (proche de Xpath)

Page 47: 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

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 ’interfaceutilisateur.Une ressource est une unité d’information ou de serviceadressable : resource (locale) ou locator (distante).L’usage d’un lien est appelée traversée depuis un lien-sourcevers un lien-cible.On appelle arc les informations sur une traversée de lienIl faut distinguer les ressources locales (ELEMENT) et desressources distantes (URI)Il faut distinguer des arcs sortants (local ->distant), des arcs entrants (distant->local) et des arcs tierces partie (local ->local)

Page 48: 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

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 dudocument cible. La cible d ’un lien est composée d’une racine (URL ou sourcedu 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

Page 49: 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

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 .<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 trouveet un cible unique (A en HTML)un lien extended relie un nombre arbitraire de ressourcesun composant resource permet de définir une ressource disponibleun composant locator permet de localiser des cibles externes au documentun composant arc relie des cibles externes

Page 50: 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

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 d’attribut sont possibles pour caractériser le lienCes 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, from origine d’un arc, to destination d’un arc)

Page 51: 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

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 x xarcrole x xtitle x x x x xshow x xactuate x xlabel x xfrom/to x

l’attribut type est toujours obligatoire, dans le tableau ci-dessus * indique un attribut obligatoire, x indique un attribut possible sinon l’attribut est invalide.

Le tableau suivant indique les attributs possibles suivant le type de lien :

Page 52: 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

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 couranteembed 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 automatiqueonRequest indique un déclenchement par l’utilisateur

title, role, arcrole sont des textes qui complètent la description de l’usage de la ciblelabel permet d’identifier des ressourcesfrom et to permettent d’indiquer le sens de parcours d’un lien

Page 53: 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

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

Chapitre 5 : XLINK (lien simple :exemple)

<logo_irit xmlns:zvon = "http://www.zvon.org" xmlns:xlink = "http://www.w3.org/1999/xlink" xlink:type="simple" xlink:href="logo.gif" xlink:show="embed" xlink:actuate="onLoad" />

Page 54: 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

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

<!ELEMENT un_individu (son_nom,son_prenom)><!ATTLIST un_individu

xlink:type (resource) #FIXED "resource">xlink:title CDATA#IMPLIEDxlink:label NMTOKEN #IMPLIEDxlink:role CDATA#IMPLIED>

Dans un document un individu est décrit comme suit:

<un_individu xlink:label="toulousain"><son_nom>Dudule</son_nom><son_prenom>Max</son_prenom></un_individu>

Page 55: 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

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

<!ELEMENT une_ville EMPTY><!ATTLIST une_ville

xlink:type (locator) #FIXED "locator">xlink:title CDATA#IMPLIEDxlink:label NMTOKEN #IMPLIEDxlink:role CDATA#REQUIRED>

Qui accepte comme élément dans un document

<une_ville xlink:label="toulouse" xlink:href="Toulouse.xml"/>

Page 56: 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

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 quiest faite par la definition d’un arc conforme à la DTD suivante:

<!ELEMENT habite EMPTY><!ATTLIST habite

xlink:type (arc) #FIXED "arc">xlink:title CDATA #IMPLIEDxlink:show (new | replace | embed | other | none)

#IMPLIEDxlink:from NMTOKEN #IMPLIEDxlink:to NMTOKEN #IMPLIED>

dont une instance est:

<habite xlink:type="arc" xlink:from="toulousain » xlink:to"toulouse »/>

Page 57: 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

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:

<!ELEMENT a_habité (un_individu,une_ville,habite)*><!ATTLIST a_habité

xmlns:xlink="http://www.w3c.org/19999/xlink"xlink:type (extended) #FIXED "extended"xlink:title CDATA #IMPLIED>

Page 58: 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

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"<un_individu xlink:label=habite>

<son_nom>Dudule</son_nom><son_prenom>Max</son_prenom>

</un_individu><une_ville xlink:label="toulouse" xlink:href="Toulouse.xml"/> <une_ville xlink:label="lyon" xlink:href="Lyon.xml"/> <une_ville xlink:label="paris" xlink:href="Paris.xml"/> ...</a_habité>

Page 59: 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

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

Page 60: 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

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 l’accè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 2000 ...)

Correspond à un " effort " pour avoir des schémas généraux

Est associé à des recherches sur la représentation formelle des connaissances.

Page 61: 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

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,d’indexer le contenu textuel des pages (indexation full text) en utilisant éventuellement les MetaTag),de proposer un langage d’interrogation de l’index 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 »

Page 62: 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

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 d’un 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 Zolaconcernant le square Emile Zola,etc

Page 63: 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

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 qu’un organisme centralisateur puisse définirde telles descriptions sur tout le Web.Il faut donc un mécanisme permettant de distribuer la production de telles descriptions tout en ménageant l’interopérabilité.

C'est l ’objectif de RDF

Page 64: 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

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 valeursEn 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

Page 65: 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

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

Page 66: 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

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

www.un_site.fr/un_doc.html

www.un_site.fr/pages_perso/untel.html

www.autre_site.fr/autre_doc.htmldc:creator

monrdf:parle_de

Monrdf:est_page_de

Jean Dupond

Page 67: 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

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:RDFIl convient d’introduire un domaine de noms propre à RDFxmlns:rdf="http:www.w3.org/1999/02/22-rdf-syntax-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 :<rdf.Description about="ressource"><propriété1>valeur1</propriété1><propriété2>valeur2</propriété2>…

</rdf.Description>

Page 68: 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

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

Chapitre 5 : Description de Ressources : RDF (le modèle)

Exemple:<rdf.Description about="www.un_site.fr/un_doc.html"><dc:creator>rdf:resource="www.un_site.fr/pages_perso/untel.html" </dc:creator ><monrdf:parle_de>rdf:resource="www.autre_site.fr/autre_doc.html" </monrdf:parle_de > <rdf:Description about="www.un_site.fr/pages_perso/untel.html"> <monrdf:est_page_de>jean Dupond </monrdf:est_page_de> </rdf.Description></rdf.Description>

Il existe une syntaxe abrégée<rdf.Description about="ressource"propriété1 ="valeur1propriété2 ="valeur2\…/>

Page 69: 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

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 d’une référence à une déclaration externe)

Page 70: 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

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é etvaleurs dans des :Bag ensemble non trié avec doublonsSeq ensemble trié avec doublonsAlt ensemble de choix

Page 71: 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

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 l’attribut about s’il concerne certain éléments ou avec l’attribut abouteach si tous les éléments sont concernés.

Page 72: 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

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émantiqueil 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:Stringpropriétés de base : rdf:type, rdfs:subClassOfcontraintes : rdfs:ConstraintPropertyType, rdfs:range , rdfs:domain

Page 73: 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

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 :<Title>, <Creator>, <Subject>, <Description>, <Publisher>,<Contributor>, <Date>, <Type>, <Format>, <Identifier>,<Source>, <Language>, <Relation>, <Coverage>, <Right>