DocumentID: ECMA-376/Part5/9.2.2 Title: ECMA-376, Part5: 9.2.2 Choice Element 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
All Choice elements shall have a Requires attribute whose value contains a whitespace-delimited list of namespace prefixes that identify the namespaces that a markup consumer needs to understand to select that Choice and process the content. If the markup consumer does not understand all of the namespaces identified, it shall not select that Choice element. Markup consumers shall select the first Choice element, in markup order, in which all namespaces identified by the Requires attribute are understood.
Choice elements can include the attributes Ignorable, MustUnderstand, ProcessContent, PreserveElements, and PreserveAttributes described in this specification. These attributes shall be prefixed when on a Choice element. A markup consumer shall generate an error if it encounters a Choice element having any unprefixed attribute name, with the single exception of the Requires attribute, which shall be unprefixed. [Note: A namespace declaration is not considered to be an unprefixed attribute name. end note] A markup consumer that encounters a prefixed Requires attribute, when the prefix is associated with the Markup Compatibility namespace, shall generate an error.
Choice elements might have ignored attributes. Markup consumers shall not generate an error when encountering such attributes. However, markup consumers shall generate an error when encountering an attribute of the Choice element that belongs to a namespace that is neither understood nor ignorable.
Markup producers shall not generate Choice elements that have the xml:lang or xml:space attributes. Markup consumers shall generate an error if they encounter the xml:lang or xml:space attributes on a Choice element, regardless of whether the element is preceded by a selected Choice element.