因此,這是過去幾天一直困擾着我的問題。這應該相當容易,但XSLT調試起來非常痛苦。我們使用的Xalan 1.0的Java 1.6嘗試使用可變元素名稱在XSLT中打印出節點值
輸入XML
<?xml version="1.0" encoding="UTF-8"?>
<rfb2>
<rfb2_item>
<VALDATE>2011-10-23</VALDATE>
<FUND_ID>300</FUND_ID>
<SEC_ID>34567</SEC_ID>
</rfb2_item>
<rfb2_item>
<VALDATE>2011-1-09</VALDATE>
<FUND_ID>700</FUND_ID>
<SEC_ID>13587</SEC_ID>
</rfb2_item>
<rfb2_item>
<VALDATE>2011-3-09</VALDATE>
<FUND_ID>200</FUND_ID>
<SEC_ID>999334</SEC_ID>
</rfb2_item>
<rfb2>
我們需要將XML轉換成一個逗號分隔每個rfb2_item值的列表,所以樣式表總是迭代的rfb2_item節點。我們使用的是參數在樣式表來控制其rfb2_item(valdate,fund_id,sec_id),將被輸出,以及以什麼順序的元素,例如
<xsl:param name="$outputElements" select="'VALDATE,FUND_ID'"/>
..outputs...
2011-10-23,300
2011-1-09,700
2011-3-09,200
<xsl:param name="$outputElements" select="'SEC_ID'"/>
..outputs...
34567
13587
999334
特殊情況下,如果$ outputElements爲「* 」,只輸出在它們出現在輸入XML
<xsl:param name="$outputElements" select="'*'"/>
..outputs...
2011-10-23,300,34567
2011-1-09,700,13587
2011-3-09,200,999334
所以順序的元素,我的問題是我們如何寫一個模板來創建基於$ outputElements參數所需的輸出?一個工作的例子將是偉大的...
你忘了問這個問題。除非你想讓某人爲你寫完整的xslt - 他們會這樣做。 – FailedDev