File names in the base DITA edition

This section is non-normative.

The OASIS DITA Technical Committee uses certain conventions for the names of XML grammar files. We suggest using these conventions as a way to facilitate the interchange of grammar files.

DTD-based specialization modules

The DITA Technical Committee uses certain file-naming conventions for DTD-based specialization modules. While the grammar files shipped with DITA 2.0 do not include domain constraint or expansion modules, we suggest conventions for those modules also.

Module type File name Example
Structural moduleName.mod topic.mod
Element domain domainNameDomain.ext
  • highlightDomain.ent
  • highlightDomain.mod
Attribute domain attriNameAttDomain.ent deliveryTargetAttDomain.ent
Constraint qualifierTargetConstraint.mod
  • strictTaskbodyConstraint.mod
  • acmeHighlightDomainConstraint.mod
Expansion
  • acme-SectionExpansion.mod
  • acme-CellPurposeAttExpansion.ent
  • acme-otherpropsAttExpansion.mod
  • example-dlentryModeAttExpansion.ent
Draft comment: Kristen J Eberlein 19 September 2022

The names of the expansion modules listed in the "Example" column are taken from the example topics. They do not follow a consistent pattern. I suspect that the same is true for file names used in the constraint example topics.

Draft comment: robander
TO RESOLVE 13 May 2026: These rules are no longer mandatory and should not be mandatory, so we should just pick one pattern (ideally matching our existing task constraint) and use htat in all the constraint/expansion module pattern recommendations

where:

  • moduleName is the name of the element type, such as "topic" or "map".
  • domainName is the short name of the domain, for example, "highlight" or "utilities".
  • attrName is the name of the specialized attribute, for example, "deliveryTarget".
  • ext is the file extension, for example, "ent" or "mod".
  • qualifier is a string that is specific to the constraints module and characterizes it, for example, "strict" or "requiredTitle" or "myCompany-".
  • Target is the target of the constraint with an initial capital, for example, "Topic" or "HighlightDomain".

RELAX NG-based specialization modules

The DITA Technical Committee uses certain file-naming conventions for RNG-based specialization modules. While the grammar files shipped with DITA 2.0 do not include domain constraint or expansion modules, we suggest conventions for those modules also.

Module type File name Example
Structural moduleNameMod.rng conceptMod.rng
Element domain domainNameDomainMod.rng highlightDomainMod.rng
Attribute domain attrNameAttDomain.rng deliveryTargetAttDomain.rng
Constraint qualifierTargetConstraintMod.rng
  • strictTaskbodyConstraintMod.rng
  • acmeHighlightDomainConstraintMod.rng
Expansion
  • sectionExpansionMod.rng
  • cellPurposeAtt.rng
  • acme-otherpropsAttExpansion.rng
  • tableCellAttExpansion.rng
Draft comment: Kristen J Eberlein 19 September 2022

The names of the expansion modules listed in the "Example" column are taken from the example topics. They do not follow a consistent pattern. I suspect that the same is true for file names used in the constraint example topics.

Also, is including "Mod" in element-domain or constraint files something we really want to do, or was it necessary for the RNG-to-DITA/XSD converter?

Draft comment: robander
TO RESOLVE 13 May 2026: See comment in earlier draft comment. Also, "Mod" definitely isn't required in the name but is probably good to recommend for consistency, all the other content-model modules use it.

where:

  • moduleName is the name of the element type, such as "topic" or "map".
  • domainName is the short name of the domain, for example, "highlight" or "utilities".
  • attrName is the name of the specialized attribute, for example, "deliveryTarget".
  • qualifier is a string that is specific to the constraints module and characterizes it, for example, "strict" or "requiredTitle" or "myCompany-".
  • Target is the target of the constraint with an initial capital, for example, "Topic" or "HighlightDomain".