This is the mail archive of the xsl-list@mulberrytech.com mailing list .


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]

RE: multiple input files to one output file


> 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>&#xA;&#xA;current file: </xsl:text>
  <xsl:value-of select="."/>
  <xsl:text>&#xA;# 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

Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]