1、多级菜单
XForms 的现有实现还不支持这种特性,但是它已经存在于语言之中,当完成后将在产品实现中得到支持。不过目前要实现这一点,您可以使用 Choices 编写表单:
...
<xforms:select ref="order/belt/colors" appearance="compact">
<xforms:label>Choose up to four colors</xforms:label>
<xforms:choices>
<xforms:label>Primary Colors</xforms:label>
<xforms:item>
<xforms:label>Red</xforms:label>
<xforms:value>R</xforms:value>
</xforms:item>。。。
</xforms:choices>
<xforms:choices> //二级子菜单
<xforms:label>Secondary Colors</xforms:label>
</xforms:choices>
2、范围(Range)
XForms 中一个全新的控件是
range
,它提供一个在标尺上的滚动块让用户移动来决定一个值。每个range
控件都包括最大值(end
)、起始值(start
)和stepsize
(或者刻度上应该增加的点数)。注意,用户可以提交不是stepsize
整倍数的值
<xforms:range end="100" ref="order/belt/percentages/color1"
start="0" stepsize="10">
<xforms:label>PercentageColor One</xforms:label>
</xforms:range>
<xforms:range end="100" ref="order/belt/percentages/color2"
start="0" stepsize="10">
<xforms:label>Percentage Color Two</xforms:label>
</xforms:range>
3、文件上传控件
XForms 提供了一个 upload 控件,自动把文件和二进制信息包括到提交的 XML 文档中。
<xforms:upload ref="order/belt/diagram">
<xforms:label>Sample Drawing</xforms:label>
</xforms:upload>
4、输出(Output)
XForms 一个很方便的特性是能够把表单中的信息直接显示在页面上。在 HTML 中,唯一真正可靠的(注意:“通过浏览器”)方式就是通过表单字段来实现,比如只读的文本框,而 XForms 允许把这些信息直接显示在页面上。output 也有
ref
属性。要输出的信息就是该属性中的 XPath 表达式所表示的值。
<xforms:output ref="order/ordertotal" />