[tei-council] 4 questions about TD

Sebastian Rahtz sebastian.rahtz at oucs.ox.ac.uk
Fri Jun 2 11:30:36 EDT 2006


Lou Burnard wrote:
> 1. Are all classes declared upfront? In other words, can a module
>    declare a new class without there being at least a null definition
>    for it in the infrastructure module? 
A classSpec is no more than a null definition anyway.

I'd say that by definition, class declararions are what the "tei"
module is actually for.  However, if a class is only
used in a given module, it can be declared there - we have
34 examples of this already! eg model.persnamePart

> If this is the case (as I
>    sincerely hope) references throughout the text of TD to modules
>    as things which can define "elements, attributes, classes, and macros" need
>    attention. 
>   
a moduleSpec itself is just a "null definition", of course
> 2. Are the things defined by the element currently called  "macroSpec"
>    to be referred to in the text as "patterns" or as "macros"? At
>    present  they appear to be referred to throughout TD as
>    "patterns". If this is the case then the spec element should be renamed to
>    "patternSpec". If it is not, then the references should be changed
>    (again). (In ST, however, we consistently talk about them as
>    "macros", probably because we also talk about "patterns" in
>    the RelaxNG sense)
>   
good question. II think you need to jump one way or the author,
and follow the consequences. I dont think there is any meaningful
difference - they are "macros" in a general CS sense, but implemented
as RNG "patterns"
> 3. Aside from the naming convention, there are two ways in which an
>    attribute class distinguishes itself from a model class. (a) it has
>    a child <attList> (b) its @type attribute says what it is.  Do we
>    need to maintain both of these? If we do, should an ODD processor
>    raise an error when it finds an <attList> inside a <classSpec
>    type="model"> or a <classSpec type="atts"> which does not contain
>    an <attList>? If we don't, which one should go?
>   
interesting point. pragmatically, I'd suggest leaving sleeping
dogs alone, keep the @type attribute, and say that errors
should be raised.

maybe one would declare att.foo, with no attributes, as a placeholder
for someone else to add some?
> 4. What did we decide to do about sequence? I have written the
>    following in my revision of TD:
>      <p>The sequence in which members of a class appear in a content model when
> one of the
>      sequence options is used is dependent on the ODD processor in use. It
>      will always be the same sequence for a given class reference, but is
>      not in principle user-accessible. </p>
>   
slightly discouraging? why not say that an ODD processor _must_
implement the rule that the order is dependent on the order
in which the classSpecs are defined in the source?

-- 
Sebastian Rahtz      

Information Manager, Oxford University Computing Services
13 Banbury Road, Oxford OX2 6NN. Phone +44 1865 283431

OSS Watch: JISC Open Source Advisory Service
http://www.oss-watch.ac.uk




More information about the tei-council mailing list