Re: [xsl] Transforming multiple XML files into one file

Subject: Re: [xsl] Transforming multiple XML files into one file
From: David Carlisle <davidc@xxxxxxxxx>
Date: Mon, 3 Jul 2006 14:12:51 +0100
> What I want to do is take the <story> element from  
> each one of those files and generate one big xml file on output that  
> combines those elements. How would I do something like that?


<xsl:copy-of select="(document('file1.xml')|document('file2.xml')|document('file3.xml'))/story"/>

or if it's more convenient have a list.xml that looks like
<files>
 <file>file1.xml</file>
 <file>file2.xml</file>
 <file>file3.xml</file>
</files>

then you can co

<xsl:copy-of select="document(document('list.xml')/files/file)/story"/>

in xslt2 you can use the collection() function which essentially
automates (and hides) the generation of the list.xml file, but in XSLT1
you need to have this file list to hand either by making it manually or
9for example) modifying a directory listing. Some web service setups
have an option of supplying a listing in XMl format so sometimes you
don't need to make an actual file list xml file, just use an http URI
pointing at the directory.

David

Current Thread