Various points in the Guidelines discuss the use of language, script and region codes, and as a result of ticket #3304622, we cleaned up our usage in @xml:lang values in the Guidelines prior to the Laurentian release. However, I believe that the section in Chapter CH which covers language identification (CH.html#CHSH) should be reviewed and compared against the latest version of BCP 47, which was updated in September 2009, and in particular in view of the fact that RFC 5646 superceded 4646 at the same time; I have updated the CH chapter to show 5646, but we should review the new version and make sure our recommendations still fit with it.
While we're at it, we should address this ludicrous description for @xml:lang values:
"The value must conform to BCP 47. If the value is a private use code (i.e., starts with x- or contains -x-) it should, and if not it may, match the value of an ident attribute of a language element supplied in the TEI Header of the current document."
I can't figure out what was intended by "it should, and if not it may", but it shouldn't and it may not be left like that, surely.