L.7.3.4.1.1 extLst Syntax

The extLst element can be placed only at specific locations within the OOXML schemas. Its syntax is as below:

<new:foo xmlns:new= “http://schemas.openformats.org/presentationml/2008/presentationml">

… </new:foo> <somevendor:bar xmlns:somevendor= “http://schemas.somevendor.com/V20/ournamespace">

… </somevendor:bar>

An extLst is a list of extension blocks that are placed one after the other. Each extension block has a uri attribute, which serves as an identifier to indicate the kind of extension that has been placed here. Upon encountering an extension block, a processing consumer determines whether it knows how to process extensions matching that uri attribute. If the consumer knows how to process such an extension, the markup contained within that extension block is processed. Otherwise, the extension block is preserved so long as the underlying structure being extended by the extLst has not been deleted.

There is no limit to the number of ext extension block constructs. The order of extension blocks can be arbitrary.

An optional modified attribute, mod, is available on extLst. This attribute is set to true whenever an edit has occurred at the extended location. Its presence is to aid up-level clients that receive modified documents that have been edited in down-level consumers/producers.

Last updated on