Notes on the TEI's Formal Public Identifiers


C. M. Sperberg-McQueen

13 May 1996

TEI ED U4

Table of Contents


This directory contains several files containing a test version of the TEI DTDs using SGML formal public identifiers (FPIs). The files here are:

To use these with an SGML processor which understands public identifiers, follow these steps:

  1. Copy or download all these files into whatever directory or folder contains your copy of the TEI DTD files. These instructions will refer to this directory or folder as your TEI DTD directory.
  2. Make sure your processor knows how to find them. There are several cases:
  3. Edit the TEI entries in the catalog file, replacing the string &DTDPATH; with the proper path prefix for your TEI DTD directory. You should be able to do this with a global change.

1 Examples

1.1 Ex. A. DOS system

On a DOS system, with TEI DTD files in the directory c:\sgml\public\tei:

1. Copy the files into the directory:

 
  XCOPY A:\TEIFPI*.* C:\SGML\PUBLIC\TEI /V
or
 
  cd \sgml\public\tei
  FTP FTP-TEI.UIC.EDU
  (log on as anonymous, give your email address as password)
  cd pub/tei/dtd/fpi
  mget teifpi*
  quit

2. If you don't have an existing catalog file, then make a copy of teifpi.cat:

 
 
XCOPY TEIFPI.CAT CATALOG 
If you do have a catalog file, edit it and insert the contents of teifpi.cat at the end.

3. Edit the file catalog and globally change the string &DTDPATH; to the string C:\SGML\PUBLIC\TEI\ (or whatever your DTD directory is). Be sure to include the final slash.

1.2 Ex. B: Unix System

On a Unix system where your userid is jsmith and you have the TEI DTD files in the directory /homes/jsmith/sgml.

1. Download the files into the directory:

 
  cd ~/sgml
  ftp ftp-tei.uic.edu
  (log on as anonymous, give your email address as password)
  cd /pub/tei/dtd/fpi
  mget teifpi*.*
  quit

2. If you don't have an existing catalog file, then make a copy of teifpi.cat:

 
  cp teifpi.cat catalog

(Recommendation: don't just rename the file, copy it.)

If you do have a catalog file, edit it and insert the contents of teifpi.cat at the end.

3. Edit the file catalog and globally change the string &DTDPATH; to the string /homes/jsmith/sgml/ (or whatever your DTD directory is). Be sure to include the final slash. It's more reliable if you use the full form, rather than ~/sgml.

1.3 Ex. C. Unix System

On a Unix system for which you are the system administrator and on which you have a public copy of the TEI DTD files in the directory /usr/local/doc/SGML/public/tei.

1. Download the files into the directory:

 
  cd /usr/local/doc/SGML/public/tei
  ftp ftp-tei.uic.edu
  (log on as anonymous, give your email address as password)
  cd /pub/tei/dtd/fpi
  mget teifpi*.*
  quit
  chmod a+r teifpi*

2. If you don't have an existing catalog file, then make a copy of teifpi.cat:

 
  cp teifpi.cat /usr/local/doc/SGML/public/catalog

(Recommendation: don't just rename the file, copy it.)

If you do have a catalog file, edit it and insert the contents of teifpi.cat at the end.

3. Edit the file catalog and globally change the string &DTDPATH; to the string /usr/local/doc/SGML/public/tei/ (or whatever your DTD directory is). Be sure to include the final slash.

1.4 Test Sample

Test: try any valid TEI document, using the overall formal public identifier:

 
 
   <!DOCTYPE tei.2 PUBLIC "-//TEI P3//DTD
   Main Document Type 1994-05//EN">

2 Note on Duplicate FPIs

This set of formal public identifiers defines two public identifiers for each file. The reason is simple: if only one version of the DTD is maintained at a time, no version number should be necessary. Where multiple versions are maintained, it is handy to be able to specify which is in use, and also be allow one to marked as the default. Parallel examples are the normal method of referring to ISO and national standards: citations with dates are to those versions, citations without dates are implicitly to the current version; also the GNU Public License, which may be referred to with or without version number.

So when a new version of the TEI DTD, carrying new FPIs, is installed at a site, the installer can choose to make it the default or to leave the old version as the default. (New FPIs imply that old documents may not parse with the new DTD: if a new version makes no changes except fixing corrigible errors, then the new version is guaranteed not to break existing data, so no new FPI is needed.) One might (someday) see:

 
 
-- TEI:  we have versions of 1994, 1997 (default), and 1998. --
PUBLIC "-//TEI P3//DTD Main Document Type//EN"
       "/usr/local/doc/SGML/TEI/ver1997/tei2.dtd"
PUBLIC "-//TEI P3//DTD Main Document Type 1998-05//EN"
       "/usr/local/doc/SGML/TEI/ver1998/tei.dtd"
PUBLIC "-//TEI P3//DTD Main Document Type 1997-09//EN"
       "/usr/local/doc/SGML/TEI/ver1997/tei2.dtd"
PUBLIC "-//TEI P3//DTD Main Document Type 1994-05//EN"
       "/usr/local/doc/SGML/TEI/ver1994/tei2.dtd"

But N.B. we expect that the dateless versions will be retained even for upward-incompatible versions, so each tag set will retain the same basic FPI as long as it remains `the same tag set' -- i.e. as long as we don't decide it needs a whole new name.

Comments on this policy are welcome; send to tei-l@uic.edu or to the editors, tei@uic.edu and Lou.Burnard@oxford.ac.uk