Re: Two schema validation modes?

Hi Mark and Allan,

Been a bit busy the last couple of days, but I didn't want to let this one 
go for too long!

I believe we were actually being quite careful at a face-to-face meeting 
when we said in
Section 11.1 how schema validation would occur on submission.

We say that *all* selected instance data nodes are checked for validity 
according
to the validity rules specified in the section on xforms-revalidate, which 
in turn says
that an instance node is checked for compliance with its constraint and 
with all
schema definitions associated with the node.

We had to be very careful in this section in Second Edition because we 
removed 
from validty checking the check of compliance with the required MIP, so it 
had to be
added to the submission section in the same paragraph (11.1, bullet 2).

But to your question, the spec says *all* selected nodes are revalidated, 
not just
the leaf nodes. that contain values (character content) only.

Finally, Allan also made a second point about only values being validated 
during
the run-time of the form, with full schema validation happening only on 
submission.
While the spec supports full schema validation on submission (see above), 
I think
the part about only values being validated during the run of the form is 
something 
that we only talked about.

The spec for xforms-revalidate says that default processing checks *all* 
instance 
data nodes for validity, not just those that contain values (character 
content) only.
This does not mean that an implementation must literally check all the 
nodes; it only
has to behave as if it did.  Specifically, it is easy to optimize by only 
checking those
nodes whose content has changed.  A change to character content can occur 
by
 a number of means including an explicit setvalue action or an implicit 
setvalue that
might occur due to user input "travelling" through a UI binding.  But a 
change to 
structural content can also occur by such means as an insert or delete 
action.

It is worth discussing whether the common understanding from the community 
of
implementers is that "all instance nodes" actually meant "all instance 
nodes on the 
change list emitted from xforms-recalculate".  If the latter is the case, 
then a clarification
erratum is in order, at which point the schema validation would/could be 
restricted to 
values only. 

Onto the agenda it goes!

Best regards,
John M. Boyer, Ph.D.
Senior Product Architect/Research Scientist
Co-Chair, W3C XForms Working Group
Workplace, Portal and Collaboration Software
IBM Victoria Software Lab
E-Mail: boyerj@ca.ibm.com  http://www.ibm.com/software/

Blog: http://www.ibm.com/developerworks/blogs/page/JohnBoyer





Mark Seaborne <m_seaborne@mac.com> 
Sent by: www-forms-request@w3.org
05/22/2006 04:07 AM

To
www-forms <www-forms@w3.org>
cc

Subject
Re: Two schema validation modes?







Allan,

Having had a quick scan of the rec, I am forced to agree with your 
view. 11.1, bullet 2 leads me to believe that only values will ever 
be validated. I am sure that this is not the intent of the spec 
though. My understanding was like yours.

All the best

Mark

On 22 May 2006, at 11:54, Allan Beaufour wrote:

>
> I've always thought that we did schema validation in two different
> ways in XForms:
> 1) value validation during xforms-revalidate (instance node 
> changes, etc.)
> 2) full schema validation before submission
>
> Much to my suprise I cannot find wording for that in the
> specification. Am I blind, or is it just something that we have only
> talked about (or both :) )?
>
> -- 
> ... Allan
>

Received on Friday, 26 May 2006 06:34:04 UTC