The <enumerationdef> element identifies one attribute and one or more categories that contain the controlled values for the enumeration. The type attribute has a default value of keys.
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.
Doctype | Content model |
---|---|
subjectScheme | ( (elementdef) (optional) then (attributedef) then (subjectdef) (one or more) then (defaultSubject) (optional) then (data or data-about) (any number) ) |
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>
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 |
Return to main page.
OASIS DITA Version 1.2 -- OASIS Standard, 1 December 2010
Copyright © OASIS Open 2005, 2010. All Rights Reserved.