【发布时间】:2015-04-19 16:20:26
【问题描述】:
我有类似以下 XML 的东西:(但有更多产品)
<?xml version="1.0" encoding="UTF-8"?>
<products>
<product>
<name>Mango</name>
<type>fruit</type>
<imageurl>pic.jpeg</imageurl>
</product>
<product>
<name>banana</name>
<type>fruit</type>
<imageurl>pic3.jpeg</imageurl>
</product>
<product>
<name>duck</name>
<type>mammal</type>
<imageurl>pic2.jpeg</imageurl>
</product>
</products>
还有这个 XSL:(但有更多的元素和属性)
<?xml version="1.0" encoding="UTF-8"?>
<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
version="1.0">
<xsl:param name="typeSelected"/>
<xsl:template match="product/{$typeSelected}">
<xsl:element name="img">
<xsl:attribute name="class">juice</xsl:attribute>
<xsl:attribute name="src">
<xsl:value-of select="imageurl"/>
</xsl:attribute>
</xsl:element>
</div>
</xsl:template>
我正在使用外部 JavaScript 文件设置参数的值,但我想只对 <type> 匹配该参数值的产品进行分组。显然,XSL 需要更改并且已经阅读了我知道我不能在 match 语句中使用参数。感觉我尝试的东西不应该太难。我错过了什么明显的东西吗?
给定参数fruit,我希望输出类似于:
<img class="juice" src="pic.jpeg"/>
<img class="juice" src="pic3.jpeg"/>
【问题讨论】: