att.canonical provides attributes which can be used to associate a representation such as a name or title with canonical information about the object being named or referenced.
Moduletei — The TEI Infrastructure
Membersatt.naming [att.personal [addName forename genName name orgName persName placeName roleName surname] affiliation author birth bloc climate collection country death district editor education event geogFeat geogName institution nationality occupation origPlace population pubPlace region repository residence rs settlement socecStatus state terrain trait] docAuthor docTitle faith material objectType relation resp term title
keyprovides an externally-defined means of identifying the entity (or entities) being named, using a coded value of some kind.
Status Optional

<rng:ref name="data.text"/>
 <name key="name 427308type="organisation">[New Zealand Parliament, Legislative Council]</name>
   key="Hugo, Victor (1802-1885)"
Victor Hugo</name>

The value may be a unique identifier from a database, or any other externally-defined string identifying the referent.

No particular syntax is proposed for the values of the key attribute, since its form will depend entirely on practice within a given project. For the same reason, this attribute is not recommended in data interchange, since there is no way of ensuring that the values used by one project are distinct from those used by another. In such a situation, a preferable approach for magic tokens which follows standard practice on the Web is to use a ref attribute whose value is a tag URI as defined in RFC 4151.

ref(reference) provides an explicit means of locating a full definition for the entity being named by means of one or more URIs.
Status Optional
Datatype 1–∞ occurrences of 

<rng:ref name="data.pointer"/>
separated by whitespace

The value must point directly to one or more XML elements by means of one or more URIs, separated by whitespace. If more than one is supplied, the implication is that the name identifies several distinct entities.