The <classSpec> element has an attribute @generate which is defined as:
indicates which alternation and sequence instantiations of a model class may be referenced. By default, all variations are permitted.
The <classRef> element has an attribute @expand which is defined as:
indicates how references to this class within a content model should be interpreted.
Presumably there is some relationship between them, but the documentation is not clear on this. Is it an error to have a classRef/@expand which specifies "sequenceOptionalRepeatable" when the <classSpec> to which it occurs has only @generate="sequenceOptional"? It would help if the documentation could make this relationship clear, and define what should happen if this scenario is encountered by a processor. Should a Schematron rule be added to constrain classRef/@expand based on the value of classSpec/@generate?
It would also help to have some explanation of how/why one might use classSpec/@generate in the first place. There are no instances of it anywhere in the TEI specs, and none in any of the ODDs we have gathered for the ATOP project. If no-one has ever used it, can we just eliminate it and simplify ODD processing?
The
<classSpec>element has an attribute@generatewhich is defined as:The
<classRef>element has an attribute@expandwhich is defined as:Presumably there is some relationship between them, but the documentation is not clear on this. Is it an error to have a
classRef/@expandwhich specifies "sequenceOptionalRepeatable" when the<classSpec>to which it occurs has only@generate="sequenceOptional"? It would help if the documentation could make this relationship clear, and define what should happen if this scenario is encountered by a processor. Should a Schematron rule be added to constrainclassRef/@expandbased on the value ofclassSpec/@generate?It would also help to have some explanation of how/why one might use
classSpec/@generatein the first place. There are no instances of it anywhere in the TEI specs, and none in any of the ODDs we have gathered for the ATOP project. If no-one has ever used it, can we just eliminate it and simplify ODD processing?