Theme
The theme is the root-level complex type associated with a shared-style sheet. This complex type holds all of the different formatting options available to a theme, and defines the overall look and feel of a document when themed objects are used within the document. In figure 1 below, we can see an example of two different themes applied to the same slide in a presentation.
Figure 1: A theme applied to the same slide in a presentation. Not only does the font and colors change, but also the effects applied to the shapes and table.
A theme consists of four main parts, although the <themeElements>
element is the piece that holds the main formatting defined within the theme. The other parts provide overrides, defaults, and additions to the information contained in <themeElements>
. The complex type defining a theme, CT_OfficeStyleSheet, is defined in the following manner:
<complexType name="CT_OfficeStyleSheet"> <sequence> <element name="themeElements" type="CT_BaseStyles" minOccurs="1" maxOccurs="1"/> <element name="objectDefaults" type="CT_ObjectStyleDefaults" minOccurs="0" maxOccurs="1"/> <element name="extraClrSchemeLst" type="CT_ColorSchemeList" minOccurs="0" maxOccurs="1"/> <element name="custClrLst" type="CT_CustomColorList" minOccurs="0" maxOccurs="1"/> <element name="extLst" type="CT_OfficeArtExtensionList" minOccurs="0" maxOccurs="1"/> </sequence> <attribute name="name" type="xsd:string" use="optional" default=""/> </complexType>
This complex type also holds a CT_OfficeArtExtensionList, which is used for future extensibility of this complex type.