xsl-list
[Top] [All Lists]

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

2010-05-16 10:41:52
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(_dot_)g(_dot_)muir(_at_)gmail(_dot_)com> wrote:
 Hi,

Given a function that returns html elements stored within the
tableAsXML variable

    <xsl:variable name="tableAsXML" as="element()*">
        <xsl:copy-of select="d:htmlparse($arg)"/>
      </xsl:variable>

I can output the elements within an html document like so correctly

        <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.

     <xsl:for-each select="$tableAsXML//*">
          <xsl:copy>
            <xsl:copy-of select="@*"/>
            <xsl:call-template name="normalizeEntityForHTML">
              <xsl:with-param name="arg" select="text()[1]"/>
            </xsl:call-template>
          </xsl:copy>
      </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

--~------------------------------------------------------------------
XSL-List info and archive:  http://www.mulberrytech.com/xsl/xsl-list
To unsubscribe, go to: http://lists.mulberrytech.com/xsl-list/
or e-mail: <mailto:xsl-list-unsubscribe(_at_)lists(_dot_)mulberrytech(_dot_)com>
--~--