Master1 de TAL
20 Février 2013
DOCUMENT STRUCTURE
Aujourd'hui, nous nous sommes penchés sur le XPATH, c'est-à-dire le moyen de rechercher des infos dans un arbre XML.
La syntaxe est simple : axe (following-sibling - vers la droite ; preceding-sibling - vers la gauche ; ou child - vers le bas)::test (element à chercher) [prédicat].
On peut tester en grandeur nature à l'aide de modules Firefox xpathchecker, par exemple.
Tout cela figure dans les slides vers la slide 490.
La syntaxe esst un peu la même que l'arborescence UNIX : en résumé :
/élément racine : chemin absolu
sans rien : chemin relatif à partir du nœud où l'on se trouve
. désigne le nœud courant
.. sélectionne le nœud père du nœud courant
//nom : tous les nœuds appelés nom à partir de la racine
.//nom, ne cherche nom QUE dans les enfants du nœud courant
Les noms des fonctions sont à trouver dans W3Schools : il y a par exemple [contains (text()],'txt à chercher'), text(),
* tous les fils du nœud courant
@type renvoie la valeur de l'attribut
Opérateurs : AND et |.
Par ex. pour chercher tous les items contenant Obama dans le titre ou la description, cela donne :
//item[((./titre[following-sibling::*[1]contains(text(),'Obama')]]) and (./description[preceding-sibling::*[1]contains[tetx(), 'Obama')]]))]/child:*/text()
Autre exemple ; pour avoir tous les titres dont la description contient Bagdad :
//titreTOUSLESTITRES[following-siblingFONCTIONADROITE::AXE*TOUS LES NOEUDS[1]PRENDLE PREMIER[contains(text(),'Bagdad')]CONTENANTLEMOT]
Tout ceci sera utile pour la suite de la Boîte à outils qui va travailler sur des fichiers étiquetés grammaticalement.
/http%3A%2F%2Fwww.w3schools.com%2Fimages%2Fw3cert.gif)
XPath, XQuery, and XSLT Function Reference
Free HTML CSS JavaScript DOM jQuery XML AJAX RSS ASP .NET PHP SQL tutorials, references, examples for web building.