[tei-council] FAND faces setback

Syd Bauman Syd_Bauman at Brown.edu
Thu Feb 23 20:20:09 EST 2006

> >Shouldn't that be model.div1Like, model.div2Like etc, since we
> >want to be able to allow the renaming of "div2" as "chapter"?

> Well, possibly. I'm rather unconvinced about the wisdom of that,
> myself. If you think that numbered divs are a bad idea, why do you
> think named divs are any better?

Oh, I think named are much better. Seems to me that vanilla <div>s
provide recursion and flexibility, whereas named division elements
have the advantage of promoting the logical structure to a first-
class object, as it were, and of permitting constraint based on what
a content object is, rather than or in addition to only its nesting
depth.[1] Numbered <div>s offer the worst of both worlds -- logical
structure is relegated to being a second-class citizen, and the
flexibility provided by type= removes most the advantages of the
rigidity provided by the content restrictions.[2]

But it is, of course, only syntactic sugar, really. If everyone at my
project agrees that <div0> is used for "parts", <div1> for
"chapters", and <div2> for "sections", and that we want to modify the
content model of <div1> so that it *must* have a <head>, it's almost
exactly the same as agreeing to use other arbitrary strings, say
"part", "chap", and "sect", and modifying the content of <chap> so
that it *must* have a <head>.

However, the model.div2Like class solution (whether it is initially
populated or not) also permits the user to have multiple named
elements at the same level. So if I am writing a TEI schema for a
cookbook, I can assign "chapter" to be the <div1> element, "recipe"
to be the <div2> element, and "ingredients", "steps",
"suggested-wine", & "discussion" can all be <div3> elements. I could
choose to go about rewriting content models to provide structure, if
I wanted, or I could just leave 'em as they are, either enforcing the
structure with Schematron or some other non-TEI-schema process, or
not worry about the order and number of the <div3> elements.

[1] Whether that constraint be provided by the schema, a Schematron
    add-on, the stylesheets, whatever.
[2] Although you can get around this by specifying a fixed type= for
    each level of numbered div. I.e., in DTD syntax:
    <!ATTLIST div1 type "chapter" #FIXED>
    <!ATTLIST div2 type "section" #FIXED>

More information about the tei-council mailing list