- 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 do. 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 :-) Cheers, 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 mark.birbeck@x-port.net To "Joern Turner" <joern.turner@web.de> cc www-forms@w3.org Subject 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.) Regards, Mark 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