This is the mail archive of the
xsl-list@mulberrytech.com
mailing list .
RE: multiple input files to one output file
- To: "'xsl-list at mulberrytech dot com'" <xsl-list at mulberrytech dot com>
- Subject: RE: multiple input files to one output file
- From: Mike Brown <mbrown at corp dot webb dot net>
- Date: Wed, 2 Feb 2000 02:11:36 -0700
- Reply-To: xsl-list at mulberrytech dot com
> I do have XML files that specify the filenames and paths of all the
> documents in a specific subdirectory. Could I somehow read such a
> filenames-file and call the document function for each of the
> files listed, and then extract the information I want from each
> document?
Wow, you are 90% of the way there just with your description of what you
want. You even used the words "for each" :-)
In filenames_file.xml you could have:
<someURIs>
<file>file1.xml</file>
<file>file2.xml</file>
<file>http://foo/file3.xml</file>
<file>file://D|/dev/src/file4.xml</file>
<file>../../file5.xml</file>
</someURIs>
Then in a template in your XSL you could have:
<xsl:for-each select="document('filenames_file.xml')/someURIs/file/text()">
<xsl:variable name="current_file_root" select="document(string(.))"/>
<!-- the next lines are just for example -->
<xsl:text>

current file: </xsl:text>
<xsl:value-of select="."/>
<xsl:text>
# of elements: </xsl:text>
<xsl:value-of select="count($current_file_root//*)"/>
</xsl:for-each>
XSL-List info and archive: http://www.mulberrytech.com/xsl/xsl-list