XML/XSLT stylesheet/string

Материал из Web эксперт
Версия от 21:22, 25 мая 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" />
     &#13;
     <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>