xsl-list
[Top] [All Lists]

RE: concatenating 1-n XML files

2002-11-12 05:54:39
Hi,

Problem: Customer has 1-n xml files with identical structure. 
I want to
merge them into 1 large xml and then transform that.

1. Can I use the document() function with wildcards in the doc-name ?
something like: <xsl:for-each select="document('name*.xml')"> ? 

Nope. Write a recursive template the goes throught 1 to n, and use 
document(concat('name', $i, '.xml')); or if the file names are more or less 
random, first generate a directory listing in XML, and then process every item 
in that.

2. If 1. works would  a large number of files (000's) have an 
adverse effect
on performance ? Or once a document is processed is it 
retained in memory or
released ? Is there an upper limit of elements that can be 
processed ? I'll
be using xalan.

Naturally processing multiple documents has a cost. You should as Xalan 
users-list if a document is cached, or how caching can be switched off.
 
If I can't use document like that any other suggestions or 
anybody done
anything similar ? Looking through the archives/FAQ's there 

Write a preprocessor on top of the parser, combining the documents there, and 
feed that SAX stream to Xalan, for example. But I see no reason why you cannot 
use document() with recursive templates.

Jarno - VNV Nation: Beloved

 XSL-List info and archive:  http://www.mulberrytech.com/xsl/xsl-list



<Prev in Thread] Current Thread [Next in Thread>