This is the mail archive of the
mailing list for the DocBook project.
Re: docbook XML entities in nsgmls
- To: docbook at lists dot oasis-open dot org
- Subject: Re: DOCBOOK: docbook XML entities in nsgmls
- From: Norman Walsh <ndw at nwalsh dot com>
- Date: Mon, 1 Nov 1999 12:55:08 -0500
- References: <firstname.lastname@example.org>
- Reply-To: docbook at lists dot oasis-open dot org
/ Bob Stayton <email@example.com> was heard to say:
| Actually, I mentioned nsgmls because it exhibited the same
| symptoms as Arbortext Adept in this regard. My real
| problem was trying to use Arbortext with the Docbook 3 XML
| DTD. In the XML world, you officially don't need an SGML
| declaration, which is why it is not in the standard. So if
| Arbortext is claiming XML compatibility, why does Arbortext
| Document Architect 8 require an SGML declaration for an XML
| DTD? Probably because they haven't finished adapting DA to
| XML. OK, but if it requires a declaration, why doesn't it
| include one in the distribution? The product works quite
| well with XML, but they don't seem to make it easy.
| Norm, you must use Adept with Docbook XML. Didn't you have
| to dig up a declaration as well?
[Disclaimer: I work for Arbortext]
Adept includes an XML declaration (ati-xml.dcl in the entities
directory) and uses that declaration regardless of what you
specify (although I've suggested that this isn't really perfect,
that's the way it is for now)).
The problem you're having with Document Architect has to do with
the fact that DA uses an SGML parser in its guts and not (yet)
an XML parser.
Here's the trick. (Boos and catcalls, privately please ;-)
In the entity declarations, change the leading & to &, so instead
<!ENTITY cularr "↶">
<!ENTITY cularr "&#x21B6;">
Now, by XML rules, this is exactly the same thing (numeric
character references are always immediately and completely
expanded), but to an, ahem, SGML parser, the entity resolves to
a literal ampersand followed by a pound sign, etc.
Adept will still do the right thing wrt resolving characters in
the editor and writing them back out correctly.
BTW, You may find iso*.ent files in the entities directory that
are already encoded this way, accessible via the public
identifiers used by ISO with "//XML" tacked on the end. (I know
these went out in the Epic 2.0 distrib, but I'm not sure about
the base 8.0 distrib.)
Norman Walsh <firstname.lastname@example.org> | If we could read the secret
http://www.oasis-open.org/docbook/ | history of our enemies, we should
Member, DocBook Editorial Board | find in in each one's life sorrow
| and suffering enough to disarm all
| hostility.--H. W. Longfellow