Specifies what XForms instance data is filtered for a particular signature. Filtering instances means keeping or omitting specific data from each data instance.
When instance data is omitted from a signature but the associated user interface elements are signed, the user can still enter data into those elements. Furthermore, the overlap and layout tests are not performed on those items. This leaves them free to change certain characteristics, such as size (for expanding tables or fields), to accommodate the user input. This facilitates signing the presentation layer of a form while leaving the actual data open to change.
<signinstance>
<filter>instance filter</filter>
<dataref1>
<model>model ID</model>
<ref>XPath</ref>
</dataref>
...
<datarefn>
...
</dataref>
</signinstance>
Parameter | Type | Description |
---|---|---|
instance filter | keep | include groups of cells in the group reference list with the signature |
omit | omit groups of cells in the group reference list from the signature; include those not in the list | |
model ID | string | The ID of the <xforms:model> that the contains the data you want to filter. Set to empty to default to the first model in the form. |
XPath | XPath | An XPath reference to the root node of
the data you want to filter. All children of this node are filtered
in the same manner. This reference is evaluated relative to the root node of the first instance in the model. |
button, signature
The following code shows an XForms model for a purchase order:
<xforms:model>
<xforms:instance id="po" xmlns="">
<po>
<order>
<row>
<product/>
<unitCost>0</unitCost>
<qty></qty>
<lineTotal></lineTotal>
</row>
</order>
<subtotal>0</subtotal>
<tax>0</tax>
<total>0</total>
</po>
</xforms:instance>
<xforms:instance id="temps" xmlns="">
<root>
<productCode/>
<submitting>false</submitting>
</root>
</xforms:instance>
</xforms:model>
In this case, you might want to omit the temporary information that is stored in the temps instance. To do this, you would use the following filter:
<signinstance>
<filter>omit</filter>
<dataref>
<model></model>
<ref>instance('temps')</ref>
</dataref>
</signinstance>