XSLT + XML -过滤结果



第一次做这样的事情,我知道它是基本的,但是我有一个包含各种新闻故事的XML文件,每个故事都有一个ID,随着故事的添加而增加。

我正在尝试根据降序id输出最近的三个故事。

这个XSLT有什么问题?

Thanks in advance

<?xml version="1.0" encoding="UTF-8"?>
<html xsl:version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
<body>
<xsl:for-each select="items/item">
<xsl:sort select="id" data-type="number" order="descending" />
<xsl:variable name="image"><xsl:value-of select="image"/></xsl:variable>
<xsl:variable name="pagelink"><xsl:value-of select="link"/></xsl:variable>
<xsl:variable name="blogtitle"><xsl:value-of select="title"/></xsl:variable>            
<div class="col-md-4 mb-4 mb-md-0 float-left" >                                 
<div class="card border-0 box-shadow-4">
<div class="card-img-top position-relative overlay">                        
<img src="control/blog/{$image}" class="img-fluid" alt="{$blogtitle}" />
</div>
<div class="card-body p-4">
<p class="font-weight-semibold text-2 text-color-hover-primary mb-0" ><xsl:value-of select="date"/></p>
<h4 class="font-weight-semibold text-5 text-color-primary mb-2"><xsl:value-of select="title"/></h4>
<div style="height:100px;">
<p class="text-3"><xsl:value-of select="intro"/></p>
</div>
<a href="/blog/{$pagelink}" class="btn btn-modern text-2 btn-primary border-0 mt-4">View</a>
</div>
</div>              
</div>                  
</xsl:for-each>

</body>
</html> 

如果需要xsl:sort,则将xsl:for-each的其他内容打包到<xsl:if test="position() &lt; 4">...</xsl:if>中,排序后只处理前三个元素

相关内容

  • 没有找到相关文章

最新更新