DocumentID: ECMA-376/Part5/9.1.2 Title: ECMA-376, Part5: 9.1.2 ProcessContent Attribute Extracted-From: ECMA-376 Office Open XML File Formats, 1st Edition / December 2006 Warning: Coverted to HTML format by a script known to have bugs
The ProcessContent attribute value contains a whitespace-delimited list of element-qualified names identifying the expanded names of elements whose content shall be processed, even if the elements themselves are ignored. In any qualified name in the list, the wildcard character "*" can replace the local name to indicate that the content all elements in the namespace shall be processed.
A markup consumer that encounters an ignored element whose expanded name matches the expanded name of an element identified in the ProcessContent attribute value, the markup consumer shall consider that element to be a processed element, regardless of whether or not the element's qualified name matches the qualified name specified in the ProcessContent attribute value.
A markup consumer that encounters a processed element shall process the contents of that element as if the contents were directly embedded within the parent element of the ignored element.
The ProcessContent attribute value shall not reference any element name that does not belong to a namespace that is identified by the Ignorable attribute of the same element.
The value of the ProcessContent attribute can be an empty or blank string. When a markup consumer encounters such a value, it shall proceed as if the ProcessContent attribute was not provided.
Markup producers shall not generate an element that has an xml:lang or xml:space attribute if that element is identified by a ProcessContent attribute value. Markup consumers that ignore an element that has an xml:lang or xml:space attribute and is also identified by a ProcessContent attribute value shall generate an error. Markup consumers that encounter a non-ignored element that has an xml:lang or xml:space attribute and is also identified by a ProcessContent attribute value might generate an error.
[Example: Example 9--3. Processing Ignorable and ProcessContent attributes
A Version 1 markup consumer ignores the blue, black, and red circles, but does render the yellow and green circles.
<Circles
xmlns=""
xmlns:mc="
"
xmlns:v2=""
mc:Ignorable="v2"
mc:ProcessContent="v2:Blink" >
<v2:Watermark Opacity="v0.1">
<Circle Center="0,0" Radius="20" Color="Blue" />
<Circle Center="25,0" Radius="20" Color="Black" />
<Circle Center="50,0" Radius="20" Color="Red" />
</v2:Watermark>
<v2:Blink>
<Circle Center="13,0" Radius="20" Color="Yellow" />
<Circle Center="38,0" Radius="20" Color="Green" />
</v2:Blink>
</Circles>
The Version 1 markup consumer, unaware of Version 2 markup, renders the above markup as if it had processed the following markup:
<Circles
xmlns="http://schemas.openxmlformats.org/Circles/v1" >
<Circle Center="13,0" Radius="20" Color="Yellow" />
<Circle Center="38,0" Radius="20" Color="Green" />
</Circles>
end example]