xml editor

Supported platforms

Compatible with Windows7 & Mac OS X Snow Leopard

Ready for data server software
[XSL-LIST Mailing List Archive Home] [By Thread] [By Date]

Re: [xsl] Problem with xslt recursion


Subject: Re: [xsl] Problem with xslt recursion
From: David Carlisle <davidc@xxxxxxxxx>
Date: Tue, 10 Feb 2004 22:32:50 GMT

 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[@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@DCARLISLE /c/tmp
$ saxon concat.xml concat.xsl x=El2
<?xml version="1.0" encoding="utf-8"?>R1
davidc@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



Current Thread
Keywords
XML Editor | XML Author | WYSIWYG Editors | Schema Editor | XSD Documentation | XSL/XSLT Editor | XQuery | XML Databases | SVN Client
© 2002-2011 SyncRO Soft Ltd. All rights reserved. | Sitemap | Privacy Policy | This website was created & generated with <oXygen/>®XML Editor