知道 current() 是元素还是属性

Syl*_* B. 4 xml xslt xpath

在处理 XSLT 表时,我最终得到了一个带有一些current()xpath 的模板。我想知道它是指属性还是元素。

select="./@*"实际上,我无法使用模板过滤器或来做我想做的事情select="./*",因为我想一次性获取所有元素或属性,并在同一模板中根据类型应用不同的处理。

Mar*_*nen 5

match="*听起来好像您想使用eg和为不同的节点设置不同的模板match="@*"

如果您确实想检查模板内部,那么您可以使用<xsl:if test="self::*">来测试它是否是元素节点,并且在 XSLT 2 及更高版本中还可以测试<xsl:if test="self::attribute()">它是否是属性。在XSLT/XPath 2及更高版本中也有. instance of element()相应的. instance of attribute()测试。