XForms/範圍繫結
外觀
< XForms
您的輸出可以從許多輸入的計算中建立。這些計算背後的規則(有時稱為業務規則)應儲存在模型中,而不是檢視中。
此程式有兩個輸入和一個輸出。輸出是透過將兩個輸入相乘來計算的。當您移動範圍控制元件時,輸出應更新。

<html xmlns="http://www.w3.org/1999/xhtml"
xmlns:xf="http://www.w3.org/2002/xforms"
xmlns:ev="http://www.w3.org/2001/xml-events"
xmlns:xs="http://www.w3.org/2001/XMLSchema">
<head>
<title>Example of binding to inputs and output ids</title>
<xf:model id="model">
<xf:instance id="input">
<Data xmlns="">
<InputValueOne>3</InputValueOne>
<InputValueTwo>3</InputValueTwo>
</Data>
</xf:instance>
<!-- make the inputs data types be integers -->
<xf:bind id="input-one-bind" nodeset="/Data/InputValueOne" type="xs:integer"/>
<xf:bind id="input-two-bind" nodeset="/Data/InputValueTwo" type="xs:integer"/>
<!-- second instance bound to outputs -->
<xf:instance id="output">
<DataOut xmlns="">
<OutputValue>9</OutputValue>
</DataOut>
</xf:instance>
<!-- Make the output be an integer that is the product of the inputs -->
<xf:bind id="output-bind" nodeset="instance('output')/OutputValue" calculate="instance('input')/InputValueOne * instance('input')/InputValueTwo" type="xs:integer"/>
</xf:model>
</head>
<body>
<p>
<xf:range bind="input-one-bind" start="1" end="5" step="1" incremental="true">
<xf:label>Input: </xf:label>
</xf:range>
<br/>
<xf:range bind="input-two-bind" start="1" end="5" step="1" incremental="true">
<xf:label>Input: </xf:label>
</xf:range>
<br/>
<xf:output bind="input-one-bind"/> * <xf:output bind="input-two-bind"/> =
<xf:output bind="output-bind"/>
</p>
</body>
</html>
請注意,輸出只是輸入和輸出。將兩個輸入相乘的計算是在輸出繫結語句中完成的。
<xf:bind id="output-bind"
nodeset="instance('output')/OutputValue"
calculate="instance('input')/InputValueOne *
instance('input')/InputValueTwo"
type="xs:integer"/>