Re: [xsl] Merging multiple documents and combining their nodes

Subject: Re: [xsl] Merging multiple documents and combining their nodes
From: "Mark Peters" <flickrmeister@xxxxxxxxx>
Date: Thu, 14 Jun 2007 07:42:43 -0400
Hi David,

I got a good chuckle out of your "the only thing you need to know ...
and that I can't type" comment. Thanks for the sense of humor, and for
your suggestions.

For some reason, I'm still getting the "Expected ,, but found: ]"
error, after I added the additional brackets.

Here's the current version of the stylesheet. Did I add the brackets
in the correct locations?


<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform"; xmlns:exslt="http://exslt.org/common";> <xsl:output indent="yes"/> <xsl:template match="/"> <xsl:variable name="temp"> <components> <xsl:copy-of select="document(/files/file)/components/component"/> </components> </xsl:variable> <components> <xsl:for-each select="exslt:node-set($temp)/components/component[generate-id()=generate-id(key('c',@name)]"> <xsl:sort select="@name"/> (<xsl:copy> (<xsl:copy-of select="@*|key('c'@name)/*"/> </xsl:copy>) </xsl:for-each> </components> </xsl:template> <xsl:key name="c" match="component" use="@name"/> </xsl:stylesheet>

In XSLT1 (not XSLT2) stylesheets always have to be given an initial
inout file. How that is specified depends on the processor being used.
If your stylesheet is opnly doing this merge you can specify
filenames_file.xml as that input.

<smacks head> Of course! My brain's going soft -- probably from smacking my head too often.

Thanks,
Mark


On 6/14/07, David Carlisle <davidc@xxxxxxxxx> wrote:

In XSLT1 (not XSLT2) stylesheets always have to be given an initial inout file. How that is specified depends on the processor being used. If your stylesheet is opnly doing this merge you can specify filenames_file.xml as that input.

The only thing you need to know (initially) is that XPath function calls
have as many ( as they have ) and that I can't type.

select="exslt:node-set($temp)/components/component
    [generate-id()=generate-id(key('c',@name)]">
                              (
                                  (
                                            )

another closing bracket wouldn'd do any harm, sorry...

Current Thread