| position()-Funktion | |
| Diese Funktion gibt Zahl eine zurück, die der Kontextposition des aktuellen Kontexts entspricht. | |
| Eingaben | |
|
Keine |
|
| Ausgabe | |
|
Eine Zahl, die der Position des aktuellen Knotens im Bewertungskontext entspricht. |
|
| Definition | |
|
XPath-Abschnitt 4.1, Funktionen auf Knotenmengen |
|
| Beispiele | |
|
Das folgende Beispiel verwendet die Funktion position(), um die Hintergrundfarbe der Zeilen einer Tabelle zu bestimmen. Die Hintergrundfarben durchschreiten die Optionen white, darkgray und lightgreen. Es wird das folgende XML-Dokument verwendet: <?xml version="1.0"?> <list> <title>A few of my favorite albums</title> <listitem>A Love Supreme</listitem> <listitem>Beat Crazy</listitem> <listitem>Here Come the Warm Jets</listitem> <listitem>Kind of Blue</listitem> <listitem>London Calling</listitem> <listitem>Remain in Light</listitem> <listitem>The Joshua Tree</listitem> <listitem>The Indestructible Beat of Soweto</listitem> </list> Zur Erzeugung des HTML-Dokuments wird das folgende Stylesheet verwendet:
<?xml version="1.0"?>
<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
<xsl:output method="html"/>
<xsl:template match="/">
<html>
<head>
<title>
<xsl:value-of select="/list/title"/>
</title>
</head>
<body>
<h1>
<xsl:value-of select="/list/title"/>
</h1>
<table border="1">
<xsl:for-each select="/list/listitem">
<xsl:variable name="background-color">
<xsl:choose>
<xsl:when test="position() mod 3 = 1">white</xsl:when>
<xsl:when test="position() mod 3 = 2">darkgray</xsl:when>
<xsl:otherwise>lightgreen</xsl:otherwise>
</xsl:choose>
</xsl:variable>
<tr bgcolor="{$background-color}">
<td>
<b><xsl:value-of select="."/></b>
</td>
</tr>
</xsl:for-each>
</table>
</body>
</html>
</xsl:template>
</xsl:stylesheet>
Das Stylesheet erzeugt das folgende Ergebnis: <html> <head> <META http-equiv="Content-Type" content="text/html; charset=UTF-8"> <title>A few of my favorite albums</title> </head> <body> <h1>A few of my favorite albums</h1> <table border="1"> <tr bgcolor="white"> <td><b>A Love Supreme</b></td> </tr> <tr bgcolor="darkgray"> <td><b>Beat Crazy</b></td> </tr> <tr bgcolor="lightgreen"> <td><b>Here Come the Warm Jets</b></td> </tr> <tr bgcolor="white"> <td><b>Kind of Blue</b></td> </tr> <tr bgcolor="darkgray"> <td><b>London Calling</b></td> </tr> <tr bgcolor="lightgreen"> <td><b>Remain in Light</b></td> </tr> <tr bgcolor="white"> <td><b>The Joshua Tree</b></td> </tr> <tr bgcolor="darkgray"> <td><b>The Indestructible Beat of Soweto</b></td> </tr> </table> </body> </html> Wie das HTML-Dokument in einem Browser angezeigt wird, sehen Sie in Abbildung C-8. HTML-Datei, die Elemente in verschiedenen Hintergrundfarben anzeigt |
|