Kenneth Johansson wrote:
> What you say is that applying 4.3 DTD on a 4.2 document is bad? Can this be 
> the problem? Should I change all DOCTYPEs to 4.3?

No, I didn't say that. DocBook 4.3 is upwardly compatible with DocBook 
4.2. Any DocBook 4.2 is also a DocBook 4.3 document (the opposite being 
not necessarily true).

[1] If you have modified the system-wide XML catalog to make 
"-//OASIS//DTD DocBook XML V4.2//EN" to the DocBook 4.3 DTD, then your 
``strange indention'' problem is solved: XXE works as expected.

DocBook 4.2 <caption> may not contain #PCDATA:
---
<caption>
   <para>Component view of the Sectra Cardiology Package and its
   interaction with IDS5</para>
</caption>
---

DocBook 4.3+ <caption> may contain #PCDATA:
---
<caption><para>Component view of the Sectra Cardiology Package and its
interaction with IDS5</para></caption>
---



[2] If you intend to upgrade from a DocBook version to newer ones, it is 
annoying to add
---
<!DOCTYPE book PUBLIC "-//OASIS//DTD DocBook XML V4.2//EN"
"http://www.oasis-open.org/docbook/xml/4.2/docbookx.dtd";>
---
at the top of your documents, simply because sooner or later this 
information will  become incorrect.



I would recommend:

* Not to add a <!DOCTYPE> to your documents (or a <!DOCTYPE> with just 
character entities).

This is the implicit grammar approach: the way of the future IMHO. See 
DSDL/NRL -- 
http://www.idealliance.org/papers/dx_xml03/papers/04-05-03/04-05-03.html

* OR add something like this:
---
<!DOCTYPE book SYSTEM 
"http://www.sectra.se/dtd/docbook/current/docbookx.dtd";>
---
and change XXE configuration and system-wide XML catalog accordingly.

* OR never upgrade your documents to newer DocBook DTDs (by far, my 
favorite one!).


Reply via email to