3.2 Content models

This topic summarizes the changes that have been made to the (non-normative) content model topics that appear in appendix C of the DITA 1.3 specification.

Many of the content model topics in appendix C were incorrect; elements were repeated unnecessarily. This was a result of how the content model topics were created. The DITA Technical Committee used a program to read the RelaxNG DITA grammar files and generate the content model topics. Unfortunately, this process generated incorrect models for certain elements:

  • Elements that were constrained
  • Elements that included domain extensions as children

For DITA Version 1.3 Errata 01, the programming error was corrected, and the content model topics were regenerated. Tables that did not include incorrect extra children are unchanged. Tables that repeated child elements are corrected. In addition, the revised content models also are updated for usability. Child elements (if the elements must not occur in a specific order) now are alphabetized.

Example: Corrections to content model listings

The table below shows changes to the content model listing for the <ditavalmeta> element in the base edition.

Original text Revised text
(<navtitle>?, (<dvrResourcePrefix>?, <dvrResourceSuffix>?, <dvrKeyscopePrefix>?, <dvrKeyscopeSuffix>? <dvrResourceSuffix>?, <dvrKeyscopePrefix>?, <dvrKeyscopeSuffix>? <dvrKeyscopePrefix>?, <dvrKeyscopeSuffix>? <dvrKeyscopeSuffix>?)(<dvrResourcePrefix>?, <dvrResourceSuffix>?, <dvrKeyscopePrefix>?, <dvrKeyscopeSuffix>? <dvrResourceSuffix>?, <dvrKeyscopePrefix>?, <dvrKeyscopeSuffix>? <dvrKeyscopePrefix>?, <dvrKeyscopeSuffix>?<dvrKeyscopeSuffix>?)) (<navtitle>?, (<dvrResourcePrefix>?, <dvrResourceSuffix>?, <dvrKeyscopePrefix>?, <dvrKeyscopeSuffix>? <dvrResourceSuffix>?, <dvrKeyscopePrefix>?, <dvrKeyscopeSuffix>? <dvrKeyscopePrefix>?, <dvrKeyscopeSuffix>? <dvrKeyscopeSuffix>?)(<dvrResourcePrefix>?, <dvrResourceSuffix>?, <dvrKeyscopePrefix>?, <dvrKeyscopeSuffix>? <dvrResourceSuffix>?, <dvrKeyscopePrefix>?, <dvrKeyscopeSuffix>? <dvrKeyscopePrefix>?, <dvrKeyscopeSuffix>?<dvrKeyscopeSuffix>?))

Example: Usability changes to content model listings

The table below shows changes to the content model listing for the <ph> element in the base edition; the actual content model is the same, but the child elements have been alphabetized for better readability.

Original text Revised text
(text data | <boolean> | <cite> | <keyword> | <ph> | <b> | <i> | <line-through> | <overline> | <sup> | <sub> | <tt> | <u> | <q> | <term> | <text> | <tm> | <xref> | <state> | <data> | <sort-as> | <data-about> | <foreign> | <unknown> | <image> | <draft-comment> | <fn> | <indextermref> | <indexterm> | <required-cleanup>)* (text data | <b> | <boolean> | <cite> | <data> | <data-about> | <draft-comment> | <fn> | <foreign> | <i> | <image> | <indexterm> | <indextermref> | <keyword> | <line-through> | <overline> | <ph> | <q> | <required-cleanup> | <sort-as> | <state> | <sub> | <sup> | <term> | <text> | <tm> | <tt> | <u> | <unknown> | <xref>)*