Subject: Re: [xsl] What is the equivalent for-each of <xsl:copy-of select="$elements"/> From: Alex Muir <alex.g.muir@xxxxxxxxx> Date: Sun, 16 May 2010 16:07:19 +0000 |
Thanks Mukul, This worked for me. <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"> <xsl:call-template name="normalizeEntityForHTML"> <xsl:with-param name="arg" select="."/> </xsl:call-template> </xsl:template> And Martin your right it was outputting content just not with the correct html table hierarchy like so. <table id="mh43527"> </table> <tr id="mh43529"> </tr> <td id="mh43531"> </td> <td id="mh43533"> </td> <td id="mh43535"> </td> I made a mistake of looking at the view source from firefox. Firefox was modifying the poor input such that the elements in the table were not present in the source. Regards Alex On Sun, May 16, 2010 at 3:41 PM, Mukul Gandhi <gandhi.mukul@xxxxxxxxx> wrote: > 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: >> 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 > > -- 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
Current Thread |
---|
|
<- Previous | Index | Next -> |
---|---|---|
Re: [xsl] What is the equivalent fo, Mukul Gandhi | Thread | re: [xsl] What is the equivalent fo, Vladimir Nesterovsky |
re: [xsl] What is the equivalent fo, Vladimir Nesterovsky | Date | RE: [xsl] Re: Dynamic number of sor, Michael Kay |
Month |