- From: Joern Turner <joern.turner@web.de>
- Date: Mon, 28 Aug 2006 21:12:58 +0200
- To: "Klotz, Leigh" <Leigh.Klotz@xerox.com>
- CC: www-forms@w3.org, Francisco Monteiro <monterro2004@tiscali.co.uk>, "T.V Raman" <raman@google.com>, John Boyer <boyerj@ca.ibm.com>
Leigh, you wrote: > - xf:*/@src (not quote * but I mean everywhere it's used) But what should we do when having something like this?: <xf:instance id="default" src="{instance('default')/data/foo}" /> Obviously it would be hard to evaluate the AVT in this case or can anyone think of a senseful way to process this? Joern Klotz, Leigh wrote: > I think many implementations have AVT-like strings already, and we're > already getting experience with them outside of the XForms 1.1 > recommendation draft. > This message is an effort to herd them without going to ether extreme of > putting it into the WD today or "asking" the implementations to take > them out. > > I believe that XSLT 2.0 is a good place to start looking and personally > I'd like to encourage vendors to look there. > > Nesting: > Nesting is prohibited in XSLT 2.0, and I think the XForms vendors should > do the same. > > Quoting: > Another point related to nesting is quoting. > It appears that XSLT 2.0 does this with double braces; so you use "{{" > instead of "{" to quote them, not backslash or entity definitions (which > wouldn't work of course). > The main use case for quoting mentioned in Kay's book is regular > expressions, but as XForms doesn't have bind/@pattern > <mailto:bind/@pattern> anyway, that one won't be encountered. > > bind attributes: > If vendors follow XSLT 2.0's rules, then there won't be any in bind > nodeset or calculate, because those are XPath expressions, and they > aren't allowed there. > I don't know if the vendors who have implemented AVT or AVT-like > constructs already agree on this point, but now would be a good time to > speak up. > > So, if we apply Kay's description of XSLT 2.0's rules, here's the > attributes from the recently-posted XForms 1.1 Schema that I find make > the first and second cut. > Second cut applies the first rule (i.e., attributes must be explicltly > listed in the spec) and is noted after the attribute. > > First cut: XForms 1.1 attributes that aren't XPath or IDREF > Second cut: attributes that appear problematic for structral reasons, a > criterion mention in Kay's book and in John's message as well. > Third cut: Ones I'm not sure about; this is just the repeat attributes, > which I don't understand anyway. > > I'm sure we can whittle this list down more if necesssary and still have > something valuable. > > - model/@functions <mailto:model/@functions> [cut] > - model/@schema <mailto:model/@schema> > - submission/@action <mailto:submission/@action> > - submission/@method <mailto:submission/@method> > - submission/@version <mailto:submission/@version> [XSLT allows it on > output attributes and these attributes are based on XSLT output] > - submission/@indent <mailto:submission/@indent> > - submission/@encoding <mailto:submission/@encoding> > - submission/@omit-xml-declaration > <mailto:submission/@omit-xml-declaration> > - submission/@cdata-section-elements > <mailto:submission/@cdata-section-elements> > - submission/@replace <mailto:submission/@replace> > - submission/@separator <mailto:submission/@separator> > - submission/@includenamespaceprefixes > <mailto:submission/@includenamespaceprefixes> > - submission/@mediatype <mailto:submission/@mediatype> > - bind/@type <mailto:bind/@type> [cut] > - bind/@p3ptype <mailto:bind/@p3ptype> [cut] > - xf:*/@src (not quote * but I mean everywhere it's used) > - xf:*/@appearance > - xf:*/@inputmode <mailto:i/@inputmode> > - xf:*/@incremental <mailto:t/@incremental> > - upload/@mediatype <mailto:upload/@mediatype> > - select1/@selection <mailto:select1/@selection> > - select/@selection <mailto:select/@selection> > - repeat/@start <mailto:repeat/@start> > - repeat/@end <mailto:repeat/@end> > - repeat/@step <mailto:repeat/@step> > - @ev:event [cut] > - @ev:phase [cut] > - @ev:propagate [cut] > - (other ev:event attributes are IDREF and are cut anyway) > - dispatch/@name <mailto:dispatch/@name> > - dispatch/@bubbles <mailto:dispatch/@bubbles> > - dispatch/@cancelable <mailto:dispatch/@cancelable> > - load/@resource <mailto:load/@resource> > - load/@show <mailto:load/@show> > - insert/@position <mailto:insert/@position> > - message/@level <mailto:message/@level> > - */@xf:repeat-startindex <mailto:*/@xf:repeat-startindex> [cut?] > - */@xf:repeat-number <mailto:*/@xf:repeat-number> [cut?] > - repeat/@startindex <mailto:repeat/@startindex> > - repeat/@number <mailto:repeat/@number> > - case/@selected <mailto:case/@selected> > > > Leigh. > > > > > ------------------------------------------------------------------------ > *From:* John Boyer [mailto:boyerj@ca.ibm.com] > *Sent:* Friday, August 25, 2006 10:47 AM > *To:* Klotz, Leigh > *Cc:* Francisco Monteiro; T.V Raman; www-forms@w3.org; > www-forms-request@w3.org > *Subject:* RE: url params et al > > > That's good. One of the questions I felt we needed someone to research > before going with AVTs was the question of iteration, i.e. if the result > contains braces, do you reevaluate? Seems like one could create all > kinds of Lisp-like constructs if so, but despite that was a minefield of > complexity I was hoping we could avoid. Based on not even being able to > nest them, I would say that iteration is out. > > That still leaves lots of process questions regarding their general > availability. We do need experience over time with the feature because > the common use cases are unlikely to break (which explains why "no one > seems to be having a problem with them"). Aside from the spec work we > would need in the form of schema changes, it would be very helpful to > have an explanation of why AVTs would pose no problem when use in the > attributes of a bind element, like nodeset or calculate, for example. > Would they be problematic when used in single node binding, nodeset > binding attributes, and the special attributes of each element? > > A good example would be upload with a filename child element. If upload > or filename ref contains an AVT that is dependent somehow on a change > that would be made by the other element, , what happens? > > Based on these, I'm sure there are issues that must be worked out > through full analysis of the language that may take a while to come up > otherwise. It may not take tons of time to do the analysis, we just > need someone to do it because it's not really a feature but rather an > enhancement to pretty much all the features of the language. > > 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 > > > > > *"Klotz, Leigh" <Leigh.Klotz@xerox.com>* > Sent by: www-forms-request@w3.org > > 08/25/2006 09:42 AM > > > To > "T.V Raman" <raman@google.com> > cc > <www-forms@w3.org>, "Francisco Monteiro" <monterro2004@tiscali.co.uk> > Subject > RE: url params et al > > > > > > > > > > I looked at XSLT 2.0 in Michael Kay's book, and the the decision critera > for where AVTs work in XSLT 2.0. > As I remember it, the decision critera were as follows: > - attributes must be specifically identified > - must not be of type IDREF > - must not not be XPath expressions > > For the full text, which is about a page, please see ISBN: 0-7645-6909-0 > > Also, rather than using a first-nodeset rule, they use concatenation > with a single space between, though if you set compatibility mode to > XSLT 1.0, they use a single node. > > AVTs cannot be nested, but Kay's book gives an example using concat of > how to achieve certain desired effects. > > There also appears to be some hair associated with call-template, as > Kay's Saxon processor provides a saxon:allow-avt attribute as an > extension. > (Reference page http://saxon.sourceforge.net/saxon7.3/changes.html). > > >
Received on Monday, 28 August 2006 19:15:47 UTC