我需要在使用XForms編輯XML文檔時驗證條件。XForms - 對節點集的約束
完整的示例網頁包含在下面。
我想驗證兩件事情
- 值內的「V」元素是整數
- V的每個值大於「最大」元素中值較小(因此樣本文件不應通過驗證,因爲裏面的值/ DOC /價值/ REC [3] 4,大於3的內部/ DOC /最大
我不知道如何設置XF的屬性:綁定 使用此:
<xf:bind id="bindv"
nodeset="instance('i1')/values/rec/v"
type="integer" />
和
<xf:input bind="bindv">
導致該XF:輸入僅編輯第一 'V'。
<html xmlns="http://www.w3.org/1999/xhtml"
xmlns:ev="http://www.w3.org/2001/xml-events"
xmlns:xf="http://www.w3.org/2002/xforms">
<head>
<xf:model>
<xf:instance xmlns="" id="i1">
<doc>
<max>3</max>
<values>
<rec>
<v>1</v>
</rec>
<rec>
<v>2</v>
</rec>
<rec>
<v>4</v>
</rec>
</values>
</doc>
</xf:instance>
</xf:model>
</head>
<body>
<div>
<table>
<thead>
<th>Value</th>
</thead>
<tbody id="values-repeat"
xf:repeat-nodeset="instance('i1')/values/rec">
<tr>
<td>
<xf:output ref="v" />
</td>
</tr>
</tbody>
</table>
<xf:group ref="instance('i1')/values/rec[index('values-repeat')]"
appearance="full">
<xf:input bind="bindv">
<xf:label>v:</xf:label>
</xf:input>
</xf:group>
</div>
</body>
</html>
謝謝邁克爾,我不知道xf:bind中的約束適用於輸入,即使輸入聲明爲ref =「...」而不是bind =「...」。 –