在我的XML中有多個節點, CAT1,CAT2,CAT3,...,CAT(N)。我想顯示它們的值,但它是動態的,並基於NUMOFCATS。嘗試訪問每個中的多個節點
爲,我想
for(i=0;i<NUMOFCATS;i++){
String string = CAT;
append the value of i to string; //so if i=0 then string=CAT0
<xsl:value-of select="$string" />
}
所以那麼結果將顯示
CAT0
CAT1
...
CAT(NUMOFCATS)
編輯的值的一些僞代碼:加入一些示例XML
<root>
<BIRD>ignore</BIRD>
<CAT1>fluffy</CAT1>
<CAT2>snuggles</CAT2>
<NUMOFPETS>2</NUMOFPETS>
<DOG1>wolfy</DOG1>
<DOG2>puppy</DOG2>
</root>
XSLT
<xsl:for-each select="root/*">
<fo:table-row height="8pt">
<fo:table-cell border-color="black" border-width="1pt"
border-style="solid">
<fo:block text-indent="5pt">
<xsl:if test="substring(local-name(),1,3) = 'CAT'">
<fo:inline color="red">
<xsl:value-of select="." />
</fo:inline>
</xsl:if>
</fo:block>
</fo:table-cell>
<fo:table-cell border-color="black" border-width="1pt"
border-style="solid">
<fo:block text-indent="5pt">
<xsl:if test="substring(local-name(),1,3) = 'DOG'">
<fo:inline color="red">
<xsl:value-of select="." />
</fo:inline>
</xsl:if>
</fo:block>
</fo:table-cell>
</fo:table-row>
</xsl:for-each>
結果 一個表
fluffy wolfy
snuggles puppy
和IM使用XSLT 1.0
編輯:試圖澄清我的問題比較好,對不起,我通常是壞在問問題。
在此先感謝您的幫助。
也請出示您所期望的輸出(_actual_輸出,因爲這個樣本文件是輸入)。謝謝。 –
你的問題不清楚。請提供一個輸入和預期輸出的例子,並解釋轉換背後的邏輯。 ---同樣說明如果使用XSLT 1.0或2.0。 –