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>
那麼如何將該輸出放回模型中?這將在本教程的後面部分介紹。