RE: url params et al

Leigh, Thanks for putting this list together -- it gets us very
close to being able to spec what one should be able to do using
AVTs safely.

I suspect of the ones you list, in the model, AVTs on submission
will be the most useful -- but in the spirit of laisse faire --
I'd go with your suggestion and only explicitly cut AVTs out in
places we know it's a problem.

I think the "avoid double eval" rule of XSLT is the right thing
here --- in some sense, attributes whose value is already
interpreted as an XPath expression e.g. bind/ref in XForms, have
already had an implicit "eval" applied to the attr-value that
provides the XPath expression, so it's wise to rule out AVTs
there --- double-eval == forces you to do everything at run time.

On the UI side, I believe all the places where you list AVTs as
being applicable will in fact turn out to be useful.

Klotz, Leigh writes:
 > 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 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 [cut]
 > - model/@schema
 > - submission/@action
 > - submission/@method
 > - submission/@version [XSLT allows it on output attributes and these
 > attributes are based on XSLT output]
 > - submission/@indent
 > - submission/@encoding
 > - submission/@omit-xml-declaration 
 > - submission/@cdata-section-elements
 > - submission/@replace
 > - submission/@separator
 > - submission/@includenamespaceprefixes
 > - submission/@mediatype
 > - bind/@type [cut]
 > - 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
 > - select1/@selection
 > - select/@selection
 > - repeat/@start
 > - repeat/@end
 > - repeat/@step
 > - @ev:event [cut]
 > - @ev:phase [cut]
 > - @ev:propagate [cut]
 > - (other ev:event attributes are IDREF and are cut anyway)
 > - dispatch/@name
 > - dispatch/@bubbles
 > - dispatch/@cancelable
 > - load/@resource
 > - load/@show
 > - insert/@position
 > - message/@level
 > - */@xf:repeat-startindex [cut?]
 > - */@xf:repeat-number [cut?]
 > - repeat/@startindex
 > - repeat/@number
 > - 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).
 > 
 > 
 > 
 > 
 > <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
 > <HTML><HEAD>
 > <META http-equiv=Content-Type content="text/html; charset=us-ascii">
 > <META content="MSHTML 6.00.2900.2963" name=GENERATOR></HEAD>
 > <BODY>
 > <DIV dir=ltr align=left><SPAN class=108154817-25082006><FONT face=Arial 
 > color=#0000ff size=2>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.</FONT></SPAN></DIV>
 > <DIV dir=ltr align=left><SPAN class=108154817-25082006><FONT face=Arial 
 > color=#0000ff size=2>This message is an effort to herd them without going to 
 > ether extreme of putting it into the WD&nbsp;today&nbsp;or "asking" the 
 > implementations to take them out.</FONT></SPAN></DIV>
 > <DIV dir=ltr align=left><SPAN class=108154817-25082006><FONT face=Arial 
 > color=#0000ff size=2></FONT></SPAN>&nbsp;</DIV>
 > <DIV dir=ltr align=left><SPAN class=108154817-25082006><FONT face=Arial 
 > color=#0000ff size=2>I believe that XSLT 2.0 is a good place to start looking 
 > and personally I'd like to encourage vendors to look there.</FONT></SPAN></DIV>
 > <DIV dir=ltr align=left><SPAN class=108154817-25082006><FONT face=Arial 
 > color=#0000ff size=2></FONT></SPAN>&nbsp;</DIV>
 > <DIV dir=ltr align=left><SPAN class=108154817-25082006><FONT face=Arial 
 > color=#0000ff size=2>Nesting:</FONT></SPAN></DIV>
 > <DIV dir=ltr align=left><SPAN class=108154817-25082006><FONT face=Arial 
 > color=#0000ff size=2>Nesting is prohibited in XSLT 2.0, and I think the XForms 
 > vendors should do the same.</FONT></SPAN></DIV>
 > <DIV dir=ltr align=left><SPAN class=108154817-25082006><FONT face=Arial 
 > color=#0000ff size=2></FONT></SPAN>&nbsp;</DIV>
 > <DIV dir=ltr align=left><SPAN class=108154817-25082006><FONT face=Arial 
 > color=#0000ff size=2>Quoting:</FONT></SPAN></DIV>
 > <DIV dir=ltr align=left><SPAN class=108154817-25082006><FONT face=Arial 
 > color=#0000ff size=2><SPAN class=108154817-25082006><FONT face=Arial 
 > color=#0000ff size=2>Another point related to nesting </FONT></SPAN>is 
 > quoting.</FONT></SPAN></DIV>
 > <DIV dir=ltr align=left><SPAN class=108154817-25082006><FONT face=Arial 
 > color=#0000ff size=2>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).</FONT></SPAN></DIV>
 > <DIV dir=ltr align=left><SPAN class=108154817-25082006><FONT face=Arial 
 > color=#0000ff size=2>The main use case for quoting mentioned in Kay's book is 
 > regular expressions, but as XForms doesn't have <A 
 > href="mailto:bind/@pattern">bind/@pattern</A> anyway, that one won't be 
 > encountered.</FONT></SPAN></DIV>
 > <DIV dir=ltr align=left><SPAN class=108154817-25082006><FONT face=Arial 
 > color=#0000ff size=2></FONT></SPAN>&nbsp;</DIV>
 > <DIV dir=ltr align=left><SPAN class=108154817-25082006><FONT face=Arial 
 > color=#0000ff size=2>bind attributes:</FONT></SPAN></DIV>
 > <DIV dir=ltr align=left><SPAN class=108154817-25082006><FONT face=Arial 
 > color=#0000ff size=2>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.</FONT></SPAN></DIV>
 > <DIV dir=ltr align=left><SPAN class=108154817-25082006><FONT face=Arial 
 > color=#0000ff size=2>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.</FONT></SPAN></DIV>
 > <DIV dir=ltr align=left><SPAN class=108154817-25082006><FONT face=Arial 
 > color=#0000ff size=2></FONT></SPAN>&nbsp;</DIV>
 > <DIV dir=ltr align=left><SPAN class=108154817-25082006><FONT face=Arial 
 > color=#0000ff size=2>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&nbsp;second&nbsp;cut.</FONT></SPAN></DIV>
 > <DIV dir=ltr align=left><SPAN class=108154817-25082006><FONT face=Arial 
 > color=#0000ff size=2>Second cut applies the first rule (i.e., attributes must be 
 > explicltly listed in the spec) and is noted after the 
 > attribute.</FONT></SPAN></DIV>
 > <DIV dir=ltr align=left><SPAN class=108154817-25082006><FONT face=Arial 
 > color=#0000ff size=2></FONT></SPAN>&nbsp;</DIV>
 > <DIV dir=ltr align=left><SPAN class=108154817-25082006><FONT face=Arial 
 > color=#0000ff size=2>First cut: XForms 1.1 attributes that aren't XPath or 
 > IDREF</FONT></SPAN></DIV>
 > <DIV dir=ltr align=left><SPAN class=108154817-25082006><FONT face=Arial 
 > color=#0000ff size=2>Second cut: attributes that appear problematic for 
 > structral reasons, a criterion mention in Kay's book and in John's message as 
 > well.</FONT></SPAN></DIV>
 > <DIV dir=ltr align=left><SPAN class=108154817-25082006><FONT face=Arial 
 > color=#0000ff size=2>Third cut: Ones I'm not sure about; this is just the repeat 
 > attributes, which I don't understand anyway.</FONT></SPAN></DIV>
 > <DIV dir=ltr align=left><SPAN class=108154817-25082006><FONT face=Arial 
 > color=#0000ff size=2></FONT></SPAN>&nbsp;</DIV>
 > <DIV dir=ltr align=left><SPAN class=108154817-25082006><FONT face=Arial 
 > color=#0000ff size=2>I'm sure we can whittle this list down more if 
 > necesssary&nbsp;and still have something valuable.</FONT></SPAN></DIV>
 > <DIV dir=ltr align=left><SPAN class=108154817-25082006><FONT face=Arial 
 > color=#0000ff size=2></FONT></SPAN>&nbsp;</DIV>
 > <DIV dir=ltr align=left><SPAN class=108154817-25082006><FONT face=Arial 
 > color=#0000ff size=2>- <A 
 > href="mailto:model/@functions">model/@functions</A>&nbsp;[cut]</FONT></SPAN></DIV>
 > <DIV dir=ltr align=left><SPAN class=108154817-25082006><FONT face=Arial 
 > color=#0000ff size=2>- <A 
 > href="mailto:model/@schema">model/@schema</A></FONT></SPAN></DIV>
 > <DIV dir=ltr align=left><SPAN class=108154817-25082006><FONT face=Arial 
 > color=#0000ff size=2>- <A 
 > href="mailto:submission/@action">submission/@action</A></FONT></SPAN></DIV>
 > <DIV dir=ltr align=left><SPAN class=108154817-25082006><FONT face=Arial 
 > color=#0000ff size=2>- <A 
 > href="mailto:submission/@method">submission/@method</A></FONT></SPAN></DIV>
 > <DIV dir=ltr align=left><SPAN class=108154817-25082006><FONT face=Arial 
 > color=#0000ff size=2>- <A 
 > href="mailto:submission/@version">submission/@version</A> [XSLT allows it on 
 > output attributes and these attributes are based on XSLT 
 > output]</FONT></SPAN></DIV>
 > <DIV dir=ltr align=left><SPAN class=108154817-25082006><FONT face=Arial 
 > color=#0000ff size=2>- <A 
 > href="mailto:submission/@indent">submission/@indent</A></FONT></SPAN></DIV>
 > <DIV dir=ltr align=left><SPAN class=108154817-25082006><FONT face=Arial 
 > color=#0000ff size=2>- <A 
 > href="mailto:submission/@encoding">submission/@encoding</A></FONT></SPAN></DIV>
 > <DIV dir=ltr align=left><SPAN class=108154817-25082006><FONT face=Arial 
 > color=#0000ff size=2>- <A 
 > href="mailto:submission/@omit-xml-declaration">submission/@omit-xml-declaration</A> 
 > </FONT></SPAN></DIV>
 > <DIV dir=ltr align=left><SPAN class=108154817-25082006><FONT face=Arial 
 > color=#0000ff size=2>- <A 
 > href="mailto:submission/@cdata-section-elements">submission/@cdata-section-elements</A></FONT></SPAN></DIV>
 > <DIV dir=ltr align=left><SPAN class=108154817-25082006><FONT face=Arial 
 > color=#0000ff size=2>- <A 
 > href="mailto:submission/@replace">submission/@replace</A></FONT></SPAN></DIV>
 > <DIV dir=ltr align=left><SPAN class=108154817-25082006><FONT face=Arial 
 > color=#0000ff size=2>- <A 
 > href="mailto:submission/@separator">submission/@separator</A></FONT></SPAN></DIV>
 > <DIV dir=ltr align=left><SPAN class=108154817-25082006><FONT face=Arial 
 > color=#0000ff size=2>- <A 
 > href="mailto:submission/@includenamespaceprefixes">submission/@includenamespaceprefixes</A></FONT></SPAN></DIV>
 > <DIV dir=ltr align=left><SPAN class=108154817-25082006><FONT face=Arial 
 > color=#0000ff size=2>- <A 
 > href="mailto:submission/@mediatype">submission/@mediatype</A></FONT></SPAN></DIV>
 > <DIV dir=ltr align=left><SPAN class=108154817-25082006><FONT face=Arial 
 > color=#0000ff size=2>- <A href="mailto:bind/@type">bind/@type</A> 
 > [cut]</FONT></SPAN></DIV>
 > <DIV dir=ltr align=left><SPAN class=108154817-25082006><FONT face=Arial 
 > color=#0000ff size=2>- <A href="mailto:bind/@p3ptype">bind/@p3ptype</A> 
 > [cut]</FONT></SPAN></DIV>
 > <DIV dir=ltr align=left><SPAN class=108154817-25082006><FONT face=Arial 
 > color=#0000ff size=2>- xf:*/@src (not quote&nbsp;* but I mean everywhere it's 
 > used)</FONT></SPAN></DIV>
 > <DIV dir=ltr align=left><SPAN class=108154817-25082006><FONT face=Arial 
 > color=#0000ff size=2>- xf:*/@appearance </FONT></SPAN></DIV>
 > <DIV dir=ltr align=left><SPAN class=108154817-25082006><FONT face=Arial 
 > color=#0000ff size=2>- <A 
 > href="mailto:i/@inputmode">xf:*/@inputmode</A></FONT></SPAN></DIV>
 > <DIV dir=ltr align=left><SPAN class=108154817-25082006><FONT face=Arial 
 > color=#0000ff size=2>- xf:*/<A 
 > href="mailto:t/@incremental">@incremental</A></FONT></SPAN></DIV>
 > <DIV dir=ltr align=left><SPAN class=108154817-25082006><FONT face=Arial 
 > color=#0000ff size=2>- <A 
 > href="mailto:upload/@mediatype">upload/@mediatype</A></FONT></SPAN></DIV>
 > <DIV dir=ltr align=left><SPAN class=108154817-25082006><FONT face=Arial 
 > color=#0000ff size=2>- <A 
 > href="mailto:select1/@selection">select1/@selection</A></FONT></SPAN></DIV>
 > <DIV dir=ltr align=left><SPAN class=108154817-25082006><FONT face=Arial 
 > color=#0000ff size=2>- <A 
 > href="mailto:select/@selection">select/@selection</A></FONT></SPAN></DIV>
 > <DIV dir=ltr align=left><SPAN class=108154817-25082006><FONT face=Arial 
 > color=#0000ff size=2>- <A 
 > href="mailto:repeat/@start">repeat/@start</A></FONT></SPAN></DIV>
 > <DIV dir=ltr align=left><SPAN class=108154817-25082006><FONT face=Arial 
 > color=#0000ff size=2>- <A 
 > href="mailto:repeat/@end">repeat/@end</A></FONT></SPAN></DIV>
 > <DIV dir=ltr align=left><SPAN class=108154817-25082006><FONT face=Arial 
 > color=#0000ff size=2>- <A 
 > href="mailto:repeat/@step">repeat/@step</A></FONT></SPAN></DIV>
 > <DIV dir=ltr align=left><SPAN class=108154817-25082006><FONT face=Arial 
 > color=#0000ff size=2>- @ev:event [cut]</FONT></SPAN></DIV>
 > <DIV dir=ltr align=left><SPAN class=108154817-25082006><FONT face=Arial 
 > color=#0000ff size=2>- @ev:phase [cut]</FONT></SPAN></DIV>
 > <DIV dir=ltr align=left><SPAN class=108154817-25082006><FONT face=Arial 
 > color=#0000ff size=2>- @ev:propagate [cut]</FONT></SPAN></DIV>
 > <DIV dir=ltr align=left><SPAN class=108154817-25082006><FONT face=Arial 
 > color=#0000ff size=2>- (other ev:event attributes are IDREF and are cut 
 > anyway)</FONT></SPAN></DIV>
 > <DIV dir=ltr align=left><SPAN class=108154817-25082006><FONT face=Arial 
 > color=#0000ff size=2>- <A 
 > href="mailto:dispatch/@name">dispatch/@name</A></FONT></SPAN></DIV>
 > <DIV dir=ltr align=left><SPAN class=108154817-25082006><FONT face=Arial 
 > color=#0000ff size=2>- <A 
 > href="mailto:dispatch/@bubbles">dispatch/@bubbles</A></FONT></SPAN></DIV>
 > <DIV dir=ltr align=left><SPAN class=108154817-25082006><FONT face=Arial 
 > color=#0000ff size=2>- <A 
 > href="mailto:dispatch/@cancelable">dispatch/@cancelable</A></FONT></SPAN></DIV>
 > <DIV dir=ltr align=left><SPAN class=108154817-25082006><FONT face=Arial 
 > color=#0000ff size=2>- <A 
 > href="mailto:load/@resource">load/@resource</A></FONT></SPAN></DIV>
 > <DIV dir=ltr align=left><SPAN class=108154817-25082006><FONT face=Arial 
 > color=#0000ff size=2>- <A 
 > href="mailto:load/@show">load/@show</A></FONT></SPAN></DIV>
 > <DIV dir=ltr align=left><SPAN class=108154817-25082006><FONT face=Arial 
 > color=#0000ff size=2>- <A 
 > href="mailto:insert/@position">insert/@position</A></FONT></SPAN></DIV>
 > <DIV dir=ltr align=left><SPAN class=108154817-25082006><FONT face=Arial 
 > color=#0000ff size=2>- <A 
 > href="mailto:message/@level">message/@level</A></FONT></SPAN></DIV>
 > <DIV dir=ltr align=left><SPAN class=108154817-25082006><FONT face=Arial 
 > color=#0000ff size=2>- <A 
 > href="mailto:*/@xf:repeat-startindex">*/@xf:repeat-startindex</A>&nbsp;[cut?]</FONT></SPAN></DIV>
 > <DIV dir=ltr align=left><SPAN class=108154817-25082006><FONT face=Arial 
 > color=#0000ff size=2>- <A 
 > href="mailto:*/@xf:repeat-number">*/@xf:repeat-number</A>&nbsp;[cut?]</FONT></SPAN></DIV>
 > <DIV dir=ltr align=left><SPAN class=108154817-25082006><FONT face=Arial 
 > color=#0000ff size=2>- <A 
 > href="mailto:repeat/@startindex">repeat/@startindex</A></FONT></SPAN></DIV>
 > <DIV dir=ltr align=left><SPAN class=108154817-25082006><FONT face=Arial 
 > color=#0000ff size=2>- <A 
 > href="mailto:repeat/@number">repeat/@number</A></FONT></SPAN></DIV>
 > <DIV dir=ltr align=left><SPAN class=108154817-25082006><FONT face=Arial 
 > color=#0000ff size=2>- <A 
 > href="mailto:case/@selected">case/@selected</A></FONT></SPAN></DIV>
 > <DIV dir=ltr align=left><SPAN class=108154817-25082006><FONT face=Arial 
 > color=#0000ff size=2></FONT></SPAN>&nbsp;</DIV>
 > <DIV dir=ltr align=left><SPAN class=108154817-25082006><FONT face=Arial 
 > color=#0000ff size=2></FONT></SPAN>&nbsp;</DIV>
 > <DIV dir=ltr align=left><SPAN class=108154817-25082006><FONT face=Arial 
 > color=#0000ff size=2>Leigh.</FONT></SPAN></DIV>
 > <DIV dir=ltr align=left><SPAN class=108154817-25082006></SPAN><SPAN 
 > class=108154817-25082006></SPAN><SPAN class=108154817-25082006><FONT face=Arial 
 > color=#0000ff size=2></FONT></SPAN>&nbsp;</DIV>
 > <DIV dir=ltr align=left><SPAN class=108154817-25082006><FONT face=Arial 
 > color=#0000ff size=2></FONT></SPAN>&nbsp;</DIV>
 > <DIV dir=ltr align=left><SPAN class=108154817-25082006><FONT face=Arial 
 > color=#0000ff size=2></FONT></SPAN>&nbsp;</DIV><BR>
 > <DIV class=OutlookMessageHeader lang=en-us dir=ltr align=left>
 > <HR tabIndex=-1>
 > <FONT face=Tahoma size=2><B>From:</B> John Boyer [mailto:boyerj@ca.ibm.com] 
 > <BR><B>Sent:</B> Friday, August 25, 2006 10:47 AM<BR><B>To:</B> Klotz, 
 > Leigh<BR><B>Cc:</B> Francisco Monteiro; T.V Raman; www-forms@w3.org; 
 > www-forms-request@w3.org<BR><B>Subject:</B> RE: url params et 
 > al<BR></FONT><BR></DIV>
 > <DIV></DIV><BR><FONT face=sans-serif size=2>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? &nbsp;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. &nbsp;Based on not 
 > even being able to nest them, I would say that iteration is out.</FONT> 
 > <BR><BR><FONT face=sans-serif size=2>That still leaves lots of process questions 
 > regarding their general availability. &nbsp;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"). &nbsp;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? &nbsp;</FONT> <BR><BR><FONT 
 > face=sans-serif size=2>A good example would be upload with a filename child 
 > element. &nbsp;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? 
 > &nbsp;</FONT> <BR><BR><FONT face=sans-serif size=2>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. &nbsp;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.</FONT> <BR><BR><FONT face=sans-serif size=2>John M. Boyer, 
 > Ph.D.<BR>Senior Product Architect/Research Scientist<BR>Co-Chair, W3C XForms 
 > Working Group<BR>Workplace, Portal and Collaboration Software<BR>IBM Victoria 
 > Software Lab<BR>E-Mail: boyerj@ca.ibm.com 
 > &nbsp;http://www.ibm.com/software/<BR><BR>Blog: 
 > http://www.ibm.com/developerworks/blogs/page/JohnBoyer<BR><BR></FONT><BR><BR><BR>
 > <TABLE width="100%">
 >   <TBODY>
 >   <TR vAlign=top>
 >     <TD width="40%"><FONT face=sans-serif size=1><B>"Klotz, Leigh" 
 >       &lt;Leigh.Klotz@xerox.com&gt;</B> </FONT><BR><FONT face=sans-serif 
 >       size=1>Sent by: www-forms-request@w3.org</FONT> 
 >       <P><FONT face=sans-serif size=1>08/25/2006 09:42 AM</FONT> </P>
 >     <TD width="59%">
 >       <TABLE width="100%">
 >         <TBODY>
 >         <TR vAlign=top>
 >           <TD>
 >             <DIV align=right><FONT face=sans-serif size=1>To</FONT></DIV>
 >           <TD><FONT face=sans-serif size=1>"T.V Raman" 
 >             &lt;raman@google.com&gt;</FONT> 
 >         <TR vAlign=top>
 >           <TD>
 >             <DIV align=right><FONT face=sans-serif size=1>cc</FONT></DIV>
 >           <TD><FONT face=sans-serif size=1>&lt;www-forms@w3.org&gt;, 
 >             "Francisco Monteiro" &lt;monterro2004@tiscali.co.uk&gt;</FONT> 
 >         <TR vAlign=top>
 >           <TD>
 >             <DIV align=right><FONT face=sans-serif size=1>Subject</FONT></DIV>
 >           <TD><FONT face=sans-serif size=1>RE: url params et 
 >       al</FONT></TR></TBODY></TABLE><BR>
 >       <TABLE>
 >         <TBODY>
 >         <TR vAlign=top>
 >           <TD>
 >           <TD></TR></TBODY></TABLE><BR></TR></TBODY></TABLE><BR><BR><BR><TT><FONT 
 > size=2><BR>I looked at XSLT 2.0 in Michael Kay's book, and the the decision 
 > critera<BR>for where AVTs work in XSLT 2.0.<BR>As I remember it, the decision 
 > critera were as follows:<BR>- attributes must be specifically identified<BR>- 
 > must not be of type IDREF<BR>- must not not be XPath expressions<BR><BR>For the 
 > full text, which is about a page, please see ISBN: 0-7645-6909-0<BR><BR>Also, 
 > rather than using a first-nodeset rule, they use concatenation<BR>with a single 
 > space between, though if you set compatibility mode to<BR>XSLT 1.0, they use a 
 > single node. &nbsp;<BR><BR>AVTs cannot be nested, but Kay's book &nbsp;gives an 
 > example using concat of<BR>how to achieve certain desired effects.<BR><BR>There 
 > also appears to be some hair associated with call-template, as<BR>Kay's Saxon 
 > processor provides a saxon:allow-avt attribute as an<BR>extension.<BR>(Reference 
 > page 
 > http://saxon.sourceforge.net/saxon7.3/changes.html).<BR><BR><BR></FONT></TT><BR></BODY></HTML>

-- 
Best Regards,
--raman

Title:  Research Scientist      
Email:  raman@google.com
WWW:    http://emacspeak.sf.net/raman/
GTalk:  raman@google.com, tv.raman.tv@gmail.com
PGP:    http://emacspeak.sf.net/raman/raman-almaden.asc
Google: tv+raman 

Received on Friday, 25 August 2006 19:15:14 UTC