PowerML Schema Documentation
schema location:  http://www.powerml.com/schema/powerml.xsd
attribute form default:  unqualified
element form default:  qualified
targetNamespace:  http://www.powerml.com
version:  1.2.1

Most dimensions are given in pmu (PowerPoint master units). 1 inch = 576 pmu.

Elements  Groups  Complex types  Simple types  Attr. groups 
presentation  ArrowsGroup  AdjustHandle  Percentage  GradientAttributes 
BannersGroup  ArrowStyle 
BasicShapesGroup  Color 
CalloutsGroup  Footer 
ConnectorsGroup  Hyperlink 
FillStyleGroup  Master 
FlowchartGroup  Pattern 
LinesGroup  Picture 
StarsGroup  PictureModifier 
Shape 
Shapes 
Text 
Token 


element presentation
diagram
namespace http://www.powerml.com
properties
content complex
children summary pictures bullets fonts footer masters slides
attributes
Name  Type  Use  Default  Fixed  Annotation
width  xs:unsignedInt  5760    
documentation 
Slide width (pmu)
height  xs:unsignedInt  4320    
documentation 
Slide height (pmu)
hidetitlefooter  xs:boolean  false    
documentation 
If true, the footer is hidden on the title slide
identity constraints
  Name  Refer  Selector  Field(s)  
