W3C home > Mailing lists > Public > www-forms@w3.org > February 2007

Re: implementors question: correct behavior of nested nodeset in repeat

From: John Boyer <boyerj@ca.ibm.com>
Date: Tue, 27 Feb 2007 10:46:33 -0800
To: mark.birbeck@x-port.net
Cc: "Joern Turner" <joern.turner@web.de>, www-forms@w3.org, www-forms-request@w3.org
Message-ID: <OFFACC7622.33087942-ON8825728F.00634BC1-8825728F.00672414@ca.ibm.com>
Hi Joern,

Hmm, yes, I forgot about that common parent issue entirely.

Yes, XForms does currently place a restriction on what XPath will natively 
So, the XPath will indeed produce 6 nodes, but XForms repeats place 
restrictions on those nodes corresponding to the definition of homogeneous 
collection.  So look for that word.

The spec says that the nodes must have the same qname and same parent. 
This means that you can expect some or many implementations to create a 
binding exception if the rules of homogeneous collection are not met.

It turns out that the spec work has *not* been done to eliminate the 
homogeneous collection language from repeat, though we did mostly remove 
it from insert/delete in 1.1.

My spidey sense tells me that a last call comment on this point may not be 
too far in the distance.  Keep in mind that a 'last call' comment doesn't 
mean it'll change, but it also doesn't mean it won't :-) 

John M. Boyer, Ph.D.
STSM: Workplace Forms Architect and Researcher
Co-Chair, W3C Forms 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 Birbeck" <mark.birbeck@x-port.net> 
Sent by: www-forms-request@w3.org
02/27/2007 08:29 AM
Please respond to

"Joern Turner" <joern.turner@web.de>
Re: implementors question: correct behavior of nested nodeset in repeat

Hi Joern,

There used to be a restriction on nodesets, such that they had to have
a common parent and be all of the same name. This has since been
relaxed, so in my view your example should have 6 nodes.

(Even when the nodeset restrictions were tighter, I don't believe it
was clear what to do in this situation; throw an error on selecting
the nodes? Just return the first 3 nodes, from the first parent?
Nothing was clearly defined.)



On 27/02/07, Joern Turner <joern.turner@web.de> wrote:
> seeking help understanding the following use case:
> for an instance like this:
> xforms:instance id="Test" >
> <data xmlns="">
>   <level id="1">
>    <item>Item 1-1</item>
>    <item>Item 1-2</item>
>    <item>Item 1-3</item>
>   </level>
>   <level id="2">
>    <item>Item 2-1</item>
>    <item>Item 2-2</item>
>    <item>Item 2-3</item>
>   </level>
> </data>
> </xforms:instance>
> and a repeat like this:
> <xhtml:body>
>   <xforms:repeat id="repeat1" nodeset="/data/level/item">
>    <xforms:input ref=".">
>     <xforms:label>Value</xforms:label>
>    </xforms:input>
>   </xforms:repeat>
> </xhtml:body>
> what would be the correct behavior? Should the repeat show 3 or 6 items
> and what would happen in case of an insert?
> I couldn't find a clear answer to this from the Spec - help anyone?
> Joern

  Mark Birbeck, formsPlayer

  mark.birbeck@x-port.net | +44 (0) 20 7689 9232
  http://www.formsPlayer.com | http://internet-apps.blogspot.com

  standards. innovation.
Received on Tuesday, 27 February 2007 18:47:58 UTC

This archive was generated by hypermail 2.4.0 : Friday, 17 January 2020 22:37:55 UTC