This is a brief reference sheet listing the most essential elements used in writing a TEI ODD file.
Ordered by Function
High-level ODD Structures
- schemaSpec
- The element that contains the formal schema specifications within the ODD file. All the schema customization elements listed
below are children of schemaSpec.
- ident
- Used on schemaSpec indicates the name of the schema that will be created; required by roma. (urbe requires that it match the filename, too.)
- moduleRef
- A reference to a TEI module (i.e. a grouping of elements representing a single chapter of the TEI Guidelines), by which the
module is included in the custom schema.
- key
- Used on moduleRef, indicates the module being included
- mode
- Used on almost all ODD elements, indicates the nature of the change being made in relation to unmodified TEI:
- add indicates that the feature in question originates with the customization and is additional to the unmodified TEI schema
- delete indicates that the feature in question is being deleted from the custom schema
- change indicates that the feature in question is being changed in some detail, and that the changed portion should override the
corresponding portion of the unmodified TEI schema, leaving other portions unchanged
- replace indicates that the feature in question is being completely changed, and that the portion designated in the custom schema
should entirely replace the specification for that feature in the unmodified TEI
Element Management
- elementRef
- A reference to a TEI element, by which the element is included in the custom schema. This element is used to include elements
from modules that have not been explicitly included with moduleRef.
- key
- Used on elementRef, indicates the element being included.
- elementSpec
- A specification of a single element in the schema, which can be used to delete an element from an included module (with mode="delete") or to modify some aspect of the element’s definition (with mode="change" or mode="replace").
- module
- Used with elementSpec, indicates the module in which the element in question is defined.
- ident
- Used with elementSpec, indicates the name of the element in question
- altIdent
- Used inside elementSpec to change the name of an element; indicates the new name by which the element being specified will be known in the custom
schema
- content
- Contains the content model for an element (expressed in RELAX NG, XML syntax)
- classes
- Used within elementSpec (or classSpec) to change the class membership of the element (or class). Contains one or more memberOf elements which, by means of their key attributes, indicate the specific classes to which the element (or class) is being added or from which it is being deleted.
- memberOf
- Designates a specific model class to which an element is being added, or from which it is being deleted.
- key
- Used on memberOf, contains the name of the class being designated.
- mode
- Used on memberOf, with value add, indicates that the element is being added to the class designated by the memberOf element.
Attribute Management
- attList
- A list of attribute definitions; used to contain the attDef elements that are used to add, delete, or modify the attributes for an element.
- attDef
- Used to designate an attribute that is being added, deleted, or modified.
- ident
- Used on attDef, indicates the name of the attribute in question.
- valList
- A list of values for an attribute (used to add or alter a set of constrained values).
- valItem
- A single value in a value list for an attribute.
- datatype
- Contains a reference to a TEI datatype, used when constraining the contents of an element or attribute value.
Schema Documentation and Management
- gloss
- Used inside elementSpec, attDef, and valItem to provide the full natural-language equivalent of the name (i.e. ident) of the construct. E.g., the gloss for elementSpec ident="att" is attribute (as opposed to attention)
- desc
- Used inside elementSpec, attDef, and valItem to document the new or altered element, attribute, or attribute value.
- classSpec
- A specification of a TEI class (either a model class or an attribute class), which can be used to change the membership of
an attribute class
- macroSpec
- A specification of a TEI datatype or other chunk of arbitrary RELAX NG code
Ordered Alphabetically
- altIdent
- Used inside elementSpec to change the name of an element; indicates the new name by which the element being specified will be known in the custom
schema
- attDef
- Used to designate an attribute that is being added, deleted, or modified.
- attList
- A list of attribute definitions; used to contain the attDef elements that are used to add, delete, or modify the attributes for an element.
- classSpec
- A specification of a TEI class (either a model class or an attribute class), which can be used to change the membership of
an attribute class
- classes
- Used within elementSpec (or classSpec) to change the class membership of the element (or class). Contains one or more memberOf elements which, by means of their key attributes, indicate the specific classes to which the element (or class) is being added or from which it is being deleted.
- content
- Contains the content model for an element (expressed in RELAX NG, XML syntax)
- datatype
- Contains a reference to a TEI datatype, used when constraining the contents of an element or attribute value.
- desc
- Used inside elementSpec, attDef, and valItem to document the new or altered element, attribute, or attribute value.
- elementRef
- A reference to a TEI element, by which the element is included in the custom schema. This element is used to include elements
from modules that have not been explicitly included with moduleRef.
- elementSpec
- A specification of a single element in the schema, which can be used to delete an element from an included module (with mode="delete") or to modify some aspect of the element’s definition (with mode="change" or mode="replace").
- gloss
- Used inside elementSpec, attDef, and valItem to provide the full natural-language equivalent of the name (i.e. ident) of the construct. E.g., the gloss for elementSpec ident="att" is attribute (as opposed to attention)
- ident
- Used on attDef, indicates the name of the attribute in question.
- ident
- Used on schemaSpec indicates the name of the schema that will be created; required by roma. (urbe requires that it match the filename, too.)
- ident
- Used with elementSpec, indicates the name of the element in question
- key
- Used on elementRef, indicates the element being included.
- key
- Used on memberOf, contains the name of the class being designated.
- key
- Used on moduleRef, indicates the module being included
- macroSpec
- A specification of a TEI datatype or other chunk of arbitrary RELAX NG code
- memberOf
- Designates a specific model class to which an element is being added, or from which it is being deleted.
- mode
- Used on almost all ODD elements, indicates the nature of the change being made in relation to unmodified TEI:
- add indicates that the feature in question originates with the customization and is additional to the unmodified TEI schema
- delete indicates that the feature in question is being deleted from the custom schema
- change indicates that the feature in question is being changed in some detail, and that the changed portion should override the
corresponding portion of the unmodified TEI schema, leaving other portions unchanged
- replace indicates that the feature in question is being completely changed, and that the portion designated in the custom schema
should entirely replace the specification for that feature in the unmodified TEI
- mode
- Used on memberOf, with value add, indicates that the element is being added to the class designated by the memberOf element.
- moduleRef
- A reference to a TEI module (i.e. a grouping of elements representing a single chapter of the TEI Guidelines), by which the
module is included in the custom schema.
- module
- Used with elementSpec, indicates the module in which the element in question is defined.
- schemaSpec
- The element that contains the formal schema specifications within the ODD file. All the schema customization elements listed
below are children of schemaSpec.
- valItem
- A single value in a value list for an attribute.
- valList
- A list of values for an attribute (used to add or alter a set of constrained values).