XML/XSLT stylesheet/string — различия между версиями
Admin (обсуждение | вклад) м (1 версия) |
|
(нет различий)
|
Текущая версия на 11:26, 26 мая 2010
value-of select="string(name(node()))"
<source lang="xml">
File: Data.xml <elements>
<element_A> textA_1 <command>element_B</command> textA_2 </element_A> <element_B> textB_1 <command>element_C</command> textB_2 </element_B> <element_C>textC_1 textC_2</element_C>
</elements>
File: Transform.xslt <?xml version="1.0"?> <xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
version="1.0"> <xsl:output method="html" indent="yes" /> <xsl:template match="/"> <xsl:variable name="getValue"> <xsl:call-template name="recursion"> <xsl:with-param name="n" select="count(//*)" /> </xsl:call-template> </xsl:variable> <xsl:value-of select="$getValue" /> </xsl:template> <xsl:template name="recursion"> <xsl:param name="n" /> <xsl:if test="number($n) > 0"> <xsl:value-of select="string(name(node()))" /> <xsl:text> </xsl:text> <xsl:value-of select="$n" /> <xsl:call-template name="recursion"> <xsl:with-param name="n" select="number($n) -1" /> </xsl:call-template> </xsl:if> </xsl:template>
</xsl:stylesheet> Output: elements 6elements 5elements 4elements 3elements 2elements 1
</source>