Re: Issue with test 10.3.j

I changed 10.3.j.xhtml to say "You must not see the value..." instead of
"You must see the value ..." -- is this acceptable?

Also, the zip file has been updated with the latest Test Suite content.

Keith


                                                                           
             John Boyer                                                    
             <boyerj@ca.ibm.co                                             
             m>                                                         To 
             Sent by:                  Erik Bruchez <ebruchez@orbeon.com>  
             public-forms-requ                                          cc 
             est@w3.org                Forms WG <public-forms@w3.org>      
                                                                   Subject 
                                       Re: Issue with test 10.3.j          
             02/17/2009 02:07                                              
             AM                                                            
                                                                           
                                                                           
                                                                           
                                                                           





I agree with Erik that the test is wrong.  Further, the test should switch
to testing that the insertion of the attribute does *not* occur (NO-OP)
because we already have the test for appendix B4 which test that the
attribute insertion does occur when the context attribute is used.

Cheers,
John M. Boyer, Ph.D.
STSM, Interactive Documents and Web 2.0 Applications
Chair, W3C Forms Working Group
Workplace, Portal and Collaboration Software
IBM Victoria Software Lab
E-Mail: boyerj@ca.ibm.com

Blog: http://www.ibm.com/developerworks/blogs/page/JohnBoyer
Blog RSS feed:
http://www.ibm.com/developerworks/blogs/rss/JohnBoyer?flavor=rssdw



                                                                           
 From:          Erik Bruchez <ebruchez@orbeon.com>                         
                                                                           
 To:            Forms WG <public-forms@w3.org>                             
                                                                           
 Date:          02/16/2009 10:53 AM                                        
                                                                           
 Subject:       Issue with test 10.3.j                                     
                                                                           






All,

I believe that this test is incorrect. It contains three inserts
similar to this one:

<xforms:insert origin="instance('second')/item_list/item[1]/@price"
               nodeset="instance('first')/item_list/item[1]" />

The test expects that the attribute pointed to by the @origin
attribute is added to the element pointed to by the @nodeset
attribute. It is my understanding that this must not happen, and here
is why:

* The "insert location node" is element item[1] in instance
  "first".

* Then, "the insert location node provided by the Node Set Binding and
  optional at attribute is intended to be the sibling of the cloned
  node". This means that the attribute is intended to be a *sibling*
  of the item[1] element, which of course is not possible.

* Therefore we fall under the condition: "If a cloned node cannot be
  placed at the target location due to a node type conflict or because
  the target location is undefined, then the insertion for that
  particular cloned node is ignored."

This behavior was intentionally specified to consistently
differentiate between the insertion of siblings vs. children. Broadly:

* If one or more nodes result from @nodeset evaluation, then cloned
  nodes are inserted "next to" the nodes specified. (The root element
  is a border case exception.)

* Otherwise, if a node results from @context evaluation, then cloned
  nodes are inserted "within" the node specified.

So the test should be modified to:

<xforms:insert origin="instance('second')/item_list/item[1]/@price"
               context="instance('first')/item_list/item[1]" />

Alternatively, we could maybe keep test 10.3.j as is but make sure we
test that it NOPs, and create 10.3.k to test the proper insertion with
@context.

Note that example "B.4 Set Attribute" in the spec shows the correct
usage with @context.

Also, I believe that one implementation reported passing the broken
test.

-Erik

--
Orbeon Forms - Web Forms for the Enterprise Done the Right Way
http://www.orbeon.com/

Received on Tuesday, 17 February 2009 16:18:32 UTC