Re: [xsl] Passing xml nodes to a function

Subject: Re: [xsl] Passing xml nodes to a function
From: David Carlisle <davidc@xxxxxxxxx>
Date: Wed, 9 Aug 2006 16:19:27 +0100
I suspect that ypu don't want to use call-template and named templates
at all here, and just use apply-templates which would simplify your code

It's not clear what output you want, you suggested code allways makes
table rows tr containing a single td but you showed an indented output

		teleType	H
		teleNumber	0145454545

what html do you intend here?

It's not clear how your initial selection .//response/*/response/*" fits
with your input document (the sample you showed didn't have a response
element but I'm assuming that what you showed was teh content of a
typical <response> ?

call-template does not change the current node so  as you recurse along
your $children the current node always stays teh same so
<xsl:value-of select="name()"/> will produce the same text  at each

I think you want something like
    <xsl:apply-templates" select=".//response/*/response/*" mode="table"/>

<xsl:template match="*" mode="table">
<td><xsl:value-of select="name()"/></td>
<xsl:if test="not(*)"><td><xsl:value-of select="."/></td></xsl:if>


Current Thread