TEI Syntax and Metalanguage Committee Exchanging Documents Document Number: TEI MLW24 July17, 1990 In the TEI P1 guidelines, on page 2, the following conditions are set out for document interchange: 1. adherence to the TEI SGML declaration and DTD 2. documentation for all tags not in the DTD 3. inclusion of the TEI header at the beginning of the document 4. all text must be in the given subset of the ISO 646 character encoding Additionally, some way should be found of ensuring that all the pieces of the document are present. That is, all entity references are expandable upon receipt of the document, except those that are public and are therefore already at all sites. If a file of entity definitions is missing or if the author forgot to include an entity definition, the document will not be completely readable. Especially if the guidelines given in chapter 8 of TEI P1 are followed and the number of entities is large. One solution to this problem is the SGML Document Interchange Format (SDIF) which is an ISO standard (9069) meant for this purpose. The standard calls for a packer/unpacker pair which takes a set of one or more related documents and marks each entity reference in them. The document package is wrapped in some SDIF identifiers and all entity references are checked. The resulting data stream then can be unpacked upon receipt, with a reasonable guarantee that all entities referenced will be defined. The details of the packing and unpacking are contained in the standard and are unimportant here. Since TEI requires something like SDIF to ensure that whole documents are interchanged, it would be nice if TEI could adopt SDIF immediately. Unfortunately, in our investigation of this standard, we have not found an implementation of SDIF, nor anyone who has actually used it. It seems to meet or exceed the requirements, but it is not really usable as yet. Perhaps if a TEI document packer is implemented which does such things as putting the document in canonical form and ensuring that its character coding set conforms to the ISO 646 subset, it could also use SDIF to ensure that entity definitions are present or part of some public set of entity definitions. Alternatively, putting the document in a canonical form could check the entity references as well, negating the need for SDIF. Since SDIF is not being used by, seemingly, anyone, TEI can set its own course without risk of damaging the universatility of its document interchange.