W3C home > Mailing lists > Public > www-forms@w3.org > April 2007

Re: context node for output's contents

From: John Boyer <boyerj@ca.ibm.com>
Date: Tue, 3 Apr 2007 18:20:50 -0700
To: Aaron Reed <aaronr@us.ibm.com>
Cc: www-forms@w3.org, www-forms-request@w3.org
Message-ID: <OFB7F7B7EB.08A75FBB-ON882572B3.00074375-882572B3.0007667F@ca.ibm.com>
Yes, that's correct.

@value is evaluated and returns a string always, so it can reference 
anything it wants.

The xforms-binding-exception is issued based only on what happens with the 
single node binding (i.e. @ref or @bind)

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 

Blog: http://www.ibm.com/developerworks/blogs/page/JohnBoyer

Aaron Reed <aaronr@us.ibm.com> 
Sent by: www-forms-request@w3.org
04/02/2007 02:50 PM


Re: context node for output's contents

Thanks for confirming our thoughts, Mark.  We will go ahead and fix the 

A follow up type of question.  Assume I have a xf:output has only @value 
(i.e. no binding attributes).  It would NOT fall into the #36 erratum 
dealing with data binding restrictions, correct? 

So if I had:

<xf:instance xmlns="">
       <value>This is my value</value>
<xf:group ref="/root/data">
   <xf:output value=".">
     <xf:label ref="value"/?
   <xf:output ref="."/>

Would I be correct to say that I should get a xforms-binding-exception 
for the second output but not the first?


Mark Birbeck wrote:
> Hi Aaron,
> I would suggest that it is worth fixing, since there should always be
> an evaluation context, and so the context for the label should
> definitely should be that of the 'most recent' evaluation context.
> formsPlayer does implement it that way, but I do recall that we had a
> bug in this area at one time, so you may be using an out of date
> version of formsPlayer for your comparisons. But I've just checked
> with the latest preview release of 1.5 and it works the way we would
> expect it to. I used your test first, and then modified it slightly as
> follows:
>  <
> The changes are minor and are only needed because we're trying to
> achieve a standard 'format' for our tests, to make it easier to run
> them with Selenium. In this case the display will be 'Test 1:ok'.
> The test can be run in Selenium by loading the formsPlayer test suite:
>  <
> and then choosing the test 'TestXForms10FcOutputEvaluationContext' in
> the left pane. Click on 'Selected' in the right pane to run only this
> test.
> Regards,
> Mark
> On 02/04/07, Aaron Reed <aaronr@us.ibm.com> wrote:
>> Hi,
>> formsPlayer and XSmiles don't handle this testcase, but I think that it
>> is a valid one.  The general question is, "should the xforms contents 
>> an output with @value have no context node with which to evalutate 
>> xpath expressions (since the output has no binding attributes) or 
>> they inherit the context node that the output used to evaluate its
>> @value expression?  Mozilla supported this at one time but regressed it
>> so now I'm wondering if it is worth fixing if no one else handles this
>> like Mozilla.
>> Here is an example form:
>> <?xml version="1.0"?>
>> <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN"
>> "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">
>> <html xmlns="http://www.w3.org/1999/xhtml"
>> xmlns:html="http://www.w3.org/1999/xhtml"
>> xmlns:ev="http://www.w3.org/2001/xml-events"
>> xmlns:xforms="http://www.w3.org/2002/xforms" xml:lang="en">
>>    <head>
>>      <title>Output Value Context</title>
>>      <xforms:model>
>>        <xforms:instance xmlns="">
>>          <data xmlns="">
>>            <value>X</value>
>>          </data>
>>        </xforms:instance>
>>      </xforms:model>
>>    </head>
>>    <body>
>>      <div>
>>        <p>
>>        This testcase test whether an output with a value attribute 
>> sets the
>>        correct context for its children (the label). The context should
>> be its
>>        parent's context.
>>      </p>
>>        <p>
>>        I believe the following should display "X X Y":
>>      </p>
>>        <xforms:group ref="value">
>>          <xforms:output ref="."/>
>>          <xforms:output value="'Y'">
>>            <xforms:label ref="."/>
>>          </xforms:output>
>>        </xforms:group>
>>      </div>
>>    </body>
>> </html>
>> Thanks for any guidance,
>> --Aaron
Received on Wednesday, 4 April 2007 01:21:15 UTC

This archive was generated by hypermail 2.3.1 : Tuesday, 6 January 2015 21:36:20 UTC