Step 1 is to create the attribute domain declaration as follows.
First, create a file named "
moonPhasePropsDomain.ent", create these two declarations:
<!ENTITY % phase-of-moon-d-attribute "phase-of-moon CDATA #IMPLIED " > <!ENTITY phase-of-moon-d-att "a(props phase-of-moon)" >
The first declaration declares the
@phase-of-moon attribute and puts it in a parameter entity so we can add it to the DITA-defined
%selection-atts; parameter entity via the
%props-attribute-extensions; configuration parameter entity in document type shells.
The second declaration is the domain declaration string for the attribute domain. It will be added to the value of the
@domains attribute declared for each topic or map element type. In the value, the "props" keyword indicates that the attribute is a
@props attribute specialization and not a
@base attribute specialization.
You should of course add an appropriate descriptive header to the file as well as a little documentation for the attribute itself.
This is all that is required for the attribute domain module (there is no separate .mod file, as there is for element domains).