XML之week_14
Posted 在这喧嚣的世界
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了XML之week_14相关的知识,希望对你有一定的参考价值。
你也许试过这个:
<xsl:variable name="itemPrivate"
select="//item/@private[not(.=preceding:://item/@private)]" ></xsl:variable>
这个:
<xsl:variable name="itemPrivate"
select="//@private[not(.=preceding:://item/@private)]" ></xsl:variable>
或是:
<xsl:variable name="itemPrivate"
select="//@private[not(.=preceding:://@private)]" ></xsl:variable>
但是结果都是 “这里应有 NodeTest ”
经过不断试错。终于发现了正解。
如下:
<xsl:variable name="itemPrivate" select="//@private[not(.=preceding::item/@private)]" ></xsl:variable>
其实你离正解只有毫厘之差
再试一试,就出来了
最后附上第一题全代码:
<?xml version="1.0" encoding="UTF-8"?>
<xsl:stylesheet
version="1.0"
xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
xmlns="http://www.w3.org/TR/REC-html40">
<xsl:variable name="itemPrivate" select="//@private[not(.=preceding::item/@private)]" ></xsl:variable>
<xsl:template match="/">
<html>
<body>
<head>
</head>
<xsl:apply-templates select="list"/>
</body>
</html>
</xsl:template>
<xsl:template match="list">
<h1>AuctionCount</h1>
<table border="1">
<th>Private</th>
<TH>Count</TH>
<xsl:for-each select="$itemPrivate">
<xsl:variable name="this" select="." />
<xsl:variable name="count" select="count(//@private[.=current()])" />
<tr>
<td><xsl:value-of select="."/></td>
<TD><xsl:value-of select="$count" /></TD>
</tr>
</xsl:for-each>
</table>
</xsl:template>
</xsl:stylesheet>
时间有限,不是十分精简,还请见谅。
以上是关于XML之week_14的主要内容,如果未能解决你的问题,请参考以下文章