[tei-council] @version (SF bug 2932853)

Kevin Hawkins kevin.s.hawkins at ultraslavonic.info
Tue May 11 05:14:26 EDT 2010


Responses below ...

On 08/05/2010 21:36, Lou Burnard wrote:
> A @version attribute exists on each of the elements<application>,
> <teiCorpus>,<TEI>  and<unicodeName>. A similarly named attribute is
> also supplied by the class att.translatable, members of which are
> desc, exemplum, gloss, remarks, and valDesc. The datatypes specified
> for this attribute vary, as follows:
>
> 1. On att.translatable it's data.word and there is a note saying "The
> version may be a number, a letter or a date"
>
> 2. On<application>  it's a token matching a specific RNG pattern
> [\d]+[a-z]*[\d]*(\.[\d]+[a-z]*[\d]*){0,3}
>
> 3. On<TEI>  and<teiCorpus>  it's explicitly a W3C decimal number.
>
> 4. On unicodeName its the TEI-defined data.numeric (which matches all
> sorts of things)
>
> Obviously the datatypes for @version on TEI, teiCorpus, and
> unicodeName are just plain wrong (the first two don't match our actual
> current practice, and the last doesn't match the Unicode
> requirement). In an ideal world, we'd like attributes with the same
> name to have the same datatype, so one solution would be to give
> everything the same datatype as<application>. Unfortunately the
> pattern defined there is too permissive for either Unicodename or TEI
> version (neither permits letters or a 4th number), so I have for the
> moment defined a new datatype data.version which matches the Unicode
> spec, and propose we restrict ourselves to that.

Restrict ourselves to data.version for what exactly?  The values of 
@version on TEI, teiCorpus, and unicodeName?

> There remains the problem of the @version provided by in the
> att.translatable class, which is uniformly a date, with hyphens
> separating the parts. We could at a pinch make that conform to the
> same pattern by permitting hyphens as well as dots in the pattern, but
> that I think that would be cheating. We could consider renaming the
> @version you get from att.translatable to "translateDate" or some
> such; so far as I know the attribute is only used for internal ODD
> processing by the TEI so the compatibility issue is less severe. Note
> that the semantics of this @version are quite different from the
> others -- it carries the date when an ODD component was last
> *translated* which is usually quite different from when the ODD
> component itself was last modified, and nothing to do with the version
> number of the P5 release into which that component was eventually
> incorporated.

If the @version that's part of att.translatable is only used internally 
by the TEI and never included in ODDs produced by Roma or Vesta, then, 
as you say, renaming this attribute wouldn't break backwards 
compatibility.  However, I am not so troubled by having an attribute 
called @version in att.translatable with a different datatype (and 
semantics) from the @version on TEI, teiCorpus, and unicodeName, which 
have their own datatype and semantics.  So if it's a lot of trouble to 
fix, I would just leave it.

Kevin


More information about the tei-council mailing list