Re: [xsl] empty attribute tags rendering in HTML

Subject: Re: [xsl] empty attribute tags rendering in HTML
From: "Spencer Tickner" <spencertickner@xxxxxxxxx>
Date: Mon, 27 Feb 2006 10:42:52 -0800
hmm, sorry the not(normalize-space(.) = ")" should be = '' (2 single quotes)

On 2/27/06, Spencer Tickner <spencertickner@xxxxxxxxx> wrote:
> Hi Bonnie,
>
> Try this out:
>
> <?xml version='1.0'?>
> <xsl:stylesheet version="1.0"
xmlns:xsl="http://www.w3.org/1999/XSL/Transform";>
>
> <xsl:template match="/">
>         <xsl:apply-templates/>
> </xsl:template>
>
> <xsl:template match="a|td|img">
>         <xsl:element name="{name()}">
>         <xsl:for-each select="@*">
>                 <xsl:if test="not(normalize-space(.) = '')">
>                         <xsl:attribute name="{name()}"><xsl:value-of
select="."/></xsl:attribute>
>                 </xsl:if>
>         </xsl:for-each>
>         <xsl:apply-templates/>
>         </xsl:element>
> </xsl:template>
>
> </xsl:stylesheet>
>
> On 2/27/06, Bonnie Vasko <bvasko@xxxxxxxxxxxxxxxx> wrote:
> > Hello everyone,
> >
> > I'm relatively new to XSL. I'm troubleshooting the templates created by
> > my former co-worker. They're outputting all the attributes for every
> > instance of every tag, even though they're empty, as in this example:
> >
> > <td rowspan="2" colspan="" border="0" class=""><a id="" class=""
> > target="" title="" href="gateway.jsp" name=""><img id="" border="0"
> > alt="GuardMyHeart.com" class=""
> > src="images/headerLogo.gif"></a></td>
> >
> >
> > Here is a sample of the xsl:
> >
> > <xsl:template match="a">
> > <a name="{@name}" href="{@href}" title="{@title}" target="{@target}"
> > class="{@class}" id="{@id}">
> > <xsl:value-of select="." /><xsl:apply-templates select="img" /></a>
> > </xsl:template>
> >
> > <xsl:template match="td">
> > <td valign="{@valign}" align="{@align}" width="{@width}"></td>
> > </xsl:template>
> >
> > <xsl:template match="img">
> > <img src="{@src}" class="{@class}" alt="{@alt}" border="0"
> > id="{@id}"></img>
> > </xsl:template>
> >
> >
> > I'm assuming there should be some kind of test that determines if the
> > attribute is empty, and if it is, don't write it. I haven't been able to
> > find an example of this. This is xml/xsl version 1. Thank you in
> > advance. Also, if you can point me to any resources that explain this, I
> > would really appreciate it.
> >
> > Thanks,
> >
> > Bonnie Vasko
> > Senior Developer
> > WHITTMANHART
> > main: 215.636.9500
> > fax: 215.636.9526
> > bvasko@xxxxxxxxxxxxxxxx
> > www.whittmanhart.com

Current Thread