This is the mail archive of the docbook-apps@lists.oasis-open.org mailing list .


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

BUG: doclifter and ISO character entities


Eric,

Part of the implementation in doclifter 1.0.0 for handling ISO character
entities in XML output is broken.

In the Bugs And Warnings section of the doclifter man page, I notice the
statement:

  When generating XML, doclifter currently generates ISO SGML entity
  inclusions rather than the more technically correct XHMTL sets. This
  accommodates an apparent deficiency in the xsl-stylesheets
  distribution and may change in the future.

Can you clarify the background on that?

In practice, I've found that what it's actually doing in some instances
is generating invalid XML. For example, doclifter will generate:

  <?xml version="1.0" encoding="ISO-8859-1"?>
  <!DOCTYPE refentry PUBLIC "-//OASIS//DTD DocBook XML V4.1.2//EN"
                     "http://www.oasis-open.org/docbook/xml/4.1.2/docbookx.dtd"; [
  <!ENTITY % ISOpub PUBLIC "ISO 8879:1986//ENTITIES Publishing//EN"
    "iso-pub.ent">
  %ISOpub;
  ]>

But for XML, if it generates any ISO character entity declarations at
all in the internal DTD subset, they should look like this:

  <!ENTITY % ISOpub PUBLIC "ISO 8879:1986//ENTITIES Publishing//EN//XML"
    "iso-pub.ent">

The ISO SGML entities are different from the XML ones, and if an XML
parser/XSLT engine ends up pulling in the SGML entities instead of the
XML ones, it'll break -- the SGML entities don't 'work' with XML.

Anyway, I don't understand why doclifter needs to generate entity
declarations for the ISO entities at all, because both the DocBook SGML
and XML DTDs already include the correct entity declarations -- so the
ISO entity declarations doclifter generates are actually redundant.

  --Mike



Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]