Les axes nodaux possèdent des synonymes abrégés permettant de naviguer dans l'arborescence d'un document à l'image des commandes de système de fichiers telles que connaissent UNIX, le DOS ou encore comme les liens relatifs sur Internet.
Par exemple, l'expression suivante est équivalente à la seconde.
parent::personnel
../personnel
Opérateur | Description |
---|---|
element | sélectionne tous les éléments element fils du noeud courant (child::element). |
* | sélectionne tous les éléments fils du noeud courant. |
/ | représente l'élément racine. |
// | représente n'importe quel descendant de l'élément racine, donc tous les éléments (descendant-or-self::node()). |
. | représente l'élément courant (self::node()). |
.. | permet de remonter d'un niveau dans l'arborescence du document par rapport à l'élément courant (parent::node()). |
/element | sélectionne tous les éléments element sous l'élément racine (). |
./element | sélectionne tous les éléments element sous l'élément courant (following::element). |
../element | sélectionne tous les éléments element sous l'élément parent du noeud courant (preceding::element). |
//element | sélectionne tous les éléments element descendants du noeud courant à quelque niveau de profondeur que ce soit. |
@attribut | sélectionne tous les attributs attribut du noeud courant (attribute::attribut). |
| | correspond à un ou. |
<?xml version="1.0" encoding="ISO-8859-1"?> <xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform"> <xsl:output method="xml" media-type="text/xml; charset=ISO-8859-1"/> <xsl:template match="/"> <html> <head> <title>La logithèque</title> </head> <body> <table border="0" width="60%" class="produit"> <tr> <th>Logiciel</th> <th>Lien</th> </tr> <xsl:apply-templates select="//logiciel"/> </table> </body> </html> </xsl:template> <xsl:template match="logiciel"> <xsl:choose> <xsl:when test=".//@lien != ''"> <xsl:variable name="url" select=".//@lien"/> <tr> <td class="c1"> <a href="./{.//@lien}" target="_blank" style="font-size:10pt; font-weight:bold"> <xsl:apply-templates select="./nom"/> </a> </td> <td> <xsl:value-of select="$url"/> </td> </tr> </xsl:when> <xsl:otherwise> <xsl:variable name="url">failed.html</xsl:variable> <tr> <td class="c1"> <a href="./failed.html" target="_blank" style="font-size:10pt; font-weight:bold"> <xsl:apply-templates select="./nom"/> </a> </td> <td> <xsl:value-of select="$url"/> </td> </tr> </xsl:otherwise> </xsl:choose> </xsl:template> </xsl:stylesheet> |