- From: John Boyer <boyerj@ca.ibm.com>
- Date: Thu, 9 Jun 2011 11:08:07 -0700
- To: Nick Van den Bleeken <Nick.Van.den.Bleeken@inventivegroup.com>
- Cc: Public Forms <public-forms@w3.org>
- Message-ID: <OF48454CF3.CEE3B90A-ON882578AA.006284C7-882578AA.00639E49@ca.ibm.com>
Hi Nick, I can't think of a reason to attach a MIP to atomic values, assuming I understand you correctly that these atomic items are orphaned objects and not part of an instance. The point of MIP binding is to attach metadata to nodes so that other parts of the XForms ecosystem can gain a benefit from the metadata by virtue of binding to the same node. However, saying 'no' to attaching a MIP to context item produced by a bind nodeset attr (or whatever we call it, e.g. ref), is not the same as saying that the bind nodeset/ref cannot produce atomic item results. One possible use of this is when the xforms bind is essentially acting like a model-level repeat, i.e. the bind has a nodeset/ref binding attribute but not a MIP attribute. Such a bind could provide atomic value context items to a repeated set of inner binds, and those inner binds could consume the context items by using the context() function within an absolute xpath expression that starts with instance(). If the instance function has an ID, then all is good, but if it doesn't, then, this leads a bit to your second question. I think the answer there is that the instance() function does not depend on the context, except for determining the model. It just returns the root element of the default instance. So, if a context item has no identified model, then we should just say to use the default model. I would also say we should enhance instance() to say that if it is given the ID of a model element, then it should know to produce the default instance of that model. Cheers, John M. Boyer, Ph.D. Distinguished Engineer, IBM Forms and Smarter Web Applications IBM Canada Software Lab, Victoria 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: Nick Van den Bleeken <Nick.Van.den.Bleeken@inventivegroup.com> To: Public Forms <public-forms@w3.org> Date: 06/09/2011 08:38 AM Subject: XForms 1.2: XPath 2.0 Module update Sent by: public-forms-request@w3.org All, I've been working on the XForms 1.2: XPath 2.0 Module[1] and have a couple additional questions: 1. XPath expression evaluation ------------------------------------------- XPath 2.0 can raise a dynamic error or a type error during the dynamic evaluation phase this will cause an xforms-compute-exception or xforms -binding-exception, are we going to standardize the event context to access the XPath error information? 2. Context item related questions --------------------------------------------- In XPath 2.0 you have a context item. With item (see [Data Model]) either an atomic value (such as an integer, date, or string), or a node. Opposed to a context node in XPath 1.0. An example could be of a context item that isn't a node is: <xforms:repeat ref="(1 to 10)"> <xforms:output value="."/> </xforms:repeat> In this example the context item to evaluate the value attribute of the output is an integer (1 to 10). I updated the XPath 2.0 support Module to support the notion of context item. Most work was done in section '3.2.2.1 Maintaining Position: the Focus'. There are a couple implications worth mentioning: * I don't think that we should support attaching MIPs to atomic values, is there even a use case to support atomic values in bind statements? * An implementation now also needs access to more information then strictly the 'evaluation context' to implement the instance() if the context item isn't a node and no instance id is specified (but the same is true for our context() function). Please read section 3.10.1 The instance() Function (should we raise an error if the id is omitted and the context item isn't a node) * id() What do we do when the node-set is ommitted and the context item isn't a node -> send xforms-compute-exception event (XPath 2.0 raises an error)? I vaguely recall the addition of an other attribute then nodeset on repeat (I think we settled for ref) that supports a sequence of items, but I can't find it on our wiki. The next thing I should do is go through the spec and see where it makes sense to support sequences of items instead of node sets (I think it would make sense to allow it everywhere in the UI, where we now support nodeset, but we probably want to add the same attribute as on repeat for that (which allows a sequence of items). Kind regards, Nick Van den Bleeken R&D Manager Phone: +32 3 821 01 70 Office fax: +32 3 821 01 71 nick.van.den.bleeken@inventivegroup.com www.inventivedesigners.com 1: http://www.w3.org/MarkUp/Forms/specs/XForms1.2/modules/xpath20/index-all.html Inventive Designers' Email Disclaimer: http://www.inventivedesigners.com/email-disclaimer
Received on Thursday, 9 June 2011 18:08:35 UTC