About how conditional processing attributes are defined in DITA CMS

Since conditional processing attribute values can be defined in several places, it is important to understand how DITA CMS resolves conflicts between these values.

Conditional processing attributes can be configured as follows:
  • as a subject scheme map
  • in a DITA CMS configuration file (by the DITA CMS Administrator)
  • as a configuration option in the XML editor's Preferences

A subject scheme allows you to create a custom set of conditional processing attribute values without having to create a DITA specialization for the attribute. In the subject scheme map you define a controlled list of values and bind them to an existing conditional processing attribute. The subject scheme map can then be added to a ditamap, which then controls what conditional processing attribute values are available and displayed for that ditamap and its child objects while the ditamap is displayed in the DITA Map view.

If you have a collection of common conditional processing attribute values that should be globally available to all writers in the deployment, the DITA CMS Administrator can define them in a DITA CMS configuration file. By having them in a configuration file, all the writers connected to the same Content Store will automatically have access to the same values for that conditional processing attribute.

Although you can define conditional processing attribute values in the XML editor's Preferences dialog box, they are overwritten by the DITA CMS configuration file. If you require new conditional processing attribute values not currently available in the dialog boxes, contact the DITA CMS Administrator to have them added to the DITA CMS configuration file or, if appropriate, create a subject scheme.

The values displayed for an attribute when you apply a condition to an element are determined as follows:
  • If a ditamap open in the DITA Map view contains a subject scheme map, then only the values defined in the subject scheme are displayed. DITA CMS discards any values for any conditional processing attributes in the DITA CMS configuration file.
  • If a ditamap open in the DITA Map view contains a subject scheme map (for example, subjectScheme A) and also contains a submap which itself contains a subject scheme map (for example, subjectScheme B), then the values for the attributes from the subject scheme map highest in the map hierarchy (in this case, subjectScheme A) are displayed. DITA CMS discards the values for any conditional processing attributes defined in the XML editor, in the DITA CMS configuration file, or in any other subject scheme maps referenced in submaps.
  • If values for an attribute have been configured in the DITA CMS configuration file and the ditamap open in the DITA Map view does not contain a subject scheme map, then the values in the configuration file are displayed. DITA CMS discards any conditional processing attributes defined in the XML editor.
Note: If an invalid value exists in the topic, it is identified as "not allowed". For example, if a topic contains a condition based on what is defined in the DITA CMS configuration file but a subject scheme is referenced in the map, the value is considered invalid because it must defined in the subject scheme.

The following table illustrates how DITA CMS determines which values prevail when the conditional processing attribute values are defined in multiple places. The X indicates where conditional processing attribute values are defined.

Table 1. Determining which values prevail
Subject scheme (in parent map) Subject scheme (in submap) DITA CMS configuration file Valid values
X X X Obtained from subject scheme (in parent map)
  X X Obtained from subject scheme (in submap)
    X Obtained from DITA CMS configuration file