SGML: TEI formal public identifiers

SGML: TEI formal public identifiers

From @UTARLVM1.UTA.EDU:owner-tei-tech@UICVM.CC.UIC.EDU Mon May 13 21:41:16 1996
Date:         Mon, 13 May 1996 19:22:11 CDT
Reply-To: TEI Technical Review discussion list <TEI-TECH@UICVM.UIC.EDU>
Sender: TEI Technical Review discussion list <TEI-TECH@UICVM.UIC.EDU>
From: Michael Sperberg-McQueen <U35395%UICVM.bitnet@UTARLVM1.UTA.EDU>
Organization: ACH/ACL/ALLC Text Encoding Initiative
Subject:      formal public identifiers - call for testers
Comments: To: Text Encoding Initiative Public Discussion List
          TEI technical review discussion <>
To: Multiple recipients of list TEI-TECH <TEI-TECH@UICVM.UIC.EDU>


The editors promised, some time ago (well, an embarrassingly LONG time
ago, in fact) that the TEI would in due course prepare and distribute
its DTDs with 'formal public identifiers' -- these are an SGML construct
that allows public DTDs like the TEI to be a bit more independent of
system-specific naming conventions.

We have in fact created such a set of formal public identifiers, and
have been testing it off and on for a while, trying to make sure it
worked before releasing it publicly.  It seems to work, and we think
it's ready for wider use and some beta testing.  So this is a call for
volunteers to test the TEI's formal public identifiers.

If you wish to help, please do the following:

1 fetch the files, by ftp from the TEI's ftp site:  all the files are in

2 read the installation notes (three versions, teifpi.doc, teifpi.tei,
and teifpi.html) and follow the directions

3 test the result on your system, with your SGML parser or other

4 report to the list TEI-TECH (or, if you wish, to the editors directly)
on your experiences.  Of particular interest:

  Did it work?
  Were the instructions clear?
  Did you have to do anything that wasn't in the instructions, to make
    it work?
  Had you heard of 'formal public identifiers' before now?  (i.e. what's
    your self-assessed level of SGML knowledge?)

You will need an SGML processor which has support for public
identifiers.  Many newer systems, including SP and the newer Unix
versions of sgmls, support public identifiers by means of SGML Open
catalogs; if you have such a system, installation and use should be
easy.  Other systems may have other methods of dealing with public
identifiers; if you have such a system, you may need to read your
system's documentation with care to see how to make the public
identifiers work (and your contributions to the documentation would be
particularly welcome).

-Michael and Lou


Technical postscript on how this version works: this is NOT a complete
new set of DTD files.  We supply two new files (plus an SGML Open
catalog file and the documentation).  One provides entity declarations
for every external entity mentioned in the DTD, giving a formal public
identifier and a system identifier.  The other is a new top-level driver
file, which first refers to the entity declarations and then to the
existing TEI driver file (tei2.dtd).  Because the first declaration
of entities wins, all the external entities are effectively redefined
in terms of formal public identifiers, not just system identifiers.

The new system has no effect on the declaration of local extension
files (TEI.extensions.ent and TEI.extensions.dtd).