Jon Ison wrote: > > I attach the master document (AdmC1.xml) for you to look at. It is indeed > DocBook 5 / RELAX-NG, and references 3 > files (Entities.xml, EntitiesApps.xml and EntitiesLibs.xml) with the entity > definitions (also attached). You'll see > what I mean when you have a look. > > You were right by the way ... I tried saving out in v3.8 and converting the > output, but it failed with a similar message. >
Due to the fact that XMLmind XML Editor always passes to the XSLT engine a flat copy of the XML document which is generated in a temporary working directory (e.g. /tmp/xxe53772/__doc.xml), a master document containing this kind of DTD subset cannot work: --- <!DOCTYPE chapter [ <!ENTITY % Entities SYSTEM "../../Entities.xml"> %Entities; <!ENTITY % EntitiesApps SYSTEM "../../EntitiesApps.xml"> %EntitiesApps; <!ENTITY % EntitiesLibs SYSTEM "../../EntitiesLibs.xml"> %EntitiesLibs; ]> --- * If, just in the DTD subset, you replace the relative paths with absolute paths, it should work: --- <!DOCTYPE chapter [ <!ENTITY % Entities SYSTEM "file:/foo/bar/Entities.xml"> %Entities; <!ENTITY % EntitiesApps SYSTEM "file:/foo/bar/EntitiesApps.xml"> %EntitiesApps; <!ENTITY % EntitiesLibs SYSTEM "file:/foo/bar/EntitiesLibs.xml"> %EntitiesLibs; ]> --- * OR If you directly declare the external entities in the DTD subset (using relative paths), it should work too: --- <!DOCTYPE chapter [ <!ENTITY UsersManual SYSTEM "../../xml/master/UsersManual.xml"> <!ENTITY UseTOC SYSTEM "../../xml/master/UseTOC.xml"> <!ENTITY UseTOCFigures SYSTEM "../../xml/master/UseTOCFigures.xml"> ...DOZENS OF OTHER DECLARATIONS IN YOUR CASE... ]> --- Note that XMLmind XML Editor does not try to be good at dealing with such modular documents. We strongly recommend to give up using the macro facilities which are part of the DTD standard (in our opinion, they are hard to manage and hard to document) and to switch to structured inclusion mechanisms such as XInclude or DITA conref. --- PS: Note that, strictly speaking, your DTD subset <!DOCTYPE chapter [ ... ]> <chapter xmlns="http://docbook.org/ns/docbook" ... > is not valid, given the fact that the document element of AdmC1.xml is a {http://docbook.org/ns/docbook}chapter and not a {}chapter. A picky validating XML processor could reject your file just for this reason. In our opinion, this means that it is not a good idea to use a DTD subset in a DocBook 5 document.

