Proposal for merging Steps 3 and 4

MURATA Makoto eb2m-mrt at asahi-net.or.jp
Fri Sep 13 15:29:52 CEST 2013


Dear colleagues,

In Delft, we agreed that elements/attributes not marked as ignorable
do not have to be checked whether or not they belong to understood
namespaces.  Based on this agreement, we simplified Step 4.  But we
can go even further by merging Step 3 and Step 4.  Such merge allows
@MustUnderstand be processed at a single step rather than two steps.

Here is a proposed rewwrite.  It also addresses another concern:
top-down recursiveness is clearer.  Let's discuss in our next teleconf.


Regards,
Makoto
-------
Step 3: Creating output documents and signaling mismatch errors

In Step 3, the output doument shall be constructed by modifying the
input document with the following procedure.  It is top-down recursive
and begins with the root element.

Case 1: If an element is marked as ignored, it shall be removed
together with its attributes and contents.

Case 2: If an element is marked as unwrapped, the following steps are applied:

- This element shall be replaced by the result of applying
          this procedure to the content of this element [Note: The
          attributes will be lost. end note.]

- Each MustUnderstand attribute of this element shall be
          examined.  If some of the namespaces declared by this
          attribute are not in the application configuration, a
          mismatch shall be signaled.

Case 3: If an element is an AlternateContent element and it is either
an application-defined extension element or a descendant of such an
element, it is handled by appllying the following steps:

- If some child element of this AlternateContent element is
          neither a Choice nor Fallback element and is not marked as
          ignored, a mismatch shall be signaled.

- If none of the child Choice or Fallback elements are marked
          as selected, this AlternateContent element shall be deleted.
          If a child Choice or Fallback element is marked as selected,
          this AlternateContent element shall be replaced by the
          result of applying this procedure to the content of this
          Choice or Fallback element.

- The MustUnderstand attribute at this AlternateContent
          element or the Choice or Fallback element marked as
          selected, if any, shall be examined.  If some of the
          namespaces declared by this attribute are not in the
          application configuration, a mismatch shall be signaled.

Case 4: If an element is neither an application-defined extension
element or its descendant, each attribute of this elements is
examined.  If this attribute is either marked as ignored or an
Ignorable and ProcessContent attribute, it shall be removed.


[Notes and examples do not have to be changed.]


More information about the sc34wg4 mailing list