给出了简单的xml片段...
<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‘。所以,玛丽拒绝给她道布……因此,我的报告需要查看其他员工,并提供年龄最大的人的姓名。结果应如下所示:
<html>
<body>
Sam
</body>
</html>我可以这样做,如果我没有任何默认的道布99999999。像这样..。
<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>然而,默认的道布让我大吃一惊。
有什么想法吗?
发布于 2010-09-21 22:56:51
我的XSLT有点生疏了,但可以试试下面这样的。重要的部分是在for-each选择中选择所有生日不是99999999的员工。
<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>https://stackoverflow.com/questions/3761481
复制相似问题