列出错误列表
<?xml version="1.0"?>
<bugs>
<bug>
<status>todo</status>
<content> this is a todo bug </content>
</bug>
<bug>
<status>closed</status>
<content>this is a closed bug</content>
</bug>
<bug>
<status>new</status>
<content>this is a new bug</content>
</bug>
<bug>
<status>deferred</status>
<content>this is a deferred bug</content>
</bug>
<bug>
<status>todo</status>
<content>this is another todo bug</content>
</bug>
</bugs>
什么是XSLT会列出一组给定的&#34;活动&#34;错误和所有其他?
我能够构建&#34;活跃&#34;这个问题的一半,基于这里给出的优秀答案:XSLT: Using variables in a key function,这将是以下XSLT:
<?xml version="1.0"?>
<xsl:stylesheet version="1.0"
xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
xmlns:ext="http://exslt.org/common"
>
<xsl:output method="text"/>
<xsl:param name="pActive">
<!-- this is supposed to be the dynamic criteria -->
<a>todo</a>
<a>new</a>
</xsl:param>
<xsl:key name="kBugsByStatus" match="bug" use="normalize-space(status)"/>
<xsl:variable name="vActive" select="ext:node-set($pActive)/*"/>
<xsl:template match="/">
<xsl:text>Active bugs:
</xsl:text>
<xsl:apply-templates select="key('kBugsByStatus',$vActive)"/>
<xsl:text>Other bugs:
</xsl:text>
<!-- This is the question: -->
<xsl:apply-templates select="key('kBugsByStatus',???)"/>
</xsl:template>
<xsl:template match="bug">
<xsl:text>* </xsl:text>
<xsl:value-of select="normalize-space(content)"/>
<xsl:text>
</xsl:text>
</xsl:template>
</xsl:stylesheet>
谢谢!
答案 0 :(得分:0)
使用select="/bugs/bug[not(status = $vActive)]"
。