首页 > 解决方案 > 如何访问 XSL for-each 标签中的“xmlns:”属性?

问题描述

给定 XML

<schema a="a" something:b="b" xmlns:c="c"/>

和 XSL

<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="2.0">
<xsl:template match="/">
    <xsl:for-each select="/schema/@*"> <!-- HERE ! -->
        <name><xsl:value-of select="name()"/></name>
        <value><xsl:value-of select="."/></value>
    </xsl:for-each>
</xsl:template>
</xsl:stylesheet>

转换的结果是:

<name>a</name><value>a</value>
<name>something:b</name><value>b</value>
<!-- "xmlns:c" is missing -->

我希望看到所有属性,但缺少“xmlns:c”。我确实知道“xmlns”很特殊,但是我需要访问这个属性。

有没有办法从所有命名空间访问所有属性,包括“xmlns”?

标签: xmlxslt

解决方案


推荐阅读