Skip to content

Terminology

Syd Bauman edited this page Jun 19, 2024 · 13 revisions

We need to establish basic terminology for products and stages in the processing; the original ODD processing is rendered more confusing by the multiplicity of undefined and overlapping terms. These are some things we need terms for. Add more as necessary, and add suggestions.

  • The original base ODD, which is normally p5subset.xml.
  • A customization ODD, which is compiled/expanded/processed against a base ODD.
  • Assembling is the process by which references to external components are merged into a customization ODD. Our current thinking is that this includes both resolving moduleRef/@url by including the entirety of the external schema, and resolving moduleRef/@key (taking @include and @except into account). This is in addition to XInclude processing and resolving <specGrpRef> elements.
  • Derivation is the process by which a customization ODD is compiled/expanded against a base ODD.
  • A derivation statement is a *Spec element in the customization with a @mode attribute which proposes a change to the base schema.
  • The result of that derivation process (expanded ODD, or compiled ODD, in original terminology) is a derived ODD.
  • The derived ODD (which should not have any references to any base ODDs via @source on *Spec elements) may be used as the base ODD for a chained derivation step.
  • The last derived ODD in the chain is then pruned (unnecessary components removed, some or all references resolved) and localized (based on selected language) to create a PLODD. We call this stage pruning.
  • Creating a RELAX NG file from a PLODD will be referred to as transpiling.