Xml XSLT和xsl:for都带有通配符

Xml XSLT和xsl:for都带有通配符,xml,xslt,Xml,Xslt,我有以下XSLT片段(版本1.0): 这很好用。我想用编写这个更智能的程序,因为/chkBox的项目数可能不同,但我无法让它工作。我试过很多类似的方法: <xsl:for-each select="Items/chkBox*"> <p><xsl:value-of select="." disable-output-escaping="yes" /></p> </xsl:for-each> 但它不起作用-我得到了一

我有以下XSLT片段(版本1.0):

这很好用。我想用
编写这个更智能的程序,因为/chkBox的项目数可能不同,但我无法让它工作。我试过很多类似的方法:

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

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


表达式中出现意外标记“”。Items/chkBox*
*
与元素匹配。如果要匹配元素名称,则必须考虑使用字符串函数。在这种情况下,

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


很有可能您不需要
,而是需要
chkBox
name上的模板匹配。为我们展示更多xslt甚至原始xml示例。感谢您的建议,但是@TimC的答案非常有效,我正在寻找解决方案。
<xsl:for-each select="Items/*[starts-with(local-name(), 'chkBox')]">