Xml XSLT,获取最频繁的元素,而不是第一个元素
所以我有一个XML文件,我试图找到,对于一些元素,引用中的每个属性,最常见元素的值 现在,我的理解是,下面的代码应该按值计数对值进行排序,然后选择排序节点的第一个元素。这不是出于某种原因。它只选择未排序变量的第一个子/元素值 所以,一定有什么明显的不对劲……但几个小时后,我仍然心碎,因为我可能无法弄清楚这一点 有谁能告诉我正确的方向吗Xml XSLT,获取最频繁的元素,而不是第一个元素,xml,xslt,Xml,Xslt,所以我有一个XML文件,我试图找到,对于一些元素,引用中的每个属性,最常见元素的值 现在,我的理解是,下面的代码应该按值计数对值进行排序,然后选择排序节点的第一个元素。这不是出于某种原因。它只选择未排序变量的第一个子/元素值 所以,一定有什么明显的不对劲……但几个小时后,我仍然心碎,因为我可能无法弄清楚这一点 有谁能告诉我正确的方向吗 <?xml version="1.0" encoding="ISO-8859-1"?> <xsl:sty
<?xml version="1.0" encoding="ISO-8859-1"?>
<xsl:stylesheet version="2.0"
xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
<xsl:template match="/">
<html>
<body style="font-family:Arial;font-size:12pt;background-color:#EEEEEE">
<h1>bgy summary</h1>
<h2>jal articles</h2>
<ul>
<li>Number of jal articles</li>
<dd>
<xsl:value-of select="count(bgy/reference[@refType='jal'])"/>
</dd>
<li>Most frequent jal</li>
<dd>
<xsl:for-each select="bgy/reference[@refType='jal']">
<xsl:sort select="count(jal)"
data-type="number"
order="descending"/>
<xsl:if test="position() = 1">
<xsl:value-of select="jal"/>
</xsl:if>
</xsl:for-each>
</dd>
<li>Most frequent per</li>
<dd>
<xsl:for-each select="bgy/reference[@refType='jal']">
<xsl:sort select="count(per)"
data-type="number"
order="descending"/>
<xsl:if test="position() = 1">
<xsl:value-of select="per"/>
</xsl:if>
</xsl:for-each>
</dd>
</ul>
</body>
</html>
</xsl:template>
</xsl:stylesheet>
我期望的产出:
bgy summary
jal articles
Number of jal articles
3
Most frequent jal
jal-p
Most frequent per
ACM
这听起来像是要按jal对元素进行分组,例如,
我们需要查看XML输入的模式或一个小但有代表性的示例,以判断XPath表达式是否有意义。这对@MartinHonnen有帮助吗?听起来你好像知道什么了。然而,在网上w3schools资源上尝试上述内容进行快速测试,却没有得到回应。意思是有些东西偏离了标准。@Uvar,如果问题的代码是xsl:stylesheet version=“2.0”
,我肯定会在答案中使用XSLT 2。如果你告诉我你希望w3schools运行XSLT 2代码,很抱歉,但是使用XSLT 2处理器,比如Saxon 9或10,或者Saxon JS 2,或者像xsltransform.net或xsltfiddle.liberty-development.net,来测试和运行XSLT 2。这只是为了说明我在这里的深度有多深。如果您也有耐心介绍XSLT 1解决方案,我将非常感激,但我意识到,如果我的声明和我能够验证的内容不匹配,那么这个问题就不合适了;如果我想在合适的环境下做任何事情,我需要更多的教育。非常感谢你的帮助,马丁!
bgy summary
jal articles
Number of jal articles
3
Most frequent jal
jal-q
Most frequent per
Springer
bgy summary
jal articles
Number of jal articles
3
Most frequent jal
jal-p
Most frequent per
ACM