2012-12-19 40 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