server-side validation: relevance

I'm playing arround with validating xforms submission on the
server.... and this question came up.... How can I tell if something
was supposed to be relevant on submission?  Consider this simple
example.

<model>
    <instance>
        <things>
            <something />
            <else />
        </things>
    </instance>
    <bind nodeset="something" relevant="../else = 4" />
    <submission action="..." method="post" />
</model>

.... snip ...

<input ref="something"><label>Something</label></input>
<input ref="else"><label>Else</label></input>

And two possible (valid) submitted instances are:

<things>
    <something>blah</something>
    <else>4</else>
</things>


<things>
    <else>3</else>
</things>

(Pease excuse any errors... I haven't actually tested this one out :)

The idea is that "something" should only be relevant if the value of
'else' is 4.  The problem is that "../else = 4" is a relative xpath
expression whose context node is /things/something, which in the case
of the second submission is not present.  Therfore, I cannot evaluate
that xpath expression meaningfully (so it seems).

Any ideas?

Jay K

Received on Sunday, 12 February 2006 07:45:43 UTC