需要XSLT样式表空配对标记,而不是空值的自关闭标记

时间:2013-11-11 08:44:45

标签: xslt

我有一个有时有价值的输入,有时却没有。像value1 = ABC或value1 =“”

在我的xsl转换期间,我的代码包含以下行

<element name="test"><xsl:value-of select="$value1"/><element>

当存在值时,上述代码的输出是

<element name="test">ABC</element>

当该值不存在时,输出为

<element name="test"/>

现在,我希望它看起来像

<element name="test"></element>

而不是

<element name="test"/>

是否可以获得所需的输出? 如果是,那该怎么办?

1 个答案:

答案 0 :(得分:1)

尝试添加<xsl:output method="html"/>

示例...

XSLT 1.0

<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
    <xsl:output method="html"/>
    <xsl:strip-space elements="*"/>

    <xsl:template match="/">
        <xsl:variable name="test1"/>
        <xsl:variable name="test2" select="'value'"/>
        <element name="test1"><xsl:value-of select="$test1"/></element>
        <element name="test2"><xsl:value-of select="$test2"/></element>
    </xsl:template>

</xsl:stylesheet>

生成(当应用于任何XML实例时):

<element name="test1"></element>
<element name="test2">value</element>