<classSpec> (class specification) contains reference information for a TEI element class;
that is a group of
elements which appear together in content models, or
which share some common attribute, or both.
Module
tagdocs — 22 Documentation Elements
In addition to global attributes
att.identified (@ident , @predeclare , @module , @mode )
type
indicates whether this is a model class or an attribute class
Status
Required
Legal values are:
model
(content model) members of this class appear in the same content models
atts
(attributes) members of this class share common attributes
generate
indicates which alternation and sequence instantiations
of a model class may be referenced. By default, all variations
are permitted.
Status
Optional
Datatype
1–5 occurrences of
separated by whitespace
Legal values are:
alternation
members of the class are alternatives
sequence
members of the class are to be provided in sequence
sequenceOptional
members of the class may be provided, in sequence,
but are optional
sequenceOptionalRepeatable
members of the class may be provided one or more
times, in sequence, but are optional.
sequenceRepeatable
members of the class may be provided one or more times, in sequence
Used by
May contain
Declaration
Compact to XML format XML format to compact <rng:element name="classSpec "> <rng:ref name="att.global.attributes "/> <rng:ref name="att.identified.attributes "/> <rng:attribute name="type "> <rng:choice> <rng:value> model</rng:value> <rng:value> atts</rng:value> </rng:choice> </rng:attribute> <rng:optional> <rng:attribute name="generate "> <rng:list> <rng:choice> <rng:value> alternation</rng:value> <rng:value> sequence</rng:value> <rng:value> sequenceOptional</rng:value> <rng:value> sequenceOptionalRepeatable</rng:value> <rng:value> sequenceRepeatable</rng:value> </rng:choice> <rng:zeroOrMore> <rng:choice> <rng:value> alternation</rng:value> <rng:value> sequence</rng:value> <rng:value> sequenceOptional</rng:value> <rng:value> sequenceOptionalRepeatable</rng:value> <rng:value> sequenceRepeatable</rng:value> </rng:choice> </rng:zeroOrMore> </rng:list> </rng:attribute> </rng:optional> <rng:group> <rng:zeroOrMore> <rng:ref name="model.glossLike "/> </rng:zeroOrMore> <rng:optional> <rng:ref name="classes "/> </rng:optional> <rng:zeroOrMore> <rng:ref name="constraintSpec "/> </rng:zeroOrMore> <rng:optional> <rng:ref name="attList "/> </rng:optional> <rng:zeroOrMore> <rng:ref name="exemplum "/> </rng:zeroOrMore> <rng:zeroOrMore> <rng:ref name="remarks "/> </rng:zeroOrMore> <rng:zeroOrMore> <rng:ref name="listRef "/> </rng:zeroOrMore> </rng:group> </rng:element>
element classSpec
{
att.global.attributes ,
att.identified.attributes ,
attribute type { "model" | "atts" },
attribute generate
{
list
{
(
"alternation"
| "sequence"
| "sequenceOptional"
| "sequenceOptionalRepeatable"
| "sequenceRepeatable"
),
(
"alternation"
| "sequence"
| "sequenceOptional"
| "sequenceOptionalRepeatable"
| "sequenceRepeatable"
)*
}
}?,
(
model.glossLike *,
classes ?,
constraintSpec *,
attList ?,
exemplum *,
remarks *,
listRef *
)
}
Example
<classSpec module="tei " type="model " ident="model.segLike "> <desc> groups elements used for arbitrary segmentation.
</desc> <classes> <memberOf key="model.phrase "/> </classes> <remarks> <p> The principles on which segmentation is carried out, and
any special codes or attribute values used, should be defined explicitly
in the
<gi> segmentation
</gi> element of the
<gi> encodingDesc
</gi> within
the associated TEI header.
</p> </remarks> </classSpec>