| count()-Funktion | |
| Diese Funktion zählt die Anzahl der Knoten in einer bestimmten Knotenmenge. | |
| Eingaben | |
|
Eine Knotenmenge. |
|
| Ausgabe | |
|
Die Anzahl der Knoten in der Knotenmenge. |
|
| Definition | |
|
XPath-Abschnitt 4.1, Funktionen auf Knotenmengen |
|
| Beispiele | |
|
Hier das XML-Dokument, mit dem die Funktion count() veranschaulicht werden soll:
<?xml version="1.0"?>
<test>
<p>This is a test XML document used by
several of our sample stylesheets.</p>
<question>
<text>When completed, the Eiffel Tower was the
tallest building in the world.</text>
<true>You're correct! The Eiffel Tower was the
world's tallest building until 1930.</true>
<false>No, the Eiffel Tower was the world's
tallest building for over 30 years.</false>
</question>
<question>
<text>New York's Empire State Building knocked
the Eiffel Tower from its pedestal.</text>
<true>No, that's not correct.</true>
<false>Correct! New York's Chrysler Building,
completed in 1930, became the world's tallest.</false>
</question>
</test>
Hier das Stylesheet, das die Funktion count() veranschaulicht:
<?xml version="1.0"?>
<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
<xsl:output method="text"/>
<xsl:variable name="newline">
<xsl:text>
</xsl:text>
</xsl:variable>
<xsl:template match="/">
<xsl:value-of select="$newline"/>
<xsl:text>Tests of the count() function:</xsl:text>
<xsl:value-of select="$newline"/>
<xsl:value-of select="$newline"/>
<xsl:text> count(/test)=</xsl:text>
<xsl:value-of select="count(/test)"/>
<xsl:value-of select="$newline"/>
<xsl:text> count(/true)=</xsl:text>
<xsl:value-of select="count(/true)"/>
<xsl:value-of select="$newline"/>
<xsl:text> count(//true)=</xsl:text>
<xsl:value-of select="count(//true)"/>
<xsl:value-of select="$newline"/>
<xsl:text> count(//test|//true|//text)=</xsl:text>
<xsl:value-of select="count(//test|//true|//text)"/>
<xsl:value-of select="$newline"/>
<xsl:variable name="numberOfQuestions" select="count(/test/question)"/>
<xsl:for-each select="/test/question">
<xsl:text> This is question number </xsl:text>
<xsl:value-of select="position()"/>
<xsl:text> of </xsl:text>
<xsl:value-of select="$numberOfQuestions"/>
<xsl:value-of select="$newline"/>
</xsl:for-each>
</xsl:template>
</xsl:stylesheet>
Hier die Ergebnisse der Transformation: Tests of the count() function: count(/test)=1 count(/true)=0 count(//true)=2 count(//test|//true|//text)=5 This is question number 1 of 2 This is question number 2 of 2 Die ersten vier Aufrufe der Funktion count() verwenden XPath-Ausdrücke nur, um etwas im XML-Dokument zu zählen. Die letzte Verwendung von count() zählt die Anzahl der <question>-Elemente im Dokument und speichert diesen Wert in einer Variablen. Die Erzeugung von Text wie |
|