首页 文章

XSLT和xsl:for-each带有通配符

提问于
浏览
1

我有这个XSLT-snippet(版本1.0):

<p><xsl:value-of select="Items/chkBox1" disable-output-escaping="yes" /></p>
<p><xsl:value-of select="Items/chkBox2" disable-output-escaping="yes" /></p>
<p><xsl:value-of select="Items/chkBox3" disable-output-escaping="yes" /></p>

这工作正常 . 我想用 <xsl:for-each> 来编写这个更聪明,因为Items / chkBox的数量可能不同,但我不能使它工作 . 我尝试了很多这样的事情:

<xsl:for-each select="Items/chkBox*">
    <p><xsl:value-of select="." disable-output-escaping="yes" /></p>
</xsl:for-each>

但它不起作用 - 我得到错误:

表达式中出现意外的标记'' . 项目/ chkBox * < -

如何在最后使用带有通配符的 <xsl:for-each>

请帮忙!

提前致谢 :)

1 回答

  • 2

    * 匹配一个元素 . 如果要匹配元素名称,则必须考虑使用字符串函数 . 在这种情况下, starts-with

    <xsl:for-each select="Items/*[starts-with(local-name(), 'chkBox')]">
    

相关问题