L.1.8.5 Linked Styles

The next type of style definition, linked styles are actually a paired combination of styles which can be applied to the contents of one or more runs of text within a document’s contents or the entire contents of one or more paragraphs in a WordprocessingML document. This definition implies that the style can define both a set of character properties (properties which apply to text within a paragraph) as well as a set of paragraph properties (properties which apply to the positioning and appearance of the paragraph) because it must be possible to apply the style to paragraphs as well as characters.

In order to accomplish these dual uses, a linked style is actually a pairing of a paragraph style and a character style in the WordprocessingML document. Each style exists uniquely within the styles part, but is linked by the link element, which specifies that these styles are each half of a linked style definition and should be treated as one style at runtime.

A typical example of the use of a linked style is a quote style - if the style is applied to a paragraph, the quoted text should be indented additionally to create a block quote effect, but if the style is applied to text in a paragraph, only the character level effects should be applied.

Consider the following two styles which comprise a linked style pairing that defines the following: font is Arial, font color is green; paragraph spacing is double, and indent is 1 inch left. The resulting style definitions would be:

<w:style w:type="paragraph" w:styleId="TestLinkedStyle">
  <w:name w:val="Test Linked Style"/>
  <w:link w:val="TestLinkedStyleChar"/>
  <w:qFormat/>
  <w:rsid w:val="009C1646"/>
  <w:pPr>
    <w:spacing w:line="480" w:lineRule="auto"/>
    <w:ind w:left="1440"/>
  </w:pPr>
  <w:rPr>
    <w:rFonts w:ascii="Arial" w:hAnsi="Arial"/>
    <w:color w:val="22B14C"/>
  </w:rPr>
</w:style>
<w:style w:type="character" w:styleId="TestLinkedStyleChar">
  <w:name w:val="Test Linked Style Char"/>
  <w:link w:val="TestLinkedStyle"/>
  <w:rsid w:val="009C1646"/>
  <w:rPr>
    <w:rFonts w:ascii="Arial" w:hAnsi="Arial"/>
    <w:color w:val="22B14C"/>
  </w:rPr>
</w:style>

The link element in the paragraph style specifies TestLinkedStyleChar, the styleId of the paired character style, and the link element in the character style specifies TestLinkedStyle, the styleId of the paired paragraph style, creating a linked style combination.

Paragraph-level instances of linked styles can only be referenced by paragraphs within a document, and they must be referenced by the pStyle element within the paragraph’s paragraph properties element (pPr), which must reference the paragraph version of the linked style. Character-level instances of linked styles can only be referenced by a run’s run properties element (rPr) within a document, and they must be referenced by the rStyle element within the run properties element which must reference the character version of the linked style.

In the example above, the linked style definition is composed of the paragraph style, which specifies both the run and paragraph properties, and the character style, which specifies only the run properties. The document content for a paragraph with this linked style would be:

<w:p>
  <w:pPr>
    <w:pStyle w:val="TestLinkedStyle"/>
  </w:pPr>
  <w:r>
    <w:t xml:space="preserve">A para version of Test Linked Style.</w:t>
  </w:r>
</w:p>

The pStyle element in the paragraph’s properties links the paragraph with the paragraph version of the linked style definition.

The document content for a paragraph with a run of this linked style would be:

<w:p>
  <w:r>
    <w:t xml:space="preserve">Next run is character version of </w:t>
  </w:r>
  <w:r>
    <w:rPr>
      <w:rStyle w:val="TestLinkedStyleChar"/>
    </w:rPr>
    <w:t>Test Linked Style</w:t>
  </w:r>
  <w:r>
    <w:t>.</w:t>
  </w:r>
</w:p>

The rStyle element in the second run’s properties links the run with the character version of the linked style definition.

Last updated on