[Home] [By Thread] [By Date] [Recent Entries]


On Sat, Jul 10, 2004 at 04:12:39PM +0200, Martin Honnen wrote:
> >Is there a _standard_ way of combining or encapsulating multiple XML
> >documents into a single XML document?
> 
> http://www.w3.org/TR/xinclude/ is probably what you are looking for 
> though it has not yet reached recommendation status.
> Implementations are listed here:
>   http://www.w3.org/XML/2002/09/xinclude-implementation

Thanks for the pointer (no pun intended).

I don't think it does what I need though. What I want is to store existing
XML documents (complete with doctype/DTD subset declarations etc), within an
enclosing XML document. With XInclude, I think I would be forced to use
parse="text" to do that. And in that case, the enclosed document is not
composed of XML elements at all; I might as well store it as CDATA.

Actually, that does suggest a reasonable option:

<docset>
  <document><![CDATA[<?xml version="1.0"?>
    <!DOCTYPE example1 [ <!ELEMENT one (#PCDATA)> ]>
]]>
    <one>
    ..</one>
  </document>
  <document><![CDATA[<?xml version="1.0"?>
    <!DOCTYPE example2 [ <!ELEMENT two (#PCDATA)> ]>
]]>
    <two>
    ..</two>
  </document>
</docset>

Or even:

<ex:docset>
  <one ex:prolog='&lt;?xml version="1.0"?&gt;&#xa;&lt;!DOCTYPE example1 [ &lt;!ELEMENT one (#PCDATA)&gt; ]&gt;'>
  ..</one>
  <two ex:prolog='&lt;?xml version="1.0"?&gt;&#xa;&lt;!DOCTYPE example2 [ &lt;!ELEMENT two (#PCDATA)&gt; ]&gt;'>
  ..</two>
</ex:docset>

That's probably good enough for my purposes.

Regards,

Brian.

Site Map | Privacy Policy | Terms of Use | Trademarks
Free Stylus Studio XML Training:
W3C Member