- From: Steven Pemberton <steven.pemberton@cwi.nl>
- Date: Wed, 06 Jun 2018 12:27:18 +0200
- To: "public-xformsusers@w3.org" <public-xformsusers@w3.org>, "Philip Fennell" <Philip.Fennell@marklogic.com>
On Wed, 06 Jun 2018 12:21:15 +0200, Philip Fennell
<Philip.Fennell@marklogic.com> wrote:
> Steven,
>
> By the statement, 'this node is used to initialise the textually first
> instance in the embedded form', do you mean the first instance, in
> document order, in the embedded form?
Yes.
Steven
>
>
> Regards
>
> Philip
>
>
>
> On 05/06/2018, 10:34, "Steven Pemberton" <steven.pemberton@cwi.nl>
> wrote:
>
> OK, here is a strawman proposal for embedded XForms, presented as a
> piece
> of spec text.
> It works by passing values to initialise an instance, and the embedded
> form returns values using a submission with method="xforms-return".
> Steven
> =====
> The control element
> This element embeds an XForm in the current form.
> Common Attributes: Control Common
> Special attributes:
> resource
> Required URL of a resource containing an XForm. This form will be
> embedded within the current form.
> initial
> Optional single node expression. The value of this node is used
> to
> initialise the textually first instance in the embedded form, in the
> same
> way as a <submit replace="instance"/> would work. If absent, no
> values are
> passed to the embedded form.
> ref (also bind)
> Optional single node binding that indicates the target node to
> receive
> submissions from the embedded form that use the method
> 'xforms-return'. It
> may be the same node as that used in the 'initial' attribute. If
> absent,
> no values are returned from the embedded form (even if it uses
> submissions
> using 'xforms-return' [which may cause an xforms error of some
> sort]).
> [For the submission element, there is a new method 'xforms-return'
> that
> returns the values]
> [There is an action <renew control="id"/> that causes the initial
> values
> reference to be copied to the embedded instance again]
> Examples
> <control resource="today.xhtml" label="Today's date:"/>
> ---
> today.xhtml:
> <output value="now()"/>
> ====
> <instance id="values">
> <data xmlns="">
> <a>1</a>
> <b>2</b>
> <sum/>
> </data>
> </instance>
> ...
> <control ref="instance('values')" resource="add.xhtml"
> initial="instance('values')"/>
> <output ref="sum"/>
> ---
> In the subform
> <instance>
> <values xmlns=""/>
> </instance>
> <bind ref="sum" calculate="../a + ../b"/>
> <submission method="xforms-return"/>
> ====
> <instance>
> <data xmlns="">
> <testfile>test.xml</testfile>
> </data>
> </instance
> <instance id="results"/>
> ...
> <control ref="instance('results')" resource="{testfile}"/>
> ---
> In test.xml
> <instance>
> <data xmlns="">
> <values>...</values>
> <results>
> <percent/>
> <success/>
> <failure/>
> </data>
> </instance
> ...
> <submission ref="results" method="xforms-return"/>
> ===
> <instance>
> <testsuite xmlns="">
> <test>
> <filename>boolean-from-string.xml</filename>
> <tests>
> <test res="" req="true">1</test>
> <test res="" req="false">0</test>
> </tests>
> <result/>
> </test>
> <test>
> ...
> </test>
> </testsuite>
> </instance>
> <repeat ref="testsuite/test">
> <control resource="{filename}" initial="tests" ref="result"/>
> </repeat>
> ---
> in the subform
> <model>
> <instance>
> <tests xmlns=""/>
> </instance>
> <instance id="result">
> <result xmlns="">
> <percent/>
> </result>
> </instance>
> ...
> <submission ref="instance('result')" method="xforms-return"/>
> ===
> <instance>
> <locations xmlns="">
> <here x="3498234" y="8734503"/>
> <home x="" y=""/>
> <dest x="" y=""/>
> </locations>
> </instance>
> ...
> <control ref="home" resource="map.xf" initial="here" label="Please
> locate
> your home location"/>
> <control ref="dest" resource="map.xf" initial="here" label="Please
> locate
> your destination"/>
> ===
> <select1 ref="game" label="select a game to play">
> <item label="minesweeper">minesweeper.xml</item>
> <item label="slider">slider.xml</item>
> <item label="noughts and crosses">xox.xml</item>
> </select1>
> <control resource="{game}"/>
> ===
Received on Wednesday, 6 June 2018 10:27:49 UTC