Как использовать xsl: template в средней позиции XSLT1.0? - PullRequest
0 голосов
/ 03 мая 2020

Я использую это в верхней части моего шаблона в моем XSLT1.0 для получения различных значений данных из xml.

полного кода: - https://www.dropbox.com/s/6jollabe8tbbd7j/code.xslt?dl=0 используйте этот чанк at: - строка № 745

И я должен использовать этот чанк в середине моего xslt, но как это сделать? Если я использую это, я получаю исключение как xsl: template не допускается в этой позиции в таблице стилей! Как решить, что Любое предложение ценится

<xsl:template match="COMBINED-PAYMENT-HISTORY">
    <xsl:variable name="items-rtf">
        <xsl:call-template name="tokenize">
            <xsl:with-param name="text" select="normalize-space(.)"/>
        </xsl:call-template>
    </xsl:variable>
    <xsl:variable name="items" select="exsl:node-set($items-rtf)/item" /> 
<table>
    <!-- month -->
    <tr>
        <xsl:for-each select="$items">
            <td>
                <xsl:value-of select="substring-before(., ':')" />
            </td>
        </xsl:for-each>
    </tr>
    <!-- year -->
    <tr>
        <xsl:for-each select="$items">

            <td>
                <xsl:value-of select="substring-before(substring-after(., ':'), ',')" />
            </td>
        </xsl:for-each>
    </tr>
    <!-- data -->
    <tr>
        <xsl:for-each select="$items">
            <td>
                <xsl:value-of select="substring-after(., ',')" />
            </td>
        </xsl:for-each>
    </tr>
</table>
</xsl:template>

<xsl:template name="tokenize">
    <xsl:param name="text" />
    <xsl:param name="delimiter" select="'|'" />
    <xsl:variable name="token" select="substring-before($text, $delimiter)" />
    <item>
        <xsl:value-of select="$token" />
    </item>
    <xsl:variable name="next" select="substring-after($text, $delimiter)" />
    <xsl:if test="$next">
        <!-- recursive call -->
        <xsl:call-template name="tokenize">
            <xsl:with-param name="text" select="$next" />
        </xsl:call-template>
    </xsl:if> 
</xsl:template>

</xsl:stylesheet>
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...