<xsl:template match="country[@name]">
<xsl:value-of select="."/>
<xsl:if test="country=[*stan"]" >
</xsl:if> </xsl:template> 有人能告诉我这个查询哪里出错了吗?我应该只返回其中带有"stan“的国家的名称(土耳其等)。XML数据包括国家/地区、姓名、人口。
发布于 2013-02-18 16:21:21
您的代码中有两处错误:
在if语句上
country countries (@ name,'stan‘)
修复代码的一种解决方案是将value-of元素更改为if元素,并将XPath表达式从我之前指定的表达式更改为if元素。
但是,在输入模板之前匹配条件要简单得多。因此,解决方案是:
<xsl:template match="country[contains(@name, 'stan')]">
<xsl:value-of select="@name" />
</xsl:template>https://stackoverflow.com/questions/14931777
复制相似问题