# Enumeration Domains

Provides elements for simply identifying enumerations within content (simple enumeration domain) or for defining automatic enumeration "streams".

The enumeration domains provide markup for both identifying enumerations within content (simple enumerations) and for defining automatic enumeration "streams".

The simple enumeration domain (d4p_simpleEnumeration) provides the element type <d4pSimpleEnumerator>, a specialization of <data>. Use <d4pSimpleEnumerator> to identify the occurrence of things like chapter and section numbers within content where you need to preserve the number for legacy purposes or to reflect author intent but where it may be necessary to suppress the number in different use or publishing contexts.

The problem with numbers of course is that they reflect a specific use of a topic or element within a specific packaging context. Thus, what is Chapter 2 in one book may be Chapter 3 in a different publishing context (or even a later revision of the same publication) or may not be usefully numbered at all.

Ideally, all numbers would always be generated automatically. However, in a Publishing context that is not always practical. Legacy documents may have ideosyncratic numbers that cannot be automated. New documents may require numbering that is automatable but unique to that particular document.

The <d4pSimpleEnumerator> allows identification of numbers in a way that clearly distinguishes the number from surrounding content, allowing it to be formatted appropriately, including suppressing it altogether. The <d4pSimpleEnumerator> is a specialization of <data>, which means it is semantically metadata and will be hidden by default. The DITA for Publishers project provides Toolkit plugins that extend the HTML and PDF transforms for the simple enumeration domain that unhide the <d4pSimpleEnumerator> elements, making them visible by default.

The two enumeration domains d4p_enumerationMapDomain and d4p_enumerationTopicDomain provide support for author-specified automatic numbering that is arbitrary. The enumeration map domain provides elements for defining enumeration "streams". The enumeration topic domain provides elements for generating numbers within a specific stream.