动态替换字符串XSLT 1.0

时间:2016-03-14 05:37:33

标签: xml xslt-1.0

我正面临一个问题,我必须在循环中动态替换字符串。我必须将XML转换为HTML。

XML结构是:

<FUNCTION ID="XYZ" UNIT_TYPE="percent"/>   
    <STRING_LITERAL><![CDATA[1143]]></STRING_LITERAL>
    <STRING_LITERAL><![CDATA[1]]></STRING_LITERAL>                                               
    <STRING_LITERAL>NULL</STRING_LITERAL>
    <STRING_LITERAL>NULL</STRING_LITERAL>
    <STRING_LITERAL><![CDATA[Prepaid]]></STRING_LITERAL> 
    <STRING_LITERAL>NULL</STRING_LITERAL>
    <BOOLEAN>true</BOOLEAN>
    <BOOLEAN>true</BOOLEAN>
    <STRING_LITERAL>NULL</STRING_LITERAL>
    <STRING_LITERAL>NULL</STRING_LITERAL>
    <STRING_LITERAL>NULL</STRING_LITERAL>
    <STRING_LITERAL>NULL</STRING_LITERAL>
</FUNCTION>

预期的HTML输出是:

Scheme : 1143
Payout : 1
Deposit: Prepaid

Target : true
Is Reprotable : true

我在xslt 1.0 string replace function检查了解决方案,但在这种情况下我无法应用它。请帮忙。

1 个答案:

答案 0 :(得分:0)

我不清楚你要做什么。但是,从您发布的输入生成预期输出的非常简单的XSLT 1.0可能如下所示:

<?xml version="1.0" encoding="UTF-8"?>
<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
    <xsl:output encoding="UTF-8" method="html" indent="yes"/>
    <xsl:template match="/">
        <html>
            <head>
                <title>test</title>
            </head>
            <body>
                <xsl:apply-templates/>
            </body>
        </html>
    </xsl:template>
    <xsl:template match="FUNCTION">
        <p>
            <xsl:text>Scheme : </xsl:text>
            <xsl:value-of select="STRING_LITERAL[1]"/>
            <br/>
            <xsl:text>Payout : </xsl:text>
            <xsl:value-of select="STRING_LITERAL[2]"/>
            <br/>
            <xsl:text>Deposit : </xsl:text>
            <xsl:value-of select="STRING_LITERAL[5]"/>
        </p>
        <p>
            <xsl:text>Target : </xsl:text>
            <xsl:value-of select="BOOLEAN[1]"/>
            <br/>
            <xsl:text>Is Reprotable : </xsl:text>
            <xsl:value-of select="BOOLEAN[2]"/>
        </p>
    </xsl:template>
</xsl:stylesheet>