Assembling this is the job of the XML parser, not the XSLT processor. A simple
<xsl:copy-of select="/`"/>, or the query ".", should do the job.
It won't work, of course, if the parser doesn't support DTDs -- for example
that's true for all parsers we know of on Node.js. It also won't work if
external entity expansion is disabled in the parser, which is increasingly
often the case because of security paranoia.
Michael Kay
Saxonica
On 3 Dec 2021, at 17:25, rick(_at_)rickquatro(_dot_)com
<xsl-list-service(_at_)lists(_dot_)mulberrytech(_dot_)com> wrote:
Hi All,
I have an XML document generated from an Adobe FrameMaker book. It creates
multiple XML files and refers to them with entities in the main XML file. Is
there an XSLT 3 mechanism for combining everything into a single XML
document? Any pointers would be appreciated.
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE parts-book SYSTEM "file:///C:/PartsManual.dtd
<file:///C:/PartsManual.dtd>" [
<!ENTITY bkc1 SYSTEM "Cover.e01">
<!ENTITY bkc2 SYSTEM "TOC.e02">
<!ENTITY bkc3 SYSTEM "BP00001.e03">
<!ENTITY bkc4 SYSTEM "GN800063-0001146.e04">
<!ENTITY bkc5 SYSTEM "IX.e05">
]>
<parts-book>&bkc1;<toc>&bkc2;</toc>&bkc3;&bkc4;<ix>&bkc5;</ix></parts-book>
Rick
Rick Quatro
Carmen Publishing Inc.
585-729-6746
rick(_at_)frameexpert(_dot_)com <mailto:rick(_at_)frameexpert(_dot_)com>
http://www.frameexpert.com/store <http://www.frameexpert.com/store>
XSL-List info and archive <http://www.mulberrytech.com/xsl/xsl-list>
EasyUnsubscribe <http://lists.mulberrytech.com/unsub/xsl-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
--~--