How can I match the xmlns:* attributes with XSLT?

namespaces, xml, xml-namespaces, xslt

Solution

The xmlns attributes aren't normal attributes, they are namespace declarations. You need to use the namespace axis to access them.

e.g.:

<xsl:for-each select="namespace::*">
   <xsl:value-of select="name()" />
</xsl:for-each>

Problem

How can I match the xmlns:* attributes with XSLT 1.0 ? Using a RDF document I tried: ``` <xs:template match="rdf:RDF"> (...) <xsl:for-each select="@*"> <xsl:value-of select="."/> </xsl:for-each> (...) </xsl:template> ``` but it doesn't seem to work for the xmlns attributes. Thanks.

Original source