XSL 1.0如果不愿意



我正在使用XSL创建PDF文档模板,并且不希望某些字段显示如果行值为零。

我尝试了

<xsl:if test="line_value != 0">
<xsl:with-param name="value" select="unit_quantity"/>
</xsl:if>

但这不起作用。我认为,因为line_value的格式为0.00英镑。

我试图让它做line_value NOT LIKE '£0.00',但我认为这不是XSL的正确语法。

我假设下面是您的XML:

输入:

<?xml version="1.0" encoding="utf-8" ?>
<body>
    <line_value>£0.00</line_value>
    <line_value>£1.00</line_value>
    <line_value>£0.00</line_value>
    <line_value>£2.00</line_value>
    <line_value>£0.00</line_value>
    <line_value>£5.00</line_value>
    <line_value>£0.00</line_value>
    <line_value>£1.00</line_value>
</body>

XSLT:

<?xml version="1.0" encoding="UTF-8"?>
<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
    xmlns:xs="http://www.w3.org/2001/XMLSchema" exclude-result-prefixes="xs" version="1.0">
    <xsl:output method="xml" indent="yes"/>
    <xsl:template match="/">
        <root>
            <xsl:for-each select="body/line_value">
                <xsl:if test="number(translate(., '£', '')) != 0">
                    <num>
                        <xsl:value-of select="."/>
                    </num>
                </xsl:if>
            </xsl:for-each>
        </root>
    </xsl:template>
</xsl:stylesheet>

相关内容

  • 没有找到相关文章

最新更新