在使用 XForms 编辑 XML 文档时,我需要验证一个条件。
完整的示例网页如下所示。
我想验证两件事
- 'v' 元素内的值是整数
- v 的每个值都小于“max”元素内的值(因此示例文档不应通过验证,因为 /doc/values/rec[3] 内的值是 4,大于 /doc/max 内的 3。
我不知道如何设置 xf:bind 的属性使用这个:
<xf:bind id="bindv"
nodeset="instance('i1')/values/rec/v"
type="integer" />
和
<xf:input bind="bindv">
导致 xf:input 仅编辑第一个“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>