enumerationdef
When the <enumerationdef> element contains an <elementdef>
element, the defined enumeration applies to that attribute only on
the element specified by <elementdef>. The enumeration does not
apply to the same attribute on other elements. For example, when the
element contains both <elementdef name="lomDifficulty"/>
and <attributedef
name="value"/>
, this means that the only the value attribute
on the <lomDifficulty> element is limited to the specified enumeration.
The value attribute on other elements is not affected.
When
the <enumerationdef> element does not contain an <elementdef>
element, the attribute specified is limited to the enumeration on
all elements. For example, when <enumerationdef> contains <attributedef
name="value"/>
but does not contain <elementdef>, the
value attribute is limited to the specified enumeration for all elements.
note
note
Contains
note
Doctype | Content model |
---|---|
subjectScheme | ( (elementdef) (optional) then (attributedef) then (subjectdef) (one or more) then (defaultSubject) (optional) then (data or data-about) (any number) ) |
Contained by
Doctype | Content model |
---|---|
subjectScheme | subjectScheme |
Inheritance
- map/topicref subjectScheme/enumerationdef
Example
In this example, enumerations are specified for the platform and otherprops attributes. Note that the enumeration identifies a category of values; the values within the category are valid, while the category itself is not a valid value. For example, in the code sample here, the platform attribute is associated with the enumeration for the category "os"; all values within the "os" category are thus valid on the platform attribute, while the value "os" itself is not.
<subjectScheme> <!-- Pull in a scheme that defines unix OS values --> <schemeref href="unixOS.ditamap"/> <!-- Define new OS values that are merged with those in the unixOS scheme --> <subjectdef keys="os"> <subjectdef keys="linux"/> <subjectdef keys="mswin"/> <subjectdef keys="zos"/> </subjectdef> <!-- Define application values --> <subjectdef keys="app" navtitle="Applications"> <subjectdef keys="apacheserv" href="subject/apache.dita"/> <subjectdef keys="mysql" href="subject/sql.dita"/> </subjectdef> <!-- Define an enumeration of the platform attribute, equal to each value in the OS subject. This makes the following values valid for the platform attribute: linux, mswin, zos --> <enumerationdef> <attributedef name="platform"/> <subjectdef keyref="os"/> </enumerationdef> <!-- Define an enumeration of the otherprops attribute, equal to each value in the application subjects. This makes the following values valid for the otherprops attribute: apacheserv, mysql --> <enumerationdef> <attributedef name="otherprops"/> <subjectdef keyref="app"/> </enumerationdef> </subjectScheme>
Attributes
Name | Description | Data Type | Default Value | Required? |
---|---|---|---|---|
id-atts attribute group (id, conref, conrefend, conaction, conkeyref) | A set of related attributes, described in id-atts attribute group | |||
status | The modification status of the current element. | new | changed | deleted | unchanged | -dita-use-conref-target | #IMPLIED | No |
base | A generic attribute that has no specific purpose. It is intended to act as a base for specialized attributes that have a simple value syntax like the conditional processing attributes (one or more alphanumeric values separated by whitespace), but is not itself a filtering or flagging attribute. The attribute takes a space-delimited set of values. However, when acting as a container for generalized attributes, the content model will be more complex; see Attribute generalization for more details. | CDATA | #IMPLIED | No |
global-atts attribute group (xtrf, xtrc) | A set of related attributes, described in global-atts attribute group | |||
class, outputclass | Common attributes described in Other common DITA attributes |