获取错误列表
<?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 是什么?
我能够构建这个问题的"活动"部分,基于这里给出的一个很好的答案:XSLT:在关键函数中使用变量,这将是以下 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>
谢谢!
使用 select="/bugs/bug[not(status = $vActive)]"
.