xsl样式表和空元素

时间:2012-10-24 15:43:04

标签: xslt

我需要在dublincore xml上应用xsl来转换

<dc:description> blahblah </dc:description>

之类的:

<descriptions>
 <description descriptionType="Abstract"> blahblah </description>
</descriptions>

我正在测试这个,但是如果元素是空的 我不想展示任何东西,而不是<descriptions/>

你应该怎么纠正这个?

       <xsl:if test="dc:description">
            <descriptions>
                <xsl:for-each select="dc:description">
                <xsl:variable name="description" select="."/>
                <xsl:if test="$description !=''">
                    <description descriptionType="Abstract">
                        <xsl:value-of select="."/>
                    </description>
                </xsl:if>
                </xsl:for-each>
            </descriptions>
        </xsl:if>

1 个答案:

答案 0 :(得分:0)

<xsl:if test="dc:description/text()">
只有当至少有一个非空dc:description时,

才应该为真。或者重复使用你在内部执行的相同测试if和say

<xsl:if test="dc:description != ''">

一个!=测试,如果集合中的任何节点,其中一侧是节点集,则该值为!=另一侧(这就是为什么有一个请注意,如果x和y中的任何一个或两个都是节点集,则x != y不一定与not(x = y)相同。