xslt-需要元素集中的最大值,不包括默认值(9999999)
给定简单的xml snipetxslt-需要元素集中的最大值,不包括默认值(9999999),xslt,Xslt,给定简单的xml snipet <workers> <worker> <name>Fred</name> <dob>19410501</dob> </worker> <worker> <name>Fred</name> <dob>19410501</dob> </worker> <wo
<workers>
<worker>
<name>Fred</name>
<dob>19410501</dob>
</worker>
<worker>
<name>Fred</name>
<dob>19410501</dob>
</worker>
<worker>
<name>Mary</name>
<dob>99999999</dob>
</worker>
<worker>
<name>Sam</name>
<dob>19361202</dob>
</worker>
</workers>
弗莱德
19410501
弗莱德
19410501
玛丽
99999999
山姆
19361202
我需要编写一些xslt,只生成最老的人名,不包括默认条目“99999999”。所以,玛丽拒绝给她DOB。。。。因此,我的报告需要查看其他工人,并提供最年长者的姓名。结果应该如下所示:
<html>
<body>
Sam
</body>
</html>
山姆
如果没有任何默认的DOB 9999999,我可以这样做。像这样
<xsl:for-each select="workers/worker">
<xsl:sort select="dob" data-type="number" order="descending" />
<xsl:if test="position() = 1">
<html>
<body>
<xsl:value-of select="name" />
</body>
</html>
</xsl:if>
</xsl:for-each>
然而,默认的DOB只会让我感到不适
有什么想法吗?我的XSLT有点生疏,但请尝试类似的方法。重要的一部分是为每个选择选择中没有9999999生日的所有员工
<xsl:for-each select="workers/worker[dob!='99999999']">
<xsl:sort select="dob" data-type="number" order="descending" />
<xsl:if test="position() = 1">
<html>
<body>
<xsl:value-of select="name" />
</body>
</html>
</xsl:if>
</xsl:for-each>