Themeable Styles

Three groups and a complex type account for style pieces that can be themed. These themed aspects either pull from the style matrix, or they define an actual fill or effect for example. If they pull their style from the matrix, then an update to the document theme will also update the particular style dynamically. The three groups consist of the following groups:

<xsd:group name="EG_ThemeableFillStyle">
  <xsd:choice>
    <xsd:element name="fill" type="CT_FillProperties" minOccurs="1" 
      maxOccurs="1" />
    <xsd:element name="fillRef" type="CT_StyleMatrixReference" 
      minOccurs="1" maxOccurs="1" />
  </xsd:choice>
</xsd:group>
<xsd:group name="EG_ThemeableEffectStyle">
  <xsd:choice>
    <xsd:element name="effect" type="CT_EffectProperties" 
      minOccurs="1" maxOccurs="1" />
    <xsd:element name="effectRef" type="CT_StyleMatrixReference" 
      minOccurs="1" maxOccurs="1" />
  </xsd:choice>
</xsd:group>
<xsd:group name="EG_ThemeableFontStyles">
  <xsd:choice>
    <xsd:element name="font" type="CT_FontCollection" minOccurs="1" 
      maxOccurs="1" />
    <xsd:element name="fontRef" type="CT_FontReference" minOccurs="1" 
      maxOccurs="1" />
  </xsd:choice>
</xsd:group>

The three groups above all give a choice between using a themed style or defining the style themselves. The last type in this group is a complex type used to perform the same task as the above three, only it deals with the lines in the table. The complex type, CT_ThemeableLineStyle, is defined as:

<xsd:complexType name="CT_ThemeableLineStyle">
  <xsd:choice>
    <xsd:element name="ln" type="CT_LineProperties" minOccurs="1" 
      maxOccurs="1" />
    <xsd:element name="lnRef" type="CT_StyleMatrixReference" 
      minOccurs="1" maxOccurs="1" />
  </xsd:choice>
</xsd:complexType>