Re: Relevance based on ref in deselected case.

Hi Nick,

The answer is in 31.2, which rigorously defines non-relevance of atomic 
form controls like trigger.

The following describes what happens in the context of your use case 2 
below.

1) the trigger single-node binding is non-empty and indicates a relevant 
node.
2) the trigger either is non-relevant or becomes non-relevant due to the 
containing case being non-selected.
3) the change of some value causes the trigger single-node binding to be 
empty.
--> the trigger does not become non-relevant because it already is 
non-relevant, so it receives no events, but this is due to 31.2
4) toggle to the case containing the trigger
--> There should be no special code to force the trigger to become 
non-relevant because it already is non-relevant. 
--> You have only changed the reason why it is non-relevant, so the 
trigger does not receive another xforms-disabled event when the case is 
toggled.

Cheers,
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  http://www.ibm.com/software/

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





Nick_Van_den_Bleeken@inventivedesigners.com 
Sent by: www-forms-request@w3.org
01/24/2007 02:05 AM

To
www-forms@w3.org
cc

Subject
Relevance based on ref in deselected case.






Hi,

I have a question about the relevance of UI controls in relation with 
erratum 31.4 Non-Relevance and the switch Element 
(http://www.w3.org/2006/03/REC-xforms-20060314-errata.html#E31d).

Use case 1
1) If you have a trigger that has a ref, and is in a case with id 'a'.
2) assume that case 'a' is selected
3) change 'the' value of a control so that the result of the ref on the 
trigger becomes an empty nodeset
--> the trigger becomes non-relevant
This use case I understand and is easy to implement due to the fact that 
the trigger is dependant to the node in the instance data that changes and 

gets event informing him that a value has changed

Use case 2
1) If you have a trigger that has a ref, and is in a case with id 'a'.
2) assume that case 'a' is not selected and another case is selected
3) change 'the' value of a control so that the result of the ref on the 
trigger becomes an empty nodeset (the trigger gets no events due to 
erratum 31.4)
4) toggle to case 'a' 
--> should there be 'special' code that forces the trigger to become 
non-relevant? If so is it just in the processor or does the '
xforms-disabled' gets send to the control?What about other events?

Attached you can find a testcase that tests this 'issue', if the input 
contains '1' the trigger 'Optional trigger' becomes relevant, if it 
contains any other value the trigger becomes non-relevant.

Regards,

Nick Van den Bleeken  -  Research & Development
Inventive Designers
Phone: +32 - 3 - 8210170
Fax: +32 - 3 - 8210171
Email: Nick_Van_den_Bleeken@inventivedesigners.com



--------------------------------------------------

Inventive Designers' Email Disclaimer:

http://www.inventivedesigners.com/email-disclaimer

Received on Wednesday, 31 January 2007 01:02:29 UTC