0
我試圖寫一個XSL變換的輸入XML這樣的:XSL換每個節點比較嵌入結果集
<transaction>
<message messagetype='Type1'>
<param name='destination'>
<value>some location</value>
</param>
<param name='payload'>
<value>some message</value>
</param>
</message>
<embeddedTransaction>
<message messagetype='Type1'>
<param name='source'>
<value>Default source</value>
</param>
<param name='destination'>
<value>Default destination</value>
</param>
<param name='payload'>
<value>Default payload message</value>
</param>
<param name='response'/>
<param name='profile'/>
</message>
</embeddedTransaction>
</transaction>
上面的基本上是一個消息分組,與子節點中的數據<embeddedTransaction>
定義默認值,如果<param>
不是由頂級<message>
提供生成的XML後,我應該像這樣使用:
<transaction>
<message messagetype='Type1'>
<param name='source'>
<value>Default source</value>
</param>
<param name='destination'>
<value>some location</value>
</param>
<param name='payload'>
<value>some message</value>
</param>
<param name='response'/>
<param name='profile'/>
</message>
</transaction>
請注意<param name='source'>
如何被<embeddedTransaction>
中的<param name='source'>
替代,因爲它沒有在頂層提供。 與<param name='response'/>
和<param name='profile'/>
相同。
我一直試圖通過使用嵌套的for-each語句來循環,但xml的結構安裝的方式正在導致我的悲痛。 任何人都可以看到解決這個問題的方法嗎?