|
Subject: RE: [xsl] Help renaming attributes From: "Michael Kay" <mike@xxxxxxxxxxxx> Date: Thu, 6 Oct 2005 14:55:34 +0100 |
You want <xsl:attribute name="{expr}"> for a dynamically-specified name.
Note the curlies.
Michael Kay
http://www.saxonica.com/
> -----Original Message-----
> From: Nadia.Swaby@xxxxxx [mailto:Nadia.Swaby@xxxxxx]
> Sent: 06 October 2005 14:26
> To: xsl-list@xxxxxxxxxxxxxxxxxxxxxx
> Subject: [xsl] Help renaming attributes
>
> Hi All,
>
> I am trying to convert a structured Framemaker document to
> and XML document
> that validates against our customized DTD. When I convert a
> Framemaker
> document to XML, any elements with id attributes look like this:
>
> <figure Id="i494943"></figure>
>
> I would like to change this (and all attributes) to lower case, for
> example:
>
> <figure id="i494943"></figure>
>
> I tried using this code (XSLT 2.0 with Saxon 8 .5):
>
> <xsl:copy>
> <xsl:for-each select="@*">
> <xsl:attribute name="lower-case(name(.))">
> <xsl:value-of select="."/>
> </xsl:attribute>
> </xsl:for-each>
> <xsl:apply-templates/>
> </xsl:copy>
>
> and this
>
> <xsl:copy>
> <xsl:for-each select="@*">
> <xsl:variable name="attrname"
> select="lower-case(name(.))"/>
> <xsl:attribute name="$attrname">
> <xsl:value-of select="."/>
> </xsl:attribute>
> </xsl:for-each>
> <xsl:apply-templates/>
> </xsl:copy>
> But in both cases I get the error message "Attribute name is
> not a valid
> QName".
>
> Is there any way to work around this?
>
> Thanks
>
> Nadia
| Current Thread |
|---|
|
| <- Previous | Index | Next -> |
|---|---|---|
| [xsl] Help renaming attributes, Nadia . Swaby | Thread | RE: [xsl] Help renaming attributes, Jarno.Elovirta |
| RE: [xsl] Core Dump running xsltpro, Michael Kay | Date | RE: [xsl] Wildcard problem, Khorasani, Houman |
| Month |