[tei-council] @predeclare

Martin Holmes mholmes at uvic.ca
Wed May 23 11:48:25 EDT 2012


Hi all,

I've been working on adding a few examples for attributes which are 
short on them (http://purl.org/TEI/BUGS/3520704). It occurred to me to 
look specifically at those which feature in no examples at all, 
anywhere; there seem to be two of those:

@predeclare   (att.identified)
@versionDate  (att.translatable)

When I come to look at @predeclare, I find I don't really understand the 
purpose of it. It's available on these documentation elements:

moduleSpec schemaSpec elementSpec classSpec macroSpec constraintSpec attDef

and it's defined thus:

Says whether this object should be predeclared in the tei infrastructure 
module.
Status 	Optional
Datatype data.truthValue

When I look at the actual guidelines, the attribute is only used on 
<classSpec> elements, and it's only ever "true".

  - What is its default value?

In other words, for all the <classSpec>s on which it's _not_ declared, 
is it deemed true or false? After looking at some of the stylesheets, I 
have to assume the default is false, but there's something intrinsically 
odd in an attribute which is data.truthValue ("uncertainty is 
inappropriate"), but is optional and has no default value.

  - What would happen if it were set to false?

  - What _should_ happen when it's set to false?

  - What is it actually doing? In other words, what are the implications 
of a <classSpec> being predeclared or not predeclared?

I've gone through the Council archives, and I can only find the 
attribute being referred to a few times in 2005 (where it's one of a 
long list of atts whose datatypes are being determined), then again in 
2007 in passing, and 2008, when I think Lou response to this question:

>> *22.2 Modules and Schemas
>> *
>> For the line, "the order in which  element declarations appear within
>> the schema code generated from a <gi>moduleSpec</gi> element cannot be
>> altered, and is not affected by the order of declarations within a
>> <gi>specGrp</gi>.", I think it might be nice if mention were made as
>> to why it cannot be altered.
>>
> Because that's how the ODD processors work... well, also because there
> isn't any way of specifying the order ... except by means of the
> predeclare attribute, come to think of it.  Actually, I think I'll just
> delete "cannot...and".

Cheers,
Martin
-- 
Martin Holmes
University of Victoria Humanities Computing and Media Centre
(mholmes at uvic.ca)


More information about the tei-council mailing list