xsl-list
[Top] [All Lists]

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

2007-06-14 04:42:57
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(_at_)nag(_dot_)co(_dot_)uk> 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...

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

<Prev in Thread] Current Thread [Next in Thread>