@MustUndestand: When are errors reported?

MURATA Makoto eb2m-mrt at asahi-net.or.jp
Sun Jan 20 14:20:00 CET 2013


Dear colleagues,

While preparing examples as part of the MCE semantics wiki,
I am again wondering when @Mustunderstand is examined
and why this attribute is needed.

https://www.assembla.com/spaces/IS29500/wiki/Semantics_of_MCE

Even if @Mustunderstand is not used at all, the MCE processor
is required to report non-understood-and-non-ignorable elements
and attributes.  (See Step 3 in the semantics wiki.)

Then, why do we need @Mustunderstand?  The only possible
reason is to raise an error as soon as possible.  Suppose that
@Mustunderstand  of a root element specifies a non-understood
namespace.  We would expect that the MCE processor report an
error without forwarding anything to the application program.
We would expect that not using @Mustunderstand will delay
errors: a lot more info will be forwarded to application programs.

But our current definition of the MCE semantics in the wiki is
different from this expectation.  It is Step 3 that checks
non-understood-and-non-ignorable elems/atts
as well as @Mustunderstand.  Step 3 is followed by
Step 4.  So, the use of @Mustunderstand does not make
any real differences.  Errors will be raised before forwarding
something to the application program.

I guess that we have to revise the current definition.  But
we also have to make sure that @MustUnderstand and foreign
attributes of AlternateContent, Choice, and Fallback elements
as well as foreign children of AlternateContent elements
are examined.  Since all of them are discarded by Step 4,
we have to checking before Step 4. I don't know how we
can overcome this dilemma.


Regards,
Makoto


More information about the sc34wg4 mailing list