我创建了一个自定义xslt样式以在我的网站上显示新闻。我的问题是,我的一些新闻有一个横幅,有些没有。那么如何通过使用XSLT来确定如何使用横幅显示新闻或者如果没有横幅广告则不显示新闻?
我知道哪个字段包含横幅网址。所以我可以想象我必须遍历我的新闻,然后通过某种if语句的返回值加载显示表单,该语句检查新闻是否有横幅。
我是XSLT的新手,所以我该怎么做?任何帮助都是适当的。
答案 0 :(得分:1)
我认为你可以使用这样的东西:
<xsl:choose>
<xsl:when test="not(empty(imageurlfield))">
<!-- Display with image here -->
</xsl:when>
<xsl:otherwise>
<!-- Display without image here -->
</xsl:otherwise>
</xsl:choose>
答案 1 :(得分:0)
您可以使用xsl:if标记来测试某些xpath存在:
<xsl:if test="./@banner">
<p class="banner"><xsl:value-of select="./@banner" /></p>
</xsl:if>
答案 2 :(得分:0)
只需指定两个模板,一个用于带有横幅的新闻项目,另一个用于没有。
<xsl:template match="newsitem[banner]">
<!-- pattern for news items with a banner -->
</xsl:template>
<xsl:template match="newsitem">
<!-- pattern for news items without a banner -->
</xsl:template>
上面的示例假设新闻项目包含在名为newsitem
的元素中,子元素banner
包含有关横幅的数据(如果有)。此处的第二个模板取代了包含newsitem
子项的banner
元素的第一个模板。