In implementing bug 2812295 ( http://purl.org/tei/bug/2812295 ) in spring 2010, we made <graphic> a non-empty element that can contain model.glossLike*. But this had what I suspect was an unintended consequence: permitting two members of the tagdocs module -- <altIdent> and <equiv> -- as children of <graphic> (and other members of model.glossLike).
Sebastian said he thinks we put them in model.glossLike when that model class was used mainly by ODD elements and then forgot about them when glossLike was more widely adopted.
We should revisit either the way this was implemented or take a look at the membership of model.glossLike.
Sebastian suggested moving <altIdent> and <equiv> to a new model class (perhaps called "model.equivLike"), which would be used in classSpec, constraintSpec, elementSpec, macroSpec, and valItem.
I agree with Sebastian's suggestion. We just need to split the model.glossLike class into things that are appropriate anywhere, and things which are only appropriate in special places e.g. inside *Specs.
Council decision (Oxford, 2012-09) was to implement this ticket.
The current members of model.glossLike are: model.certLike [certainty respons] desc gloss precision equiv altIdent
Of these only equiv and altIdent are really "gloss like". Equally, model.certLike and precision seem rather inappropriate inside *Spec elements.
The elements currently containing model.glossLike are : attDef
category certainty char classSpec constraintSpec elementSpec gap glyph
graphic incident interp interpGrp join joinGrp kinesic macroSpec
moduleSpec precision respons schemaSpec space substJoin taxonomy
valItem and vocal.
The only thing that all these elements actually have in common is that they all need a <desc>. Apart from that:
The following need gloss, equiv, altIdent:
attDef, category, classSpec, constraintSpec, elementSpec,
macroSpec moduleSpec schemaSpec taxonomy, valItem
The following need precision and model.certLike
certainty gap precision respons space substJoin
Proposed action:
(1) define (new) model.descLike, with <desc> as its sole member
(2) redefine model.glossLike with <gloss>, <equiv>, and <altIdent> as its members
(3) Add <precision> to model.certLike
Change the content model of the following elements to use the indicated model class
attDef (1) (2)
category (1) (2)
certainty (1) (3)
char (1)
classSpec (1) (2)
constraintSpec (1) (2)
elementSpec (1) (2)
gap (1) (3)
glyph (1)
graphic (1)
incident (1) (3)
interp (1) (3)
interpGrp (1) (3)
join (1) (3)
joinGrp (1) (3)
kinesic (1)
macroSpec (1) (2)
moduleSpec (1) (2)
precision (1) (3)
respons (1) (3)
schemaSpec (1) (2)
space (1) (3)
substJoin (1) (3)
taxonomy (1) (2)
valItem (1) (2)
vocal (1)
I have now implemented (more or less) what is proposed below, and the sky has not fallen so I am closing the ticket. Specifically, I made the three class-related changes below, and changed content models to use the new classes more appropriately.
- attDef, category, classSpec, constraintSpec, elementSpec,macroSpec moduleSpec schemaSpec taxonomy, valItem
now allow (model.glossLike|model.descLike)* at their beginning
- char, glyph,incident, interpGrp, joinGrp, kinesic, space, vocal now have just model.descLike
- certainty, gap, interp, join, precision, respons, substJoin now have (model.descLike|model.certLike)*
The resolution of this ticket has created a new bug in the TEI schema, namely that the inclusion of certLike in <space> was deliberate and should not have been removed. (This has been temporarily patched in the EpiDoc schema, but that's a plaster not a cure.) I suggest that certLike needs to be added manually to <space> (and possibly other elements listed at http://lists.village.virginia.edu/pipermail/tei-council/2012/016560.html\) and a maintenance release (2.2.1) put out as soon as possible.
Closing this, as certLike has been restored to content model of <space>