L.7.2.3.2 Floating Embeddings
When the embedding is present as a floating object, it is stored as follows:
The WordprocessingML pict element specifies the presence of a floating image in the document. The child objectEmbed or objectLink element must specify the details about the embedding itself, including an explicit relationship to the appropriate Embedded Package or Embedded Object part. The child anchor element must specify the image that can be used to represent the object in place of loading the actual object data.
For example, if we embed a SpreadsheetML worksheet in a WordprocessingML document as a floating object, the following run content would be present:
<w:r>
<w:object>
<w:objectEmbed drawAspect="content" r:id="rId5" progId="Excel.Sheet.8"
shapeId="18"/>
<w:drawing>
<wp:anchor> ... </wp:anchor>
</w:drawing>
</w:object>
</w:r>
If we examine this markup, it can be seen that:
We have a floating image, as defined by the pict element. The objectEmbed element specifies that that floating image is actually an embedding that is stored as an Embed, and that its ProgID is Excel.Sheet.8 (the ProgID code for Microsoft Excel worksheets); it also specifies that the associated image (when the object data cannot be used) is stored in the shape with an ID of 18. The associated shape with an ID of 18 must be used in place of the object whenever it is not loaded - this shape is stored in the anchor element in the same object element as the corresponding OLEObject element. This shape specifies its desired size and provides an explicit relationship to the part which stores the image data.