首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >xslt -需要元素集中的最大值,不包括默认值(99999999)

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

Stack Overflow用户
提问于 2010-09-21 22:46:37
回答 1查看 286关注 0票数 1

给出了简单的xml片段...

代码语言:javascript
复制
<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>

我需要写一些xslt,它只生成最老的人名,不包括默认条目'99999999‘。所以,玛丽拒绝给她道布……因此,我的报告需要查看其他员工,并提供年龄最大的人的姓名。结果应如下所示:

代码语言:javascript
复制
<html>
  <body>
    Sam
  </body>
</html>

我可以这样做,如果我没有任何默认的道布99999999。像这样..。

代码语言:javascript
复制
<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>

然而,默认的道布让我大吃一惊。

有什么想法吗?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2010-09-21 22:56:51

我的XSLT有点生疏了,但可以试试下面这样的。重要的部分是在for-each选择中选择所有生日不是99999999的员工。

代码语言:javascript
复制
<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>
票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/3761481

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档