Re: [xsl] What is the equivalent for-each of <xsl:copy-of select="$elements"/>

Subject: Re: [xsl] What is the equivalent for-each of <xsl:copy-of select="$elements"/>
From: Mukul Gandhi <gandhi.mukul@xxxxxxxxx>
Date: Sun, 16 May 2010 21:11:13 +0530
I guess, you could accomplish this with a special 'mode' defined for
templates. Perhaps something like below:

<xsl:apply-templates select="$tableAsXML" mode="x" />

<xsl:template match="*" mode="x">
    <xsl:copy>
       <xsl:copy-of select="@*"/>
       <xsl:apply-templates mode="x" />
  </xsl:copy>
</xsl:template>

<xsl:template match="text()" mode="x">
    <!-- do something -->
</xsl:template>

On Sun, May 16, 2010 at 8:19 PM, Alex Muir <alex.g.muir@xxxxxxxxx> wrote:
> B Hi,
>
> Given a function that returns html elements stored within the
> tableAsXML variable
>
> B B B  <xsl:variable name="tableAsXML" as="element()*">
> B B B B B B B  <xsl:copy-of select="d:htmlparse($arg)"/>
> B B B B B  </xsl:variable>
>
> I can output the elements within an html document like so correctly
>
> B  B  B  B  <xsl:copy-of select="$tableAsXML"/>
>
> However I want to copy all the elements and apply a template to the text().
>
> The output I get for the following for-each loop is only the text and
> no html elements and I'm struggling to figure out why.
>
> B B  B  <xsl:for-each select="$tableAsXML//*">
> B B B B B B B B B  <xsl:copy>
> B B B B B B B B B B B  <xsl:copy-of select="@*"/>
> B B B B B B B B B B B  <xsl:call-template name="normalizeEntityForHTML">
> B B B B B B B B B B B B B  <xsl:with-param name="arg" select="text()[1]"/>
> B B B B B B B B B B B  </xsl:call-template>
> B B B B B B B B B  </xsl:copy>
> B B B B B  </xsl:for-each>
>
> What do I need to do differently to copy the elements within
> $tableAsXML and apply a template to each element text node?
>
> Thanks
>
> --
> Alex
>
> An informal recording with one mic under a tree leads to some pretty
> sweet acoustic sounds.
> https://sites.google.com/site/greigconteh/albums/diabarte-and-sons



--
Regards,
Mukul Gandhi

Current Thread