(I'm moving this to the dev list, now we got past user issues)
Jim Dixon wrote:
On Wed, 6 Sep 2006, Ross Gardler wrote:
This remains uncomfortable, however. There appears to be no way to use
XInclude without introducing a new DTD.
That is correct. You can use a DTD that allows the xi:include stuff, or
we could add it to the XDoc DTD. I think the reason we never added it
was because we have always intended on moving the internal format over
to a subset of XHTML2, we would add it at this point.
However, to date we have not done either.
Patches to our DTDs are welcome.
I have defined a DTD which allows me to use XInclude and validate:
-------------------------------------------------------------------------
<!ENTITY % local.inline "|xi:include">
<!ENTITY % document PUBLIC
"-//APACHE//ENTITIES Documentation V2.0//EN"
"document-v20.dtd">
%document;
<!ATTLIST document
xmlns:xi CDATA #FIXED "http://www.w3.org/2001/XInclude"
<!ELEMENT xi:include EMPTY>
<!ATTLIST xi:include
parse (text|xml) "xml"
href CDATA #REQUIRED
encoding CDATA #IMPLIED
-------------------------------------------------------------------------
This works for my purposes. I enable XInclusion by using this doctype
instead of document-v20.dtd.
If this were to be done as a patch, I suppose the patch would introduce
a new doctype V2.1, with the xi:include element moved into what would now
be document-v21.mod. This would be added to catalog.xcat.
I don't think we need to create a version 2.1 for this to be honest. I
know we *should* but it is an optional element that is 100% backward
compatible.
Can we just slip it in without causing any upset? Naughty I know, but I
don't have the time to do a "proper job" on this.
The exact place(s) where the xi:include element would be permitted might
be an issue to some. I would add it to link-content.mix.
I agree.
Ross