English | Français | Deutsch | Magyar | >> 中文 << | Polski | ZVON > Tutorials > XSLT Tutorial |
介绍 / 搜索 / ZVON |
>> 页 53 << | 上一条 | 下一条 | 目录 | 元素索引 |
XML源码
<source> <AAA> <BBB> <CCC>Carl</CCC> </BBB> <BBB/> <BBB/> </AAA> <AAA> <BBB/> <BBB> <CCC>John</CCC> <CCC>Charles</CCC> <CCC>Robert</CCC> <CCC>Anthony</CCC> </BBB> </AAA> </source> 输出
<DIV>BBB(1/5)(2/5)(3/5)(4/5)(5/5)</DIV> <DIV>CCC(1/5)(2/5)(3/5)(4/5)(5/5)</DIV> <DIV>CCC(1/4)(2/4)(3/4)(4/4)</DIV> 用HTML察看
BBB(1/5)(2/5)(3/5)(4/5)(5/5)
CCC(1/5)(2/5)(3/5)(4/5)(5/5)
CCC(1/4)(2/4)(3/4)(4/4) |
XSLT stylesheet
<xsl:stylesheet version = '1.0'
xmlns:xsl='http://www.w3.org/1999/XSL/Transform'> <xsl:template match="/"> <DIV> <xsl:for-each select="//BBB"> <xsl:call-template name="printout"/> </xsl:for-each> </DIV> <DIV> <xsl:apply-templates select="//CCC"/> </DIV> <DIV> <xsl:apply-templates select="//AAA[last()]//CCC"/> </DIV> </xsl:template> <xsl:template match="CCC"> <xsl:call-template name="printout"/> </xsl:template> <xsl:template name="printout"> <xsl:if test="position()=1"> <xsl:value-of select="name()"/> </xsl:if> <xsl:text>(</xsl:text> <xsl:value-of select="position()"/> <xsl:text>/</xsl:text> <xsl:value-of select="last()"/> <xsl:text>)</xsl:text> </xsl:template> </xsl:stylesheet> |
XML源码
<source> <AAA> <BBB> <CCC>Carl</CCC> </BBB> <BBB/> <BBB/> </AAA> <AAA> <BBB/> <BBB> <CCC>John</CCC> <CCC>Charles</CCC> <CCC>Robert</CCC> <CCC>Anthony</CCC> </BBB> </AAA> </source> 输出
<TABLE border="1"> <TR> <TH>Position</TH> <TH>Last</TH> <TH>Name</TH> </TR> <TR> <TD>1</TD> <TD>4</TD> <TD>John</TD> </TR> <TR> <TD>2</TD> <TD>4</TD> <TD>Charles</TD> </TR> <TR> <TD>3</TD> <TD>4</TD> <TD>Robert</TD> </TR> <TR> <TD>4</TD> <TD>4</TD> <TD>Anthony</TD> </TR> </TABLE> <TABLE border="1"> <TR> <TH>Position</TH> <TH>Last</TH> <TH>Name</TH> </TR> <TR> <TD>1</TD> <TD>4</TD> <TD>Anthony</TD> </TR> <TR> <TD>2</TD> <TD>4</TD> <TD>Charles</TD> </TR> <TR> <TD>3</TD> <TD>4</TD> <TD>John</TD> </TR> <TR> <TD>4</TD> <TD>4</TD> <TD>Robert</TD> </TR> </TABLE> 用HTML察看
|
XSLT stylesheet
<xsl:stylesheet version = '1.0'
xmlns:xsl='http://www.w3.org/1999/XSL/Transform'> <xsl:template match="/"> <TABLE border="1"> <TR> <TH>Position</TH> <TH>Last</TH> <TH>Name</TH> </TR> <xsl:for-each select="//AAA[last()]//CCC"> <TR> <TD> <xsl:value-of select="position()"/> </TD> <TD> <xsl:value-of select="last()"/> </TD> <TD> <xsl:value-of select="text()"/> </TD> </TR> </xsl:for-each> </TABLE> <TABLE border="1"> <TR> <TH>Position</TH> <TH>Last</TH> <TH>Name</TH> </TR> <xsl:for-each select="//AAA[last()]//CCC"> <xsl:sort order="ascending" select="text()"/> <TR> <TD> <xsl:value-of select="position()"/> </TD> <TD> <xsl:value-of select="last()"/> </TD> <TD> <xsl:value-of select="text()"/> </TD> </TR> </xsl:for-each> </TABLE> </xsl:template> </xsl:stylesheet> |