xsl-list
[Top] [All Lists]

Re: Problem with xslt recursion

2004-02-10 15:32:50

 to address your doubt about why it is not enuf for me
 to just use <xsl:copy-of select="Type/text()"/>
 
 instead of recursion i have to further explain what i
 am trying to do..

See, it's always much easier to answer questions given sample input and
desired output. You are correct that my one line xsl:copy can not add
the  "_" between the items (In Xpath 2 this will be possible and the
whole stylesheet below could be replaced by a single xsl:value-of)

However you don't need recursion, just a small for-each loop over the
elements



<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform";
version="1.0">
<xsl:param name="x"/>
<xsl:template match="Root">
 <xsl:for-each select="Elements/Element[(_at_)name=$x]/R/Type">
 <xsl:value-of select="/Root/*[name()=current()]"/>
 <xsl:if test="position()!=last()">_</xsl:if>
 </xsl:for-each>
</xsl:template>
</xsl:stylesheet>


$ saxon concat.xml concat.xsl x=El1
<?xml version="1.0" encoding="utf-8"?>R1_R2
davidc(_at_)DCARLISLE /c/tmp
$ saxon concat.xml concat.xsl x=El2
<?xml version="1.0" encoding="utf-8"?>R1
davidc(_at_)DCARLISLE /c/tmp
$ saxon concat.xml concat.xsl x=El3
<?xml version="1.0" encoding="utf-8"?>R1_R2_R3


which matches your desired output I believe.

-- 
http://www.dcarlisle.demon.co.uk/matthew

 XSL-List info and archive:  http://www.mulberrytech.com/xsl/xsl-list



<Prev in Thread] Current Thread [Next in Thread>