XSLT XSL : XSL : formatting objects - langage de formattage; XSLT : langage de transformation bas sur la spcificatioon Xpath (langage dadressage dans des arborescences XML) Processeur XSL Document XML Document XML, HTML, TEXTE Transformation Spcification XSL (Document XML)
Exemple : Trier des instances de relations syntaxiques coopration europen rue saint - Sabin service public monnaie sociale Charles Lopold Lopold Mayer rels.xml
Solution 1 : trier les lments RELATION en fonction de plusieurs crit res de tri (des valeurs dattributs de llment RELATION) rels1.xsl
Rsultat coopration europen service public monnaie sociale rue saint - Sabin Charles Lopold Lopold Mayer
Solution 2 : - trier les lemmes en fonction du patron et le type de relation. ( On indique aussi le nombre total dinstances de chaque patron et on ajoute larbre syntaxique de chaque type de patron); -Ne pas utiliser une template pour chaque type de relation mais factoriser tous les traitements communs au moyen d une template paramtre.
rels1b.xsl Count() Appel d une template nomm avec passages de param tres
rels1b.xsl (suite) Dfinition d un patron avec variables Dfinition des param tres d une template Cration d attributs xsl:number string()
rue saint - Sabin Charles Lopold Lopold Mayer coopration europen service public monnaie sociale Rsultat
Remarques count() : retourne le nombre d lments d une liste de nœuds. Ici sert à calculer le nombre d instances d un patron de relation; xsl:number : sert a numroter des lments en fonction de leur postion dans le document. Si l attribut value="position() est spcifi (comme dans l exemple) la numrotation est ralise en fonction de la position de l lment dans la liste de nœuds slctionne. Dans l exemple, il sert à numroter les instances de relation (chaque lment lemmes ); string() : retourne la valeur en chaîne de caract res du premier nœud d une liste de noeuds, c est-à-dire, la concatnation du contenu PCDATA du premier nœud RELATION ARG Cooprationeuropene string(RELATION) = coopration europene string(RELATION/ARG)= coopration
Exemple : construire un tableau html à partir des rsultats Zellig (mots proches d un pivot donn en fonction des contextes partags) ARALs.Cordial.NomNomPr Indice Jaccard 5 plus proches voisins monnaie_sociale roue dveloppement monnaie commerce croissance ~ local exprience de ~ ~ local exprience de ~ frais en ~ mission de ~... tabl.xml
<xsl:stylesheet xmlns:xsl=" version="1.0"> Tableau mots proches : mots proches Tabl.xsl Substring()
1]"> tabl.xsl (suite) Variable box
Dynamic Table monnaie_sociale : mots proches Composant Similarite Contextes commerce ~ local / exprience de ~ monnaie ~ local / exprience de ~ / frais en ~ / mission de ~ dveloppement ~ local / stratgie de ~ croissance rapport avec ~ / stratgie de ~ Rsultat
Remarques - xsl:variable : permet de stocker une chaîne ou une liste de nœuds - $nom_variable : permet de la rfrencer - on ne peut qu affecter une valeur à une variable une seule fois mais on peut rcuprer sa valeur plusieurs fois -la porte de la variable est llment dans lequel elle est dfinie - substring(chaîne1,chaîne2) : renvoit la sous-chaîne de chaîne1 qui se trouve avant chaîne2. Dans l'exemple cette fonction sert à extraire la composante de l'attribut noeuds de l'lment partage: substring("commerce monnaie_sociale","monnaie_sociale")= "commerce "