[XSLT难题 No.3]如何得到某个属性所在的元素
现有个xslt如下,获得XML文档中所有属性abc的值,现在想修改一下,以使得查到属性为abc时,把该属性所在的元素列出来
<?xml version="1.0" encoding="UTF-8"?>
<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
<xsl:output method="xml" encoding="UTF-8" indent="yes" media-type="text/xml" omit-xml-declaration="yes"/>
<xsl:template match="/">
<xsl:apply-templates select="node()"/>
</xsl:template>
<xsl:template match="node()">
<xsl:for-each select="@*">
<xsl:if test="name()='abc'">
<xsl:value-of select="."/>
</xsl:if>
</xsl:for-each>
<xsl:apply-templates select="node()"/>
</xsl:template>
</xsl:stylesheet>
源xml如下:
<root>
<A abcpk="123">
<B defpk="456"/>
<C ghipkjk="789"/>
<D pklmn="101112"/>
<E abc="123"/>
</A>
</root>
原来经过xsl后的显示如下
123
现在我希望显示如下,也就是把abc属性所在的元素的名称显示出来:
E
但是我没有找到类似parent()之类的函数
请高手指点一下,谢谢