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.