If the file is in the form
<root>
....
</root>
<root>
....
</root>
then you should be able to present to the XML parser a skeleton document of the
form
<!DOCTYPE dummy [
<!ENTITY x "multidoc.xml"/>]
<dummy>&x;</dummy>
and the XSLT stylesheet will just see this is a normal standard (and
streamable) XML input.
If however the file is in the form
<?xml version="1.0"?>
<root>
....
</root>
<?xml version="1.0"?>
<root>
....
</root>
then you have a bit more work to do, because this isn't a well formed external
entity. Assuming Java, you will need to write an implementation of the Java
InputStream class that filters the input document and removes the XML
declarations, and present this InputStream as the input to the XML parser.
Michael Kay
Saxonica
On 29 May 2018, at 07:49, Geert Bormans
geert(_at_)gbormans(_dot_)telenet(_dot_)be
<xsl-list-service(_at_)lists(_dot_)mulberrytech(_dot_)com> wrote:
All,
I am (using XSLT3 streaming) processing files that are occasionaly a
concatenation of multiple XML files
Before I start cutting documents apart before processing,
I wondered, maybe there is an XSLT streaming solution all the way.
Any ideas
Best regards,
Geert Bormans
--------------------------------------------------------------
Markup UK - a conference about XML and other mark-up languages
London, June 9–10 2018
Programme now available at http://markupuk.org/speakers.xhtml
<http://markupuk.org/speakers.xhtml>
Register at http://markupuk.org/registration.xhtml
<http://markupuk.org/registration.xhtml>
XSL-List info and archive <http://www.mulberrytech.com/xsl/xsl-list>
EasyUnsubscribe <-list/293509> (by email <>)
--~----------------------------------------------------------------
XSL-List info and archive: http://www.mulberrytech.com/xsl/xsl-list
EasyUnsubscribe: http://lists.mulberrytech.com/unsub/xsl-list/1167547
or by email: xsl-list-unsub(_at_)lists(_dot_)mulberrytech(_dot_)com
--~--