att.pointing provides a set of attributes used by all elements which point to other elements by means of one or more URI references. [ Language Indicators 3.7. Simple Links and Cross-References]
Moduletei [linkGrp] annotation calendar catRef citedRange gloss join licence link locus note noteGrp ptr ref substJoin term
targetLangspecifies the language of the content to be found at the destination referenced by target, using a ‘language tag’ generated according to BCP 47.
Status Optional
Datatype teidata.language

<sch:rule context="tei:*[not(self::tei:schemaSpec)][@targetLang]">
<sch:assert test="@target">@targetLang should only be used on <sch:name/> if @target is specified.</sch:assert>
<linkGrp xml:id="pol-swh_aln_2.1-linkGrp">
 <ptr xml:id="pol-swh_aln_2.1.1-ptr"

 <ptr xml:id="pol-swh_aln_2.1.2-ptr"


In the example above, the linkGrp combines pointers at parallel fragments of the Universal Declaration of Human Rights: one of them is in Polish, the other in Swahili.


The value must conform to BCP 47. If the value is a private use code (i.e., starts with x- or contains -x-), a language element with a matching value for its ident attribute should be supplied in the TEI header to document this value. Such documentation may also optionally be supplied for non-private-use codes, though these must remain consistent with their (IETF)Internet Engineering Task Force definitions.

targetspecifies the destination of the reference by supplying one or more URI References
Status Optional
Datatype 1–∞ occurrences of teidata.pointer separated by whitespace

One or more syntactically valid URI references, separated by whitespace. Because whitespace is used to separate URIs, no whitespace is permitted inside a single URI. If a whitespace character is required in a URI, it should be escaped with the normal mechanism, e.g. TEI%20Consortium.

evaluate(evaluate) specifies the intended meaning when the target of a pointer is itself a pointer.
Status Optional
Datatype teidata.enumerated
Legal values are:
if the element pointed to is itself a pointer, then the target of that pointer will be taken, and so on, until an element is found which is not a pointer.
if the element pointed to is itself a pointer, then its target (whether a pointer or not) is taken as the target of this pointer.
no further evaluation of targets is carried out beyond that needed to find the element specified in the pointer's target.

If no value is given, the application program is responsible for deciding (possibly on the basis of user input) how far to trace a chain of pointers.