我無法找到將重複的節點值複製到另一個重複節點的好方法。在通用編程語言中,我的意思是說將一個數組的內容複製到另一個數組中。如何將重複的節點值複製到Orbeon中的另一個重複節點
<xforms:instance id="main-instance">
<contacts>
<contact>
<contact-id>111</contact-id>
<contact-name></contact-name>
<contact-location></contact-location>
</contact>
<contact>
<contact-id>222</contact-id>
<contact-name></contact-name>
<contact-location></contact-location>
</contact>
<contact>
<contact-id>333</contact-id>
<contact-name></contact-name>
<contact-location></contact-location>
</contact>
</contacts>
<alternate-contacts>
<contact>
<alt-contact-id></alt-contact-id>
<control-id></control-id>
<control-rules></control-rules>
<tranmission-method></tranmission-method>
</contact>
<contact>
<alt-contact-id></alt-contact-id>
<control-id></control-id>
<control-rules></control-rules>
<tranmission-method></tranmission-method>
</contact>
<contact>
<alt-contact-id></alt-contact-id>
<control-id></control-id>
<control-rules></control-rules>
<tranmission-method></tranmission-method>
</contact>
</alternate-contacts>
</xforms:instance>
當複選框被選中(事件開始動作),我應該第一contact-id
值複製到第1 alt-contact-id
等。
<xforms:action ev:event="xforms-value-changed">
//TO DO here
</xforms:action>
請提供你的想法
編輯:所以,當複選框被選中,在<alternate-contacts>
節點應該是這樣的
<alternate-contacts>
<contact>
<alt-contact-id>111</alt-contact-id>
<control-id></control-id>
<control-rules></control-rules>
<tranmission-method></tranmission-method>
</contact>
<contact>
<alt-contact-id>222</alt-contact-id>
<control-id></control-id>
<control-rules></control-rules>
<tranmission-method></tranmission-method>
</contact>
<contact>
<alt-contact-id>333</alt-contact-id>
<control-id></control-id>
<control-rules></control-rules>
<tranmission-method></tranmission-method>
</contact>
</alternate-contacts>
請問編輯問題並提供確切的通緝結果?我懷疑這是使用XSLT的微不足道的。你會考慮一個XSLT解決方案嗎? –
@Dimitre:對不起,我的inital xml節點名稱是錯誤的,我現在糾正了這個問題。謝謝 – Jayy
@DimitreNovatchev:我不確定是否可以在xforms中使用XSLT解決方案 – Jayy