XForms schema: mustUnderstand and extension

Looking at the current normative schema for XForms [1], there appear to be 
some omissions regarding the xforms:mustUnderstand attribute and the 
xforms:extension element.

@mustUnderstand -- the specification text states that the mustUnderstand 
attribute can appear on ANY element [2], whether in the XForms namespace 
or not. However, nowhere does the XForms schema mention the 
xforms:mustUnderstand attribute. If the mustUnderstand attribute is to be 
permitted on any XForms element, the Common attribute group seems the 
natural place for its definition. Note that the current definition of the 
Common attribute group permits only those attributes that are from a 
foreign (non-XForms) namespace [3], which means that any document 
containing an xforms:mustUnderstand attribute on an element in the XForms 
namespace be considered invalid by the normative schema. Does anyone 
object to the addition of the (optional) mustUnderstand attribute to the 
Common attribute set? Or was the actual intent behind this attribute to 
enforce understanding of extensions, meaning the spec text should be 
amended to allow the xforms:mustUnderstand attribute only on 
xforms:extension elements and elements from the host language?

extension -- the specification text is somewhat vague on where the 
xforms:extension element is permitted [4]. However, it seems clear that 
the extension element can be embedded as a child of at least some XForms 
elements, as the spec contains a source example [5] in which extension 
appears as a child of xforms:input. However, this example will fail 
validation against the schema, since neither xforms:input nor any other 
element in the XForms namespace (except those few  -- instance, value, and 
extension itself -- that permit xsd:any of any namespace as a child) allow 
xforms:extension as a child element. Does anyone disagree that extension 
should be permitted as a child of *any* XForms element? What about as a 
child of elements (i.e. setvalue) whose content models currently do not 
permit other elements as children? Are multiple extension elements 
permitted as a child of the same XForms element? Can the extension element 
appear anywhere in the sequence of child elements? (It's getting clearer 
why this issue was not addressed in the current schema :-) ... in fact, 
there's a comment in the schema which implies that xforms:extension was 
referred to in at least a couple of places, but then removed. Anyone have 
any history on why/how that may have happened?).

Thanks, 
Jan

References:
[1] http://www.w3.org/MarkUp/Forms/2002/XForms-Schema.xsd
[2] http://www.w3.org/TR/xforms/index-all.html#module-mustUnderstand
[3] http://www.w3.org/TR/xforms/index-all.html#structure-attrs-common
[4] http://www.w3.org/TR/xforms/index-all.html#module-extension
[5] http://www.w3.org/TR/xforms/index-all.html#structure-extension

Received on Wednesday, 23 August 2006 19:05:08 UTC