Re: disabled controls bindset failure

  In betterForm I get this error (after switching ' to " and vice-versa)

xforms-binding-exception: property 'relevant' already present at model item
*URL: *http://127.0.0.1:8080/betterform-trunk/forms/e-letter.xhtml
*Element causing Exception:*/html[1]/head[1]/xf:model[1]/xf:bind[2]
*
*This is not allowed according to the spec and an error should be 
thrown... Personally I always have 2 different XForms processors 
(BetterFORM and Orbeon, but I always use the former)  that I use to 
check if I'm wrong or the engine.

So if Mozilla XForms does not complain, it is in violation of the spec 
(see point 2 in http://www.w3.org/TR/xforms11/#evt-rebuild)

It can be solved by changing it to one bind:

<xf:bind nodeset="stage" relevant="../purpose='ewbrl' or 
../purpose='nibrf'" />

Cheers,

Ronald

Op 31-08-10 10:23, e-letter schreef:
> Readers,
>
> According to the document 'xforms for authors part 1', it is possible
> to disable control elements depending on values selected by the user.
> I have tried the following:
>
> <?xml version='1.0' encoding='UTF-8'?>
> <!DOCTYPE html PUBLIC '-//W3C//DTD XHTML 1.0 Strict//EN'
> 'http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd'>
> <html xmlns='http://www.w3.org/1999/xhtml' xml:lang='en' lang='en'
> xmlns:xf='http://www.w3.org/2002/xforms'>
>          <head>
>                  <meta http-equiv='content-type' content='text/html;
> charset=UTF-8' />
>                  <style type='text/css' id='internalstylesheet'>
>                          code {text-color:black; background:white;
> font-family:verdana, sans-serif}
>                  </style>
>                  <xf:model>
>                          <xf:instance>
>                                  <generalinformation xmlns=''>
>                                          <purpose />
>                                          <stage />
>                                  </generalinformation>
>                          </xf:instance>
>                                  <bind nodeset='stage'
> relevant='../purpose="ewbrl"' />
>                                  <bind nodeset='stage'
> relevant='../purpose="nibrf"' />
>                          <xf:submission
>                                  resource='file:testsubmit.xml'
>                                  method='put'
>                                  id='gi'
>                          />
>                  </xf:model>
>                  <title>
>                  </title>
>          </head>
>          <body>
>                  <p>
>                          <xf:select1 appearance='minimal' ref='purpose'>
>                                  <xf:label>purpose of analysis
>                                  </xf:label>
>                                  <xf:item>
>                                          <xf:label>
>                                                  England and Wales
> Building Regulations part L
>                                          </xf:label>
>                                          <xf:value>ewbrl
>                                          </xf:value>
>                                  </xf:item>
>                                  <xf:item>
>                                          <xf:label>
>                                                  Scottish Building Regulations
>                                          </xf:label>
>                                          <xf:value>
>                                                  sbr
>                                          </xf:value>
>                                  </xf:item>
>                                  <xf:item>
>                                          <xf:label>
>                                                  Northern Ireland
> Building Regulations part F
>                                          </xf:label>
>                                          <xf:value>
>                                                  nibrf
>                                          </xf:value>
>                                  </xf:item>
>                          </xf:select1>
>                  </p>
>                  <p>
>                          <xf:select1 appearance='minimal' ref='stage'>
>                                  <!--should be disabled for purpose value sbr
>                                  -->
>                                  <xf:label>
>                                          Stage of analysis
>                                  </xf:label>
>                                  <xf:item>
>                                          <xf:label>
>                                                  As built
>                                          </xf:label>
>                                          <xf:value>
>                                                  asbuilt
>                                          </xf:value>
>                                  </xf:item>
>                                  <xf:item>
>                                          <xf:label>
>                                                  As designed
>                                          </xf:label>
>                                          <xf:value>
>                                                  asdesigned
>                                          </xf:value>
>                                  </xf:item>
>                          </xf:select1>
>                  </p>
>                  <xf:submit submission='gi'>
>                  <xf:label>
>                  Save
>                  </xf:label>
>                  </xf:submit>
>          </body>
> </html>
>
> The required behaviour is that when the user selects 'scottish...',
> the subsequent list menu should be greyed out, but in the browser
> (firefox 20020, xforms 86ff2), the list menu 'stage of analysis'
> continues to be visible. This form does not work with firefox 368,
> xforms 87. Any help please?
>

Received on Tuesday, 31 August 2010 09:26:30 UTC