第一次做这样的事情,我知道它的基本知识,但我有一个包含各种新闻故事的XML文件,每个都有一个ID,它随着故事的添加而增加。
我正在尝试根据降序ID输出最近的三个故事。
这个XSLT有什么问题?
提前感谢
<?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> 发布于 2021-02-17 02:19:21
如果需要xsl:sort,请将xsl:for-each的其他内容包装到<xsl:if test="position() < 4">...</xsl:if>中,以便在排序后只处理前三个元素。
https://stackoverflow.com/questions/66229822
复制相似问题