XForms/增量多对一
外观
< XForms
有时一个输入字段将用于创建新的输出。不仅需要更新输入字段,而且依赖于此输入的其他字段也需要更改。
这是一个具有三个输入字段的示例程序。例如,它使用数据字典条目(称为数据元素)。数据元素的名称是三个字段的串联:对象类名称、属性名称和表示项。前两个是文本字段,第三个是从列表中选择的。
此表单根据输入字段的值创建一个单一输出。这表明模型可以采用许多不同的输入并创建一个单一输出。
<html
xmlns="http://www.w3.org/1999/xhtml"
xmlns:xf="http://www.w3.org/2002/xforms">
<head>
<title>Many to one</title>
<xf:model>
<xf:instance xmlns="">
<DataElement>
<ObjectClassName />
<PropertyName />
<RepresentationTerm />
</DataElement>
</xf:instance>
</xf:model>
</head>
<body>
<xf:group nodeset="/DataElement">
<fieldset>
<legend>Data Element Name</legend>
<xf:label>DataElementName: </xf:label>
<xf:output value="concat(ObjectClassName, ' ', PropertyName, ' ', RepresentationTerm)"/>
<p>
<xf:input ref="ObjectClassName" incremental="true">
<xf:label>Object Name:</xf:label>
</xf:input>
</p>
<p>
<xf:input ref="PropertyName" incremental="true">
<xf:label>Property Name:</xf:label>
</xf:input>
</p>
<p>
<xf:select1 ref="RepresentationTerm" incremental="true">
<xf:label>Representation Term:</xf:label>
<xf:item>
<xf:label>Amount</xf:label>
<xf:value>Amount</xf:value>
</xf:item>
<xf:item>
<xf:label>Code</xf:label>
<xf:value>Code</xf:value>
</xf:item>
<xf:item>
<xf:label>Count</xf:label>
<xf:value>Count</xf:value>
</xf:item>
<xf:item>
<xf:label>ID</xf:label>
<xf:value>ID</xf:value>
</xf:item>
<xf:item>
<xf:label>Indicator</xf:label>
<xf:value>Indicator</xf:value>
</xf:item>
<xf:item>
<xf:label>Name</xf:label>
<xf:value>Name</xf:value>
</xf:item>
<xf:item>
<xf:label>Percent</xf:label>
<xf:value>Percent</xf:value>
</xf:item>
<xf:item>
<xf:label>Text</xf:label>
<xf:value>Text</xf:value>
</xf:item>
</xf:select1>
</p>
</fieldset>
</xf:group>
</body>
</html>
那么如何将该输出放回模型中?这将在本教程的后面部分介绍。