RTF Dynami c столбцы данных для группы столбцов - PullRequest
0 голосов
/ 06 января 2020

Мне удалось успешно отобразить строки в столбцы, используя один столбец в качестве значения, следующего примеру здесь

Но я не могу найти способ показать два значения вместо одного для каждого столбца, который я разделил, я старался изо всех сил, но самое близкое, что я могу получить, это то, что шаблон покажет первый столбец для всех строк, которые я разделяю последовательно, затем он покажет значение второго столбца для всех столбцов последовательно .

Вот так выглядит мой RTF:

RTF sample code

вот так мой 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>

Это мой желаемый вывод:

desired output

Это текущий вывод:

current result

Но из-за моих попыток объединить столбец Описание для названия компании в показать значение и процент вместе, как показано на первом рисунке

Итак, есть ли способ показать значение и процент с олонды рядом друг с другом?

1 Ответ

1 голос
/ 06 января 2020

Попробуйте это:

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