[xsl] list of actual attributes?

Subject: [xsl] list of actual attributes?
From: Per Jessen <per@xxxxxxxxxxxx>
Date: Fri, 08 Apr 2005 11:44:58 +0200
I'm trying to process some XML and essentially create a copy of my input-file, with
the exception of changing/replacing a few elements and a few attributes. 

I use separate templates for those elements and attributes I need to change and for
the rest I use the following:

<xsl:template match="*">
        <xsl:element name="{name()}">
        <xsl:for-each select="@*">
        <xsl:attribute name="{name()}">
        <xsl:apply-templates select="."/>
        </xsl:attribute>
        </xsl:for-each>
        <xsl:apply-templates/>
        </xsl:element>
</xsl:template>

I could have used <xsl:copy> instead of <xsl:element name="{name()}">, but I don't see what I'd
gain.  (perhaps someone can explain?) 
Also, AFAICT, using <xsl:copy-of> would not work when I need to apply separate templates to
individual children?

Anyway, the problem I'm experiencing is - the list of attributes that I get using '@*' seems to
also include the attributes with default values from the DTD.  How do I get the list of
actual attributes as used in the source document?

I'm using xalanc 1.8 if that's important.


/Per Jessen, Z|rich

-- 
http://www.spamchek.co.uk/freetrial - anti-spam and anti-virus services in 30 minutes.

Current Thread