首页 > 解决方案 > 列组的 RTF 动态数据列

问题描述

我成功地将我的行显示到列中,使用一列作为此处示例的值

但是我无法找到一种方法来为我拆分的每一列显示两个值而不是一个,我已经尽力了,但我能得到的最接近的是模板将显示我所有行的第一列连续拆分,然后它将连续显示所有列的第二列值。

这就是我的 RTF 的样子:

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>

这是我想要的输出:

期望的输出

这是当前的输出:

当前结果

但是由于我尝试合并公司名称的描述列以显示价值和百分比,所以显示局促,如第一张图所示

那么,有没有办法让价值和百分比列并排显示呢?

标签: xsltrtfdynamic-columnsword-template

解决方案


尝试这个:

<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>

推荐阅读