xsl-list
[Top] [All Lists]

RE: [xsl] merging xml's using XSLT, merge.xslt

2007-09-13 02:31:37
Hi,
Could you please tell me more about those options.
Specifically about, using an URIResolver which returns the
DOM tree to the document request in the stylesheet.

As of now, I have been using it as,
merge.xml is as,
   <merge xmlns="http://informatik.hu-berlin.de/merge";>
      <file1>f1.xml</file1>
      <file2>f2.xml</file2>
   </merge>

Now I have been using libxslt. In which I do it as, (there is some more
behind the scenes, but just for information).
        cur = xsltParseStylesheetFile((const xmlChar *)"merge.xslt");
        doc = xmlParseFile("merge.xml");
        res = xsltApplyStylesheet(cur, doc, params);

Thanks
Senthil

-----------------------------------------------------------------------------
Date: Wed, 12 Sep 2007 09:25:50 +0100
To: <xsl-list(_at_)lists(_dot_)mulberrytech(_dot_)com>
From: "Michael Kay" < mike(_at_)saxonica(_dot_)com>
Subject: RE: [xsl] merging xml's using XSLT, merge.xslt
Message-ID: <00af01c7f516$86d59b60$6401a8c0(_at_)turtle >

You could supply the two input DOMs to the stylesheet as parameters, and
replace the calls on document() by references to the parameters.

Alternatively you could use the stylesheet unchanged, and write a
URIResolver that returns the DOM tree in response to the document request
for file1 or file2.

Michael Kay
http://www.saxonica.com/

-----Original Message-----
From: Senthil Nathan [mailto:rsennat(_at_)gmail(_dot_)com]
Sent: 12 September 2007 06:49
To: xsl-list(_at_)lists(_dot_)mulberrytech(_dot_)com
Subject: [xsl] merging xml's using XSLT, merge.xslt

Hi All,
I'm trying to merge 2 or more XML's to form a single XML
using "merge.xslt"
from the foll. link,
http://www2.informatik.hu-berlin.de/~obecker/XSLT/#merge

I'm doing this using libxslt. And I face a problem from the
XSLT front that, I need to specify the files that I'm going
to merge within the merge tags as,  <merge
xmlns="http://informatik.hu-berlin.de/merge";>
    <file1>file1.xml </file1>
    <file2>file2.xml</file2>
 </merge>

Suppose if I have the DOM tree of those files in memory, how
should I need to use merge.xslt to merge the trees in memory??

Actually in merge.xslt, the files specified are accessed as,
<xslt:call-template name="m:merge">
    <xslt:with-param name="nodes1"
select="document($file1,/*) /node()" />
    <xslt:with-param name="nodes2"
select="document($file2,/*)/node()" />  </xslt:call-template>

So, is it possible to use merge.xslt for merging DOM trees of
file1.xml, file2.xml.

Thanks
Senthil

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