Numbering Definition Instances

A numbering definition instance is a specific instantiation of numbering information that can be referenced by zero or more paragraphs within the document. A numbering definition instance is defined using the <num> element. A specific numbering definition instance in WordprocessingML can be divided into two parts:

  • An abstract numbering reference

  • (Optional) level overrides

The definition of all numbering definition instance properties can be found on the reference for the <num> element.

The required piece of information in a numbering definition instance, the instance must reference an abstract numbering definition using the <abstractNumId> element. This element specifies the value of the @abstractNumId attribute for the inherited abstract numbering definition information.

Consider the WordprocessingML for a document with four numbering definition instances, two of which reference the same underlying abstract numbering definition:

<w:numbering>
  ...
  <w:num w:numId="2">
    <w:abstractNumId w:val="0" />
  </w:num>
  <w:num w:numId="3">
    <w:abstractNumId w:val="1" />
  </w:num>
  <w:num w:numId="4">
    <w:abstractNumId w:val="4" />
  </w:num>
  <w:num w:numId="5">
    <w:abstractNumId w:val="4" />
  </w:num>
</w:numbering>

As shown above, the first two numbering definition instances reference @abstractNumId values of 0 and 1 respectively, and the last two both reference the abstract numbering definition with an @abstractNumId of 4.

The second (and optional) piece of information for a numbering definition instance is one or more numbering level overrides using the <lvlOverride> element. This element specifies a set of optional overrides applied to zero or more levels from the abstract numbering definition inherited by this instance.

Consider a numbering definition instance that inherits its information from the abstract numbering definition with @abstractNumId of 4, but wishes to use a different set of properties for level 0 of the numbering definition. The resulting WordprocessingML would look like:

<w:num w:numId="6">
  <w:abstractNumId w:val="4" />
  <w:lvlOverride w:ilvl="0">
    <w:lvl w:ilvl="0">
      <w:start w:val="4" />
      <w:lvlText w:val="%1)" />
      <w:lvlJc w:val="left" />
      <w:pPr>
        <w:ind w:left="360" w:hanging="360" />
      </w:pPr>
    </w:lvl>
  </w:lvlOverride>
</w:num>

This level overrides level 0 of the list with the specified set of numbering properties, replacing those in the abtract numbering definition.