[tei-council] deprecation

Conal Tuohy conal.tuohy at vuw.ac.nz
Thu Nov 8 18:41:57 EST 2007


On Thu, 2007-11-08 at 15:42 +0000, Lou Burnard wrote:

> I suppose that the scenario envisaged is:
> a) we notice an attribute or an element in P5 that we really think ought 
> to be changed
> b) we can't change it in the schema till the next release
> c) but we want to reduce the damage that it will have if people go on 
> using it in the meantime
> d) so we change the ODD to warn people that, tho currently legal, this 
> element is likely to change significantly at the next release
> 
> If so, this is *just about* plausible, but still (I would have thought) 
> not likely to be a major problem. We're just as likely to have changes 
> which don't affect existing elements aren't we? 

Huh? Changes which don't affect existing elements = added elements?

> and those are going to 
> cause just as much damage to existing users when they spring into life 
> since those existing users will find their local ODDs are suddenly 
> broken for no obvious reason. In fact that scenario seems *more* likely 
> to me -- since I know it has happened in the past.

I didn't understand this at all. I think my brain is still in holiday
mode. Could you give an example of the kind of thing you're envisaging?

But anyway, although I agree it's probably not urgent (until we actually
have something to deprecate!), I think it can't hurt to prepare for
deprecation. 

In Java 5 they've introduced a feature for annotating code which allows
deprecation. It consists of a single flag "@Deprecated", and an optional
comment saying why. Something as simple as this would be sufficient for
P5 I think. 

I don't think desc is suitable since it's too informal. 

I think it's a good idea to have a formal model of deprecation, so that,
for instance, users could generate a "strict" schema from which
deprecated specifications were excluded, and use that schema to check
their instance documents when migrating them to keep them current.

I'd suggest adding a "deprecation" element to the tagdocs module, as a
member of model.glossLike (and otherwise very like desc). 

element deprecation
{
   att.global.attributes,
   att.translatable.attributes,
   macro.limitedContent
}

Cheers

Con


More information about the tei-council mailing list