key  fontKey    target:fonts/target:font  @id  
keyref  fontRef  fontKey  .//target:token  @font  
keyref  symbolfontRef  fontKey  .//target:token  @symbolfont  
keyref  complexfontRef  fontKey  .//target:token  @complexfont  
key  masterKey    .//target:slidemaster | .//target:titlemaster  @id  
keyref  masterRef  masterKey  .//target:slide  @master  
key  pictureKey    target:pictures/target:picture  @id  
keyref  pictureRef  pictureKey  .//target:pictureframe | .//target:pattern | .//target:texture | .//target:picture  @picture  
key  bulletKey    target:bullets/target:bullet  @id  
keyref  bulletRef  bulletKey  .//target:picbulletlist  @bullet  
key  masterShapesKey    .//target:master/*/target:toplevelgroup/target:shapes/*  @id  
keyref  masterShapesRef  masterShapesKey  .//target:shapes/*  @mastershape  
unique  shapeId    .//target:shapes/*  @id  
annotation
documentation 
This is the root element, containing all data of a presentation.
source
<xs:element name="presentation">
  <xs:annotation>
    <xs:documentation>This is the root element, containing all data of a presentation.</xs:documentation>
  </xs:annotation>
  <xs:complexType>
    <xs:sequence>
      <xs:element name="summary">
        <xs:annotation>
          <xs:documentation>The presentation's summary, as seen in the file's properties</xs:documentation>
        </xs:annotation>
        <xs:complexType>
          <xs:sequence>
            <xs:element name="title" type="xs:string" minOccurs="0"/>
            <xs:element name="subject" type="xs:string" minOccurs="0"/>
            <xs:element name="author" type="xs:string" minOccurs="0"/>
            <xs:element name="lastauthor" type="xs:string" minOccurs="0"/>
            <xs:element name="manager" type="xs:string" minOccurs="0"/>
            <xs:element name="company" type="xs:string" minOccurs="0"/>
            <xs:element name="category" type="xs:string" minOccurs="0"/>
            <xs:element name="template" type="xs:string" minOccurs="0"/>
            <xs:element name="creationtime" type="xs:dateTime" minOccurs="0"/>
            <xs:element name="revision" type="xs:positiveInteger" minOccurs="0"/>
            <xs:element name="keywords" type="xs:string" minOccurs="0"/>
            <xs:element name="comments" type="xs:string" minOccurs="0"/>
            <xs:element name="thumbnail" minOccurs="0">
              <xs:complexType mixed="true">
                <xs:attribute name="format" use="required">
                  <xs:annotation>
                    <xs:documentation>Format is always wmf.</xs:documentation>
                  </xs:annotation>
                  <xs:simpleType>
                    <xs:restriction base="xs:string">
                      <xs:enumeration value="wmf"/>
                    </xs:restriction>
                  </xs:simpleType>
                </xs:attribute>
                <xs:attribute name="encoding" use="required">
                  <xs:annotation>
                    <xs:documentation>At the moment only base64 encoding supported.</xs:documentation>
                  </xs:annotation>
                  <xs:simpleType>
                    <xs:restriction base="xs:string">
                      <xs:enumeration value="base64"/>
                    </xs:restriction>
                  </xs:simpleType>
                </xs:attribute>
              </xs:complexType>
            </xs:element>
          </xs:sequence>
        </xs:complexType>
      </xs:element>
      <xs:element name="pictures" minOccurs="0">
        <xs:annotation>
          <xs:documentation>Contains the presentation's pictures, used for filling shapes or in picture frames.</xs:documentation>
        </xs:annotation>
        <xs:complexType>
          <xs:sequence>
            <xs:element name="picture" type="Picture" minOccurs="0" maxOccurs="unbounded">
              <xs:annotation>
                <xs:documentation>Contains a picture file.</xs:documentation>
              </xs:annotation>
            </xs:element>
          </xs:sequence>
        </xs:complexType>
      </xs:element>
      <xs:element name="bullets" minOccurs="0">
        <xs:annotation>
          <xs:documentation>Contains pictures used as bullets in bullet lists.</xs:documentation>
        </xs:annotation>
        <xs:complexType>
          <xs:sequence>
            <xs:element name="bullet" type="Picture" maxOccurs="unbounded">
              <xs:annotation>
                <xs:documentation>Contains a picture used as bullet in a picture bullet list (picbulletlist).</xs:documentation>
              </xs:annotation>
            </xs:element>
          </xs:sequence>
        </xs:complexType>
      </xs:element>
      <xs:element name="fonts">
        <xs:annotation>
          <xs:documentation>Fonts used in the presentation</xs:documentation>
        </xs:annotation>
        <xs:complexType>
          <xs:sequence>
            <xs:element name="font" maxOccurs="unbounded">
              <xs:complexType>
                <xs:attribute name="id" type="xs:unsignedShort" use="required">
                  <xs:annotation>
                    <xs:documentation>Unique number identifying the font within the presentation.</xs:documentation>
                  </xs:annotation>
                </xs:attribute>
                <xs:attribute name="name" use="required">
                  <xs:annotation>
                    <xs:documentation>Font name.</xs:documentation>
                  </xs:annotation>
                </xs:attribute>
              </xs:complexType>
            </xs:element>
          </xs:sequence>
        </xs:complexType>
      </xs:element>
      <xs:element name="footer" type="Footer">
        <xs:annotation>
          <xs:documentation>Contains global footer properties (date, footer string, slide number). Slides can override these.</xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="masters">
        <xs:annotation>
          <xs:documentation>Contains all masters of the presentation.</xs:documentation>
        </xs:annotation>
        <xs:complexType>
          <xs:sequence>
            <xs:element name="master" maxOccurs="unbounded">
              <xs:annotation>
                <xs:documentation>Describes a presentation master. Masters contain the default layout and formatting of presentation slides.</xs:documentation>
              </xs:annotation>
              <xs:complexType>
                <xs:sequence>
                  <xs:element name="slidemaster" type="Master">
                    <xs:annotation>
                      <xs:documentation>Contains properties of a slide master. A slide master specifies the default layout and formatting of all slides except the title slide.</xs:documentation>
                    </xs:annotation>
                  </xs:element>
                  <xs:element name="titlemaster" type="Master" minOccurs="0">
                    <xs:annotation>
                      <xs:documentation>Contains properties of a title master, which specifies the default layout and formatting of the title slide.</xs:documentation>
                    </xs:annotation>
                  </xs:element>
                </xs:sequence>
                <xs:attribute name="name">
                  <xs:annotation>
                    <xs:documentation>Name of the master.</xs:documentation>
                  </xs:annotation>
                </xs:attribute>
              </xs:complexType>
            </xs:element>
          </xs:sequence>
        </xs:complexType>
      </xs:element>
      <xs:element name="slides">
        <xs:annotation>
          <xs:documentation>Contains the presentation's slides.</xs:documentation>
        </xs:annotation>
        <xs:complexType>
          <xs:sequence>
            <xs:element name="slide" minOccurs="0" maxOccurs="unbounded">
              <xs:annotation>
                <xs:documentation>This element contains all properties of a presentation slide.</xs:documentation>
              </xs:annotation>
              <xs:complexType>
                <xs:sequence>
                  <xs:element name="background" minOccurs="0">
                    <xs:annotation>
                      <xs:documentation>Describes the background of a slide.</xs:documentation>
                    </xs:annotation>
                    <xs:complexType>
                      <xs:group ref="FillStyleGroup"/>
                    </xs:complexType>
                  </xs:element>
                  <xs:element name="toplevelgroup">
                    <xs:annotation>
                      <xs:documentation>Specifies the top level shape group of the slide.</xs:documentation>
                    </xs:annotation>
                    <xs:complexType>
                      <xs:sequence>
                        <xs:element name="shapes" type="Shapes">
                          <xs:annotation>
                            <xs:documentation>Contains all shapes of the slide.</xs:documentation>
                          </xs:annotation>
                        </xs:element>
                      </xs:sequence>
                    </xs:complexType>
                  </xs:element>
                  <xs:element name="footer" type="Footer" minOccurs="0">
                    <xs:annotation>
                      <xs:documentation>Contains slide footer properties. A slide footer consists of date, footer and slide number placeholders.</xs:documentation>
                    </xs:annotation>
                  </xs:element>
                  <xs:element name="comments" minOccurs="0">
                    <xs:annotation>
                      <xs:documentation>This element contains all comments of the slide.</xs:documentation>
                    </xs:annotation>
                    <xs:complexType>
                      <xs:sequence>
                        <xs:element name="comment" maxOccurs="unbounded">
                          <xs:annotation>
                            <xs:documentation>Specifies the properties of a comment.</xs:documentation>
                          </xs:annotation>
                          <xs:complexType>
                            <xs:sequence>
                              <xs:element name="creationtime" type="xs:dateTime">
                                <xs:annotation>
                                  <xs:documentation>The comment's time stamp.</xs:documentation>
                                </xs:annotation>
                              </xs:element>
                              <xs:element name="author">
                                <xs:annotation>
                                  <xs:documentation>The comment's author.</xs:documentation>
                                </xs:annotation>
                                <xs:complexType>
                                  <xs:attribute name="initials" type="xs:string">
                                    <xs:annotation>
                                      <xs:documentation>The author's initials.</xs:documentation>
                                    </xs:annotation>
                                  </xs:attribute>
                                  <xs:attribute name="name" type="xs:string">
                                    <xs:annotation>
                                      <xs:documentation>The author's name.</xs:documentation>
                                    </xs:annotation>
                                  </xs:attribute>
                                </xs:complexType>
                              </xs:element>
                              <xs:element name="txt" type="xs:string">
                                <xs:annotation>
                                  <xs:documentation>The comment string.</xs:documentation>
                                </xs:annotation>
                              </xs:element>
                            </xs:sequence>
                            <xs:attribute name="counter" type="xs:positiveInteger" use="required">
                              <xs:annotation>
                                <xs:documentation>Comment counter.</xs:documentation>
                              </xs:annotation>
                            </xs:attribute>
                            <xs:attribute name="x" type="xs:integer" use="required">
                              <xs:annotation>
                                <xs:documentation>x coordinate of the comment.</xs:documentation>
                              </xs:annotation>
                            </xs:attribute>
                            <xs:attribute name="y" type="xs:integer" use="required">
                              <xs:annotation>
                                <xs:documentation>y coordinate of the comment.</xs:documentation>
                              </xs:annotation>
                            </xs:attribute>
                          </xs:complexType>
                        </xs:element>
                      </xs:sequence>
                    </xs:complexType>
                  </xs:element>
                  <xs:element name="notes" minOccurs="0">
                    <xs:annotation>
                      <xs:documentation>Element containing the slide's notes.</xs:documentation>
                    </xs:annotation>
                    <xs:complexType>
                      <xs:sequence>
                        <xs:element name="text" type="Text">
                          <xs:annotation>
                            <xs:documentation>The text contained in the slide's notes.</xs:documentation>
                          </xs:annotation>
                        </xs:element>
                      </xs:sequence>
                    </xs:complexType>
                  </xs:element>
                </xs:sequence>
                <xs:attribute name="number" type="xs:unsignedInt" use="required">
                  <xs:annotation>
                    <xs:documentation>Slide number (as it appears in the footer if activated).</xs:documentation>
                  </xs:annotation>
                </xs:attribute>
                <xs:attribute name="master" type="xs:unsignedInt" use="required">
                  <xs:annotation>
                    <xs:documentation>ID of the slide's master.</xs:documentation>
                  </xs:annotation>
                </xs:attribute>
                <xs:attribute name="hidemaster" type="xs:boolean" default="false">
                  <xs:annotation>
                    <xs:documentation>If true, the master's shapes are hidden.</xs:documentation>
                  </xs:annotation>
                </xs:attribute>
                <xs:attribute name="layout" use="required">
                  <xs:annotation>
                    <xs:documentation>Slide layout.</xs:documentation>
                  </xs:annotation>
                  <xs:simpleType>
                    <xs:restriction base="xs:string">
                      <xs:enumeration value="blank"/>
                      <xs:enumeration value="chart"/>
                      <xs:enumeration value="chart+text"/>
                      <xs:enumeration value="clipart+text"/>
                      <xs:enumeration value="clipart+vtext"/>
                      <xs:enumeration value="4objs"/>
                      <xs:enumeration value="largeobj"/>
                      <xs:enumeration value="media+text"/>
                      <xs:enumeration value="obj"/>
                      <xs:enumeration value="obj+text"/>
                      <xs:enumeration value="obj+2objs"/>
                      <xs:enumeration value="objovertext"/>
                      <xs:enumeration value="orgchart"/>
                      <xs:enumeration value="table"/>
                      <xs:enumeration value="text"/>
                      <xs:enumeration value="text+chart"/>
                      <xs:enumeration value="text+clipart"/>
                      <xs:enumeration value="text+media"/>
                      <xs:enumeration value="text+obj"/>
                      <xs:enumeration value="text+2objs"/>
                      <xs:enumeration value="textoverobj"/>
                      <xs:enumeration value="title"/>
                      <xs:enumeration value="headeronly"/>
                      <xs:enumeration value="2columntext"/>
                      <xs:enumeration value="2objs"/>
                      <xs:enumeration value="2objs+obj"/>
                      <xs:enumeration value="2objs+text"/>
                      <xs:enumeration value="2objsovertext"/>
                      <xs:enumeration value="vtext"/>
                      <xs:enumeration value="vheader+vtext"/>
                      <xs:enumeration value="vheader+vtextoverchart"/>
                      <xs:enumeration value="unknown"/>
                    </xs:restriction>
                  </xs:simpleType>
                </xs:attribute>
              </xs:complexType>
            </xs:element>
          </xs:sequence>
        </xs:complexType>
      </xs:element>
    </xs:sequence>
    <xs:attribute name="width" type="xs:unsignedInt" default="5760">
      <xs:annotation>
        <xs:documentation>Slide width (pmu)</xs:documentation>
      </xs:annotation>
    </xs:attribute>
    <xs:attribute name="height" type="xs:unsignedInt" default="4320">
      <xs:annotation>
        <xs:documentation>Slide height (pmu)</xs:documentation>
      </xs:annotation>
    </xs:attribute>
    <xs:attribute name="hidetitlefooter" type="xs:boolean" default="false">
      <xs:annotation>
        <xs:documentation>If true, the footer is hidden on the title slide</xs:documentation>
      </xs:annotation>
    </xs:attribute>
  </xs:complexType>
  <xs:key name="fontKey">
    <xs:annotation>
      <xs:documentation>Assures that the font ID is unique.</xs:documentation>
    </xs:annotation>
    <xs:selector xpath="target:fonts/target:font"/>
    <xs:field xpath="@id"/>
  </xs:key>
  <xs:keyref name="fontRef" refer="fontKey">
    <xs:annotation>
      <xs:documentation>Makes sure that the referenced token font exists.</xs:documentation>
    </xs:annotation>
    <xs:selector xpath=".//target:token"/>
    <xs:field xpath="@font"/>
  </xs:keyref>
  <xs:keyref name="symbolfontRef" refer="fontKey">
    <xs:annotation>
      <xs:documentation>Makes sure that the referenced token symbol font exists.</xs:documentation>
    </xs:annotation>
    <xs:selector xpath=".//target:token"/>
    <xs:field xpath="@symbolfont"/>
  </xs:keyref>
  <xs:keyref name="complexfontRef" refer="fontKey">
    <xs:annotation>
      <xs:documentation>Makes sure that the referenced token complex font exists.</xs:documentation>
    </xs:annotation>
    <xs:selector xpath=".//target:token"/>
    <xs:field xpath="@complexfont"/>
  </xs:keyref>
  <xs:key name="masterKey">
    <xs:annotation>
      <xs:documentation>Assures that the master ID is unique.</xs:documentation>
    </xs:annotation>
    <xs:selector xpath=".//target:slidemaster | .//target:titlemaster"/>
    <xs:field xpath="@id"/>
  </xs:key>
  <xs:keyref name="masterRef" refer="masterKey">
    <xs:annotation>
      <xs:documentation>Makes sure that the referenced master exists.</xs:documentation>
    </xs:annotation>
    <xs:selector xpath=".//target:slide"/>
    <xs:field xpath="@master"/>
  </xs:keyref>
  <xs:key name="pictureKey">
    <xs:annotation>
      <xs:documentation>Makes sure that the picture ID is unique.</xs:documentation>
    </xs:annotation>
    <xs:selector xpath="target:pictures/target:picture"/>
    <xs:field xpath="@id"/>
  </xs:key>
  <xs:keyref name="pictureRef" refer="pictureKey">
    <xs:annotation>
      <xs:documentation>Assures that referenced pictures exist.</xs:documentation>
    </xs:annotation>
    <xs:selector xpath=".//target:pictureframe | .//target:pattern | .//target:texture | .//target:picture"/>
    <xs:field xpath="@picture"/>
  </xs:keyref>
  <xs:key name="bulletKey">
    <xs:annotation>
      <xs:documentation>Enforces the uniqueness of the bullet ID.</xs:documentation>
    </xs:annotation>
    <xs:selector xpath="target:bullets/target:bullet"/>
    <xs:field xpath="@id"/>
  </xs:key>
  <xs:keyref name="bulletRef" refer="bulletKey">
    <xs:annotation>