| Nic Miloslav Example 33 | KEYWORDS EXAMPLES AUTHORS | 
|---|
Stylesheet 1 and Stylesheet 3 demonstrate different ways of setting xsl:variable, Stylesheet 2 and Stylesheet 4 of setting xsl:param.
| XML | HOME XSL 1 XSL 2 XSL 3 XSL 4 | 
|---|
| <xslTutorial > | 
| <chapter>Chapter A</chapter> | 
| <chapter>Chapter B</chapter> | 
| <chapter>Chapter C</chapter> | 
| <chapter>Chapter D</chapter> | 
| </xslTutorial> | 
| XSL 1 | HOME XML HTML 1 OUTPUT 1 | 
|---|
| <xsl:stylesheet version='1.0' xmlns:xsl='http://www.w3.org/1999/XSL/Transform' > | 
| <xsl:variable name="totalChapters"> | 
| <xsl:value-of select="count(//chapter)"/> | 
| </xsl:variable> | 
| <xsl:template match="/"> | 
| <TABLE> | 
| <xsl:for-each select="//chapter"> | 
| <TR><TD> | 
| <xsl:value-of select="."/> | 
| <xsl:text> (</xsl:text> | 
| <xsl:value-of select="position()"/> | 
| <xsl:text> /</xsl:text> | 
| <xsl:value-of select="$totalChapters"/> | 
| <xsl:text> )</xsl:text> | 
| </TD></TR> | 
| </xsl:for-each> | 
| </TABLE> | 
| </xsl:template> | 
| </xsl:stylesheet> | 
| HTML 1 | HOME XML XSL 1 OUTPUT 1 | 
|---|
| <HTML> | 
| <HEAD> </HEAD> | 
| <BODY> | 
| <TABLE> | 
| <TR> | 
| <TD>Chapter A (1/4)</TD></TR> | 
| <TR> | 
| <TD>Chapter B (2/4)</TD></TR> | 
| <TR> | 
| <TD>Chapter C (3/4)</TD></TR> | 
| <TR> | 
| <TD>Chapter D (4/4)</TD></TR></TABLE> </BODY> </HTML> | 
| OUTPUT 1 | HOME XML XSL 1 HTML 1 | 
|---|
| Chapter A (1/4) | 
| Chapter B (2/4) | 
| Chapter C (3/4) | 
| Chapter D (4/4) | 
| XSL 2 | HOME XML HTML 2 OUTPUT 2 | 
|---|
| <xsl:stylesheet version='1.0' xmlns:xsl='http://www.w3.org/1999/XSL/Transform' > | 
| <xsl:param name="totalChapters"> | 
| <xsl:value-of select="count(//chapter)"/> | 
| </xsl:param> | 
| <xsl:template match="/"> | 
| <TABLE> | 
| <xsl:for-each select="//chapter"> | 
| <TR><TD> | 
| <xsl:value-of select="."/> | 
| <xsl:text> (</xsl:text> | 
| <xsl:value-of select="position()"/> | 
| <xsl:text> /</xsl:text> | 
| <xsl:value-of select="$totalChapters"/> | 
| <xsl:text> )</xsl:text> | 
| </TD></TR> | 
| </xsl:for-each> | 
| </TABLE> | 
| </xsl:template> | 
| </xsl:stylesheet> | 
| HTML 2 | HOME XML XSL 2 OUTPUT 2 | 
|---|
| <HTML> | 
| <HEAD> </HEAD> | 
| <BODY> | 
| <TABLE> | 
| <TR> | 
| <TD>Chapter A (1/4)</TD></TR> | 
| <TR> | 
| <TD>Chapter B (2/4)</TD></TR> | 
| <TR> | 
| <TD>Chapter C (3/4)</TD></TR> | 
| <TR> | 
| <TD>Chapter D (4/4)</TD></TR></TABLE> </BODY> </HTML> | 
| OUTPUT 2 | HOME XML XSL 2 HTML 2 | 
|---|
| Chapter A (1/4) | 
| Chapter B (2/4) | 
| Chapter C (3/4) | 
| Chapter D (4/4) | 
| XSL 3 | HOME XML HTML 3 OUTPUT 3 | 
|---|
| <xsl:stylesheet version='1.0' xmlns:xsl='http://www.w3.org/1999/XSL/Transform' > | 
| <xsl:variable name="totalChapters" select='count(//chapter)'/> | 
| <xsl:template match="/"> | 
| <TABLE> | 
| <xsl:for-each select="//chapter"> | 
| <TR><TD> | 
| <xsl:value-of select="."/> | 
| <xsl:text> (</xsl:text> | 
| <xsl:value-of select="position()"/> | 
| <xsl:text> /</xsl:text> | 
| <xsl:value-of select="$totalChapters"/> | 
| <xsl:text> )</xsl:text> | 
| </TD></TR> | 
| </xsl:for-each> | 
| </TABLE> | 
| </xsl:template> | 
| </xsl:stylesheet> | 
| HTML 3 | HOME XML XSL 3 OUTPUT 3 | 
|---|
| <HTML> | 
| <HEAD> </HEAD> | 
| <BODY> | 
| <TABLE> | 
| <TR> | 
| <TD>Chapter A (1/4)</TD></TR> | 
| <TR> | 
| <TD>Chapter B (2/4)</TD></TR> | 
| <TR> | 
| <TD>Chapter C (3/4)</TD></TR> | 
| <TR> | 
| <TD>Chapter D (4/4)</TD></TR></TABLE> </BODY> </HTML> | 
| OUTPUT 3 | HOME XML XSL 3 HTML 3 | 
|---|
| Chapter A (1/4) | 
| Chapter B (2/4) | 
| Chapter C (3/4) | 
| Chapter D (4/4) | 
| XSL 4 | HOME XML HTML 4 OUTPUT 4 | 
|---|
| <xsl:stylesheet version='1.0' xmlns:xsl='http://www.w3.org/1999/XSL/Transform' > | 
| <xsl:param name="totalChapters" select='count(//chapter)'/> | 
| <xsl:template match="/"> | 
| <TABLE> | 
| <xsl:for-each select="//chapter"> | 
| <TR><TD> | 
| <xsl:value-of select="."/> | 
| <xsl:text> (</xsl:text> | 
| <xsl:value-of select="position()"/> | 
| <xsl:text> /</xsl:text> | 
| <xsl:value-of select="$totalChapters"/> | 
| <xsl:text> )</xsl:text> | 
| </TD></TR> | 
| </xsl:for-each> | 
| </TABLE> | 
| </xsl:template> | 
| </xsl:stylesheet> | 
| HTML 4 | HOME XML XSL 4 OUTPUT 4 | 
|---|
| <HTML> | 
| <HEAD> </HEAD> | 
| <BODY> | 
| <TABLE> | 
| <TR> | 
| <TD>Chapter A (1/4)</TD></TR> | 
| <TR> | 
| <TD>Chapter B (2/4)</TD></TR> | 
| <TR> | 
| <TD>Chapter C (3/4)</TD></TR> | 
| <TR> | 
| <TD>Chapter D (4/4)</TD></TR></TABLE> </BODY> </HTML> | 
| OUTPUT 4 | HOME XML XSL 4 HTML 4 | 
|---|
| Chapter A (1/4) | 
| Chapter B (2/4) | 
| Chapter C (3/4) | 
| Chapter D (4/4) |