我的道歉提前如果我不問這個很正確..它是難以言喻什麼,我問..XForms和爲同一型號標記多個輸入
我有XForms模型,如:
<file>
<criteria>
<criterion></criterion>
</criteria>
</file>
我想要有多個輸入文本框創建一個新的標準標籤。
用戶界面,如:
<xf:input ref="/file/criteria/criterion" model="select_data">
<xf:label>Select</xf:label>
</xf:input>
<xf:input ref="/file/criteria/criterion" model="select_data">
<xf:label>Select</xf:label>
</xf:input>
<xf:input ref="/file/criteria/criterion" model="select_data">
<xf:label>Select</xf:label>
</xf:input>
而且我想XML輸出看起來像這樣(一旦用戶在信息進入):
<file>
<criteria>
<criterion>AAA</criterion>
<criterion>BBB</criterion>
<criterion>CCC</criterion>
</criteria>
</file>
的方式我有沒有關係」因爲它看到3個輸入字段都指向相同的標準標籤。我如何區分?
謝謝!我希望這是有道理的!
初開始編輯
感謝的基本文本框的答覆!
但是,我現在需要用listbox來做到這一點。但對於我的生活,我無法弄清楚如何。我在某處閱讀xforms:select和deselect events ..但我不知道將它們放在哪裏,我嘗試的地方給了我非常奇怪的行爲。
我目前正在執行以下事項:
<xf:select ref="instance('criteria_data')/criteria/criterion" selection="" appearance="compact" >
<xf:label>Choose criteria</xf:label>
<xf:itemset nodeset="instance('criteria_choices')/choice">
<xf:label ref="@label"></xf:label>
<xf:value ref="."></xf:value>
</xf:itemset>
</xf:select>
然而當多個選擇提交,所有選擇值插入到同一節點,用空格隔開。
例如:
如果AAA和BBB和FFF從列表框中選擇,這將導致以下XML:
<criterion>AAA BBB FFF</criterion>
如何更改我的代碼,讓每一個選擇是在單獨的節點?
即我希望它看起來像這樣:
<criterion>AAA</criterion>
<criterion>BBB</criterion>
<criterion>FFF</criterion>
謝謝!
END第一編輯
BEGIN SECOND編輯:
對於列表框(即XF:選擇外觀= 「緊湊」) 我結束了允許的空間在同一節點中發生然後使用xsl轉換該xml以生成格式正確的新xml文檔(具有單獨的單獨節點)。不幸的是,我沒有找到一個不太麻煩的解決方案,將它們原本插入單獨的節點。
但是,所選答案對於文本框非常適用,因此我選擇它作爲答案。
END第二個編輯
謝謝!這對我的文本框非常有效。 我假設我可以做一些類似的組合框然後呢? (即從組合框中選擇多個事物,並將它們變爲新的標準)。 – developer 2010-05-25 20:24:10
@iHeartGreek,是的。你可以在''裏面找到任何你想要的東西。 –
avernet
2010-05-25 21:33:06
我試過這個解決方案使用列表框(使用xforms:select),但我無法弄清楚。我還讀到,我應該使用xforms:select和deselect事件,但我只是有奇怪的行爲。 (看我上面的編輯我的新問題的更多上下文) – developer 2010-05-27 19:58:21