JR Gardner asks:

> Where might I get the XML TEI spec?  I'm working on an academic digital
> diss. project and need--wherever possible--to be TEI conformant for
> various reasons, including--most of all--not reinventing the wheel.

The XML version of TEI-Lite is unofficial. Mar Jonsson posted earlier
this month:

 "Patrice Bonhomme of LORIA (Laboratoire Lorrain de recherche
  en informatique et ses applications) released his personal
  version of the TEI-Lite DTD, version 0.3 on December 1,
  1997. He then produced his personal XML release of the TEI
  P3 DTD, version 0.1, on October 10 this year: see I do not have the
  competence to assess his works, but I admire his initiative."

The full TEI spec (for SGML; but I am assuming it will be almost
identical for any XML version of the full TEI) is available in several
places: see the SGML Web pages at

> Oh, but on the <P> point, since SGML ALLOWS a close tag, again, if I use
> namespaces for say making <tei:P>, and always close each </P>, does that
> work or not?  If it seems redundant, please be merciful, I'm a Sanskritist
> and their syntax wore me out so I'm a bit punchy with xml's language!

Yes, if your paragraphs always start with <tei:P> and end with
</tei:P> then that is well-formed. But not because of any namespace;
just because XML says all elements must always have both start-tag and
end-tag present (or be empty and use the adapted form of the empty

The problem with namespaces is that they just let you say where you
got the element type name, and thus where the user can go to find out
more about what it is expected to contain or mean. There is no
mechanism yet within XML to specify that a processor should go and
fetch any particular fragments of another DTD which comprise those
aspects of your DTD and which you wish to invoke, beyond the existing
SGML entity mechanism. Although the full TEI is heavily modularised,
it is not subdivisible to the extent that you can pull out the
declarations for <P> and all that it relates to, and expect an XML
processor to construe that into a new DTD for you. Some of the
groundwork exists to make this possible, but even if such a mechanism
existed now, it would mean all usable DTDs being rewritten so that
they were composed of modules at a sufficiently fine level of
granularity to enable them to be used as components.