Subject: Re: [xsl] xsl transform From: David Carlisle <davidc@xxxxxxxxx> Date: Tue, 28 Jun 2005 15:12:38 +0100 |
Your input format looks a lot nicer than your output format:-) <xsl:template match="/results"> (this works fine) <root> <xsl:attribute name="fields"> <xsl:for-each select="row[1]/*"> <xsl:value-of select="local-name()"/> <xsl:if test="not(position()=last())">|</xsl:if> </xsl:for-each> </xsl:attribute> <e> <xsl:for-each select="row[1]/*"> <xsl:attribute name="a{position()}"/> <xsl:value-of select="."/> </xsl:for-each> </e> </root> </xsl:template> would produce <e a1="p1" a2="p2" etc If you really need attribute names a b c .. then easiest is to have a file names.xml that looks like <x> <a/> <b/> ... <aa/> .. <az/> </x> Then replace <xsl:attribute name="a{position()}"/> by <xsl:variable name="p" select="a{position()}"/> <xsl:attribute name="{name(document('names.xml')/x/*[$p])}"/> David ________________________________________________________________________ This e-mail has been scanned for all viruses by Star. The service is powered by MessageLabs. For more information on a proactive anti-virus service working around the clock, around the globe, visit: http://www.star.net.uk ________________________________________________________________________
Current Thread |
---|
|
<- Previous | Index | Next -> |
---|---|---|
Re: [xsl] xsl transform, James Fuller | Thread | Re: [xsl] xsl transform, Joris Gillis |
Re: [xsl] xsl transform, James Fuller | Date | RE: [xsl] xsl transform, Philippe LAPLANCHE |
Month |