XML et XPath
Qu'est-ce que XPath ?
XPath est un élément majeur du standard XSLT.
XPath peut être utilisé pour parcourir les éléments et les attributs d'un document XML.
|
Expressions de chemin XPath
XPath utilise des expressions de chemin pour sélectionner des nœuds ou des ensembles de nœuds dans un document XML. Ces expressions de chemin ressemblent beaucoup aux expressions que vous voyez lorsque vous travaillez avec un système de fichiers informatique traditionnel.
Les expressions XPath peuvent être utilisées dans JavaScript, Java, XML Schema, PHP, Python, C et C++, et de nombreux autres langages.
XPath est utilisé dans XSLT
XPath est un élément majeur du standard XSLT.
Avec la connaissance de XPath, vous pourrez tirer pleinement parti de XSL.
Exemple XPath
Nous utiliserons le document XML suivant :
<?xml version="1.0" encoding="UTF-8"?>
<bookstore>
<book category="cooking">
<title lang="en">Everyday Italian</title>
<author>Giada De Laurentiis</author>
<year>2005</year>
<price>30.00</price>
</book>
<book category="children">
<title lang="en">Harry Potter</title>
<author>J K. Rowling</author>
<year>2005</year>
<price>29.99</price>
</book>
<book category="web">
<title lang="en">XQuery Kick Start</title>
<author>James McGovern</author>
<author>Per Bothner</author>
<author>Kurt Cagle</author>
<author>James Linn</author>
<author>Vaidyanathan Nagarajan</author>
<year>2003</year>
<price>49.99</price>
</book>
<book category="web">
<title lang="en">Learning XML</title>
<author>Erik T. Ray</author>
<year>2003</year>
<price>39.95</price>
</book>
</bookstore>
Dans le tableau ci-dessous, nous avons répertorié certaines expressions XPath et le résultat des expressions :
XPath Expression | Result |
---|---|
/bookstore/book[1] | Selects the first book element that is the child of the bookstore element |
/bookstore/book[last()] | Selects the last book element that is the child of the bookstore element |
/bookstore/book[last()-1] | Selects the last but one book element that is the child of the bookstore element |
/bookstore/book[position()<3] | Selects the first two book elements that are children of the bookstore element |
//title[@lang] | Selects all the title elements that have an attribute named lang |
//title[@lang='en'] | Selects all the title elements that have a "lang" attribute with a value of "en" |
/bookstore/book[price>35.00] | Selects all the book elements of the bookstore element that have a price element with a value greater than 35.00 |
/bookstore/book[price>35.00]/title | Selects all the title elements of the book elements of the bookstore element that have a price element with a value greater than 35.00 |
Tutoriel XPath
Vous en apprendrez beaucoup plus sur XPath dans notre didacticiel XPath .