xslt-需要元素集中的最大值,不包括默认值(9999999)

xslt-需要元素集中的最大值,不包括默认值(9999999),xslt,Xslt,给定简单的xml snipet <workers> <worker> <name>Fred</name> <dob>19410501</dob> </worker> <worker> <name>Fred</name> <dob>19410501</dob> </worker> <wo

给定简单的xml snipet

<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>