我需要在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>
答案 0 :(得分:0)
<xsl:if test="dc:description/text()">
只有当至少有一个非空dc:description
时,才应该为真。或者重复使用你在内部执行的相同测试if和say
<xsl:if test="dc:description != ''">
一个!=
测试,如果集合中的任何节点,其中一侧是节点集,则该值为!=
另一侧(这就是为什么有一个请注意,如果x和y中的任何一个或两个都是节点集,则x != y
不一定与not(x = y)
相同。