> 1. SoftQuad XMetal
[Sorry, I have lost the name of the person, who wrote the first letter]
> > Just a quick note to let TEI advocates know that XMetal chokes on:
> > <!ENTITY % usrmods
> > PUBLIC "-//TEI U5-1995//DTD TEI Lite 1.0 Extensions//EN">
> > %usrmods
> > <!-- end of TEI Lite DTD -->
I can't reproduce this error. XMetal does read my teilite.dtd + usrmods.
The catalog file is called extid.map in the XMetal directory. The
easiest way is to put the dtds into the rules directory which is
automatically searched and / or to compile the dtd into a rules
Some things I had to adjust:
(1) I had to use the TEI sgml declaration with teilite, because the
build in declaration has namelen set to 32 (which is the CALs standard,
(2) XMetal says it does not accept the use of general entities in the
dtd part of the document.
If you have at the beginning of your document something like this:
<!DOCTYPE TEI.2 PUBLIC "-//TEI//DTD TEI Lite 1.6 //EN"
<?TAGLINK xref "TEI-P3">
<!ENTITY % entities SYSTEM "jgoethe0.ent">
XMetal complains: "Error in Document Type Declaration in the document.
General Error. Only ENTITY declarations are supported in the document
type declaration subset." If you delete "%entities;", it works. To my
understanding this is a parameter entity, which is allowed in the
prolog. Does anybody know, whether this behaviour is a useful
interpetation of the SGML standard? Is Clarks SGML parser just more
The obvious workaround is to include the entities in the header (tested)
or in the header.
Just started to test XMetal, but until now it seems to be stable and
useful. A problem of XMetal is that the powerful programming API does
only work with the Microsoft "standards" of scripting and programming
languages: VBscript, Jscript and Java (but only the MS variant).