I am using Emacs nxml-mode to edit TEI documents, and I am using the
pre-release version of the Relax NG schemas that I downloaded from the
TEI web-site. Somewhere on that site, I read that P5 will recommend
using the standard xml:lang attribute rather than a TEI-defined lang
attribute. So I tried that, but nxml-mode complains that xml:lang is
not a valid attribute.
Sure enough, the TEI schemas do not declare xml:lang, whereas, for
example, the XHTML schema that comes with nxml-mode does declare it.
It seems odd to me that it should be necessary to declare an attribute
defined by the XML specification itself. So it may be that this is a
bug in nxml-mode rather than in the P5 schema. Three possibilities
occur to me:
1) I am mistaken in using xml:lang rather than lang in TEI P5, or
perhaps the switch to xml:lang has not become official yet.
2) This is a bug in nxml-mode, which should always allow the xml:lang
attribute in any element; it should be removed from the XHTML
3) This is a bug in the P5 schema; xml:lang should be declared by
schemas that want to use it.
 I can't remember where I saw this, but google gives this abstract: