- From: T.V Raman <raman@google.com>
- Date: Fri, 25 Aug 2006 12:14:12 -0700
- To: Leigh.Klotz@xerox.com
- Cc: www-forms@w3.org, monterro2004@tiscali.co.uk, raman@google.com, boyerj@ca.ibm.com
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 today 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> </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> </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> </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> </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> </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 second 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> </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> </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 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> </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> [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 * 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> [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> [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> </DIV>
> <DIV dir=ltr align=left><SPAN class=108154817-25082006><FONT face=Arial
> color=#0000ff size=2></FONT></SPAN> </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> </DIV>
> <DIV dir=ltr align=left><SPAN class=108154817-25082006><FONT face=Arial
> color=#0000ff size=2></FONT></SPAN> </DIV>
> <DIV dir=ltr align=left><SPAN class=108154817-25082006><FONT face=Arial
> color=#0000ff size=2></FONT></SPAN> </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? 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.</FONT>
> <BR><BR><FONT face=sans-serif size=2>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? </FONT> <BR><BR><FONT
> face=sans-serif size=2>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?
> </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. 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
> 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"
> <Leigh.Klotz@xerox.com></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"
> <raman@google.com></FONT>
> <TR vAlign=top>
> <TD>
> <DIV align=right><FONT face=sans-serif size=1>cc</FONT></DIV>
> <TD><FONT face=sans-serif size=1><www-forms@w3.org>,
> "Francisco Monteiro" <monterro2004@tiscali.co.uk></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. <BR><BR>AVTs cannot be nested, but Kay's book 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