在示例here之后,我成功地使用一列作为值将行显示到列中>
但是我无法找到一种方法来显示两个值,而不是为拆分的每一列显示一个值,我已经尽力了,但是我能得到的最接近的结果是模板将显示所有行的第一列我连续进行拆分,然后它将连续显示所有列的第二列值。
这是我的RTF外观:
这是我的XML外观:
<DATA_DS> <ASSETS_DS> <COMP_DESC>ABC</COMP_DESC> <ASTS>111</ASTS> <ASTS_ERC>1.2</ASTS_REC> <LONS>222</LONS> <LONS_ERC>2.2</LONS_REC> </ASSETS_DS> <ASSETS_DS> <COMP_DESC>EFG</COMP_DESC> <ASTS>333</ASTS> <ASTS_ERC>3.1</ASTS_REC> <LONS>444</LONS> <LONS_ERC>4.1</LONS_REC> </ASSETS_DS> </DATA_DS>
这是我想要的输出:
这是当前输出:
但是由于我试图合并公司名称的描述列以将价值和百分比显示在一起,所以显示狭窄,如第一幅图所示>]
因此,有没有一种方法可以将Value和Percentage列彼此相邻显示?
我按照下面的示例使用一列作为值成功地将我的行显示为列,但是我无法找到一种方法来显示两个值,而不是为我分割的每一列显示一个值,...
尝试一下:
<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
<xsl:template match="DATA_DS">
<html>
<body>
<table border="1">
<tr>
<xsl:for-each select="ASSETS_DS">
<td> </td><td><xsl:value-of select="COMP_DESC"/></td>
</xsl:for-each>
</tr>
<tr>
<xsl:for-each select="ASSETS_DS">
<xsl:if test="position()=1"><td> </td></xsl:if><td><xsl:value-of select="'value'"/></td><td><xsl:value-of select="'Percentage'"/></td>
</xsl:for-each>
</tr>
<tr>
<xsl:for-each select="ASSETS_DS">
<xsl:if test="position()=1"><td>Assets</td></xsl:if><td><xsl:value-of select="ASTS"/></td><td><xsl:value-of select="ASTS_REC"/></td>
</xsl:for-each>
</tr>
<tr>
<xsl:for-each select="ASSETS_DS">
<xsl:if test="position()=1"><td>Loans</td></xsl:if><td><xsl:value-of select="LONS"/></td><td><xsl:value-of select="LONS_REC"/></td>
</xsl:for-each>
</tr>
</table>
</body>
</html>
</xsl:template>
</xsl:stylesheet>