It seems to me that the same logic which includes 'title' to be a member of att.canonical also applies to 'term'. I.e. I may wish to reference by @key or @ref a full definition for the entity being named/distinguished. While both are members of model.emphLike I couldn't think up and good reasons to have other members of model.emphLike become members of att.canonical.
Summary: add 'term' to the membership of att.canonical.
Although at first blush this seems a reasonable idea, I am concerned that adding @key and @ref may lead to confusion. Attributes @target (and indeed @cref) are explicitly defined for term, and their function overlaps considerably with that of @key and @ref. The current definitions say that they should point to a <gloss> element, but that seems somewhat of a restriction besides the more general and powerful mechanisms offered by @key and @ref. So my preference would be to add the latter only if the former are deprecated or even removed. Which is a bit too much of a change to rush through without further discussion.
Your objection makes sense. An alternative would be to simply change the definition of term/@target to instead read (something like):
"identifies the associated gloss or explanation by an absolute or relative URI reference possibly but not necessarily stored as a gloss element"
Or something. i.e. loosen @target to allow pointing to a gloss or explanation which could be anything from a tei:gloss element to a wiktionary definition. That in my mind would allow the same functionality as @ref but retain the semantics that the thing pointed at must be a gloss or explanation of the term being marked.
-James
So the choice before us is
A: change the wording of @target (and @cref) as per James' suggestion below. Live without the facility provided by @key.
B: remove @target (and @cref) and add this element to att.canonical
Not sure that I know which way to jump on this...
Whatever the means (but I would tend to support the @key/@ref change) we need to take into account that this has been requested by the terminology community for a while (I remeber some emails from Kara Warburton, lost from my computer though :-().
Anyhow, we should at least cover the ISO scenario, i.e.:
- a section in the guidelines, where terms and definitions are provided (see below)
- references to these in line where the corresponding terms appear (so @ref within the ISO doc, @key when taken from a reference ISO database)
Exerpt taken from our ISO test document (Q: should items then be numbered?)
<div n="3" type="termsAndDefinitions">
<head>Terms and definitions</head>
<list type="termlist">
<item n="3.1">
<term>standard</term>
<gloss>document, established by consensus and approved by a recognized body,
that provides, for common and repeated use, rules, guidelines or
characteristics for activities or their results, aimed at the
achievement of the optimum degree of order in a given context</gloss>
<note place="inline">Standards should be based on the consolidated results
of science, technology and experience, and aimed at the promotion of
optimum community benefits.</note>
<ref>ISO/IEC Guide 2:2004, definition 3.2</ref>
</item>
<item n="3.2">
<term>international standard</term>
<gloss>standard that is adopted by an international standardizing/standards
organization and made available to the public</gloss>
<ref>ISO/IEC Guide 2:2004, definition 3.2.1.1</ref>
</item>
...
</list></div>
I don't understand what the ISO example is trying to achieve. Is the <ref> at the end of the first <item> meant to be linking to the second one? If so, why does it not do so by means of the standard @target attribute, pointing to a n xml:id value? This feature request is not about endowing <ref> and <ptr> with something analogous to @key (though that might be desirable);
The <ref> is not related to what we are discussing here. It just points to an external document as a reference.
What I meant is that futher in the ISO document you could have:
<p> bla bla bla bla <term ref="#term1">standard</term> blabla </p>
Where #term1 would be the xml:id of <item> (for instance) in the list.
OK, thanks for the clarification Laurent. So the proposal is to replace @target on <term> by @ref and @key. I propose to do that, but to retain @target and @cref for now with a comment indicating that they are deprecated and will be removed at a subsequent release.
At version 5502, I added <term> to att.canonical and added the following remark to the elementspec:
<p>As with other members of the <ident
type="class">att.canonical</ident> class, instances of this
element occuring in a text may be associated with a canonical
definition, either by means of a URI (using the <att>ref</att>
attribute), or by means of some system-specific code value (using
the <att>key</att> attribute). Because the mutually exclusive
<att>target</att> and <att>cRef</att> attributes overlap with the
function of the <att>ref</att> attribute, they are deprecated and
may be removed at a subsequent release. </p>
Also added some text to CO:
<p>For technical terminology in particular, and generally in
terminological studies, it may be useful to associate an instance of a
term within a text with a canonical definition for it, which is stored
either elsewhere in the same text (for example in a glossary of terms)
or externally, for example in a database, authority file, or published
standard. The attributes <att>key</att> and <att>ref</att> discussed
in section <ptr target="#CONARS"/> below are available on the
<gi>term</gi> element for this purpose.
</p>
<!-- example needed here -->