L.7.2.5 Embeddings in a PresentationML Document

When an embedding is present in a PresentationML document, it must be stored as follows:

In the slide, the embedding is stored as a graphic frame using the graphicFrame element in PresentationML. The graphicData element for the frame must have the appropriate URI for its contents: http://purl.oclc.org/ooxml/presentationml/ole. Its child element must be the PresentationML oleObj element, which stores an explicit relationship to the associated Embedded Package or Embedded Object part, the ProgID for that embedded object, and (optionally) the shape ID for the associated shape. The oleObj element shall have a pic child element that (optionally) contains the image data to be used in place of loading the actual object data.

For example, if we embed the Equation.3 object in a PresentationML document, the following markup would be stored in the shape tree of the appropriate Slide part:

<p:graphicFrame>
  <a:graphic>
    <a:graphicData
      uri="http://purl.oclc.org/ooxml/presentationml/ole">
      <p:oleObj spid="10" name="Equation" r:id="rId3"
        imgW="320" imgH="272" progId="Equation.3">
        <p:embed />
        <p:pic>
        </p:pic>
      </p:oleObj>
    </a:graphicData>
  </a:graphic>
</p:graphicFrame>

If we examine this markup, it can be seen that:

The uri attribute on the graphicData element is http://purl.oclc.org/ooxml/presentationml/ole, which dictates that this is an embedded object It contains an oleObj element that specifies the properties of the embedded object. Its attributes specify that the object is of type Equation.3 and that the explicit relationship to the embedded object is rId3. The oleObj element can also contain DrawingML defining the shape with ID 10 (if present) which defines the alternate image.

Last updated on