Столбцы динамических данных 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>

Это мой желаемый результат:

желаемый результат

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

текущий результат

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

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


person sameh.q    schedule 06.01.2020    source источник


Ответы (1)


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

<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>
person Rudramuni TP    schedule 06.01.2020
comment
Спасибо, похоже, это сработает, я работаю над тестированием, но это займет время, так как я никогда раньше не писал XSLT-документ. - person sameh.q; 08.01.2020