Integrating D4P Modules Into Document Type Shells

To use the vocabulary modules with your own map and topic types you must update your document type shells to include the DITA for Publishers vocabulary modules.

Modules are "integrated" with map or topic types by including references to them in the document type shells for those map or topic types.

The DITA For Publishers includes sample document type shells for all of the map and topic types it defines as well as some examples of integrating DITA for Publishers domains and types with standard topic types (such as the generic <topic> topic type).

Integrating modules into document type shells is an entirely mechanical process--you don't have to understand DTD or XSD syntax in order to do it, you just have to follow the steps very precisely. Of course, because you are dealling with fiddly syntax, it helps to understand how the syntax works in order to fix errors you may inadvertently introduce.

Because DITA for Publishers defines so many different topic types it uses a not-strictly-conforming technique to make it easy to include all the topic domains into a topic shell. This is the "common" files in the doctypes/common directory. These common files simply collect in one file all the entity declarations and references required by the DITA specification. They are fulling conforming individually but the DITA 1.2 spec does not actually allow this form of common declaration file.

However, all the DITA for Publishers shell document types can be made strictly conforming simply by copying the contents of each common file at the point of reference to each of the common files. So I'm not too worried about it. My intent is not to subvert the DITA requirements in any way, but simply to make the job of maintaining the various shells easier. Once the D4P vocabulary design has become more stable I will likely remove the use of the common files, making the shells strictly conforming.