[XSL-LIST Mailing List Archive Home] [By Thread] [By Date]

Re: [xsl] Combining two files


Subject: Re: [xsl] Combining two files
From: "Mark" <mark@xxxxxxxxxxxx>
Date: Sun, 12 Dec 2010 09:26:55 -0800

Thanks Martin,
Your solution works perfectly.
My problem had to do with the command line -- I was unsure how to select the input xml file and what to do to add the second file inside my style sheet. Dumb, I know, but I could not see the forest for the trees.


I appreciate your taking the time to show me. I used the first of your two examples and it produced the desired output.

Regards,
Mark

-----Original Message----- From: Martin Honnen
Sent: Sunday, December 12, 2010 7:12 AM
To: xsl-list@xxxxxxxxxxxxxxxxxxxxxx
Subject: Re: [xsl] Combining two files


Mark wrote:

I forgot to mention the result I want: a new xml document with the
<Items> (and their children) from both files in a single list as
children of a new <List> element --that is, make a single <List> of both
files in a new document. Since I made my original tries a few years ago,
I no longer know what I did wrong then. Although my style sheet works, I
am confident I do not understand the proper way to do this.

You will need to decide whether you make one of the (two) files your primary input document or whether you want to start with a named template. If you choose one file as the primary input document then all you need is

  <xsl:template match="/List">
    <xsl:copy>
      <xsl:copy-of select="Item, document('35Subjects.xml')/List/Item"/>
    </xsl:copy>
  </xsl:template>

If you start with named template then that could look as follows:

  <xsl:template name="main">
     <List>
       <xsl:copy-of select="document('22Authors.xml'')/List/Item,
document('35Subjects.xml')/List/Item"/>
     </List>
  </xsl:template>

--

Martin Honnen
http://msmvps.com/blogs/martin_honnen/


Current Thread
Keywords
xml