Example

Consider the case in which the notion that each shape can be associated with a given layer, is to be added. The schema for this might look like the following:

The <extLst> block is under the non-visual shape properties (i.e., <p:nvSpPr>). A @uri attribute identifies the extension.

Now consider how this markup will be processed by PML 2007 and PML 2009, where PML 2009 is an up-level version of PML 2007.

PML 2007 processes the above markup, and ignores the <ext> block because it doesn't understand this extension. However, this block will be preserved for any other consumer/producer that may understand it.

PML 2009 processes the above markup, and understands how to deal with layer extensions as indicated by the uri. The <spLayer> extension is returned, PML 2009 processes the extension and is responsible for writing out any updates to this markup, as required. For example, @layer might be changed from 1 to 2.

Note that the extension is a straight-up extension in that layer information is orthogonal to all other non-visual properties, such as the ID, name, and description.

Being non-visual in nature, the information in this extension does not directly affect the appearance of the shape.