2012-12-19 35 views

回答

2

你不想使用正则表达式。只需使用一个谓词来匹配标签(元素)不包含任何的子节点...

<xsl:template match="*[not(node())]"> 
    ... 
</xsl:template> 

你想怎么分类,只有有属性(如<foo attr="bar"/>)元素?

如果你不想进行分类具有属性作为一个单独的元素,你会改变谓词:

<xsl:template match="*[not(node()) and not(@*)]"> 
    ... 
</xsl:template> 
+0

如果我没看错的,上面的谓语也将匹配空元素(如'< foo attr =“val”>')。我如何区分它们,还是不可能? – Vix

+1

是的,因为''和''是等价的。在XSLT中没有办法以不同的方式对待它们(因为它们没有区别)。 –

+0

谢谢丹尼尔。我对此并不确定。我将不得不寻找另一种方法来解决我的问题,xslt不会帮助。 – Vix