xsl-list
[Top] [All Lists]

Re: Looping through attributes..

2003-03-21 06:21:45
I've spent a lot of time trying to avoid xsl:if and for-each by using apply-templates for everything. Is there a way to "apply-templates" to the attributes of an element? I'm thinking of something like this: <xsl:apply-templates select="./@*">. If this can be done, I could get rid if a lot of xsl:if statements that check for the presence of attributes.
Joe


From: David N Bertoni/Cambridge/IBM 
<david_n_bertoni(_at_)us(_dot_)ibm(_dot_)com>
Reply-To: xsl-list(_at_)lists(_dot_)mulberrytech(_dot_)com
To: xsl-list(_at_)lists(_dot_)mulberrytech(_dot_)com
Subject: Re: [xsl] Looping through attributes..
Date: Thu, 20 Mar 2003 14:34:31 -0800





> > > Okay, I'm looping through attributes. Now I need to determine if the
> > name
> > > of an attribute starts with a particular text expression. I have the
> > > following (and it doesn't work):
> > >
> > > <xsl:for-each select="@*">
> > > <xsl:if test="starts-with(@,'S')">
> > > ...
> > > </xsl:if>
> > > </xsl:for-each>
> > >
> > > Am I close???
> >
> > Yes:
> >
> >    <xsl:for-each select="@*">
> >    <xsl:if test="starts-with(.,'S')">
> >    ...
> >    </xsl:if>
> >    </xsl:for-each>
> >
> > or even:
> >
> >    <xsl:for-each select="@*[starts-with(.,'S')]">
> >    ...
> >    </xsl:for-each>
>
> whoa -- i just noticed that the original poster asked to select
> those attributes whose *names* started with 'S', not whose values
> started with 'S'.
>
> in case that's what he wanted, just use "starts-with(name(.), 'S')"
> instead.  i think ...

Yes, you're right -- I replied without reading closely enough.  Glad to see
someone else did the same thing! ;-)

And since that's the case, local-name() might be more appropriate than
name().

What's that about great minds thinking alike...

Dave


 XSL-List info and archive:  http://www.mulberrytech.com/xsl/xsl-list



_________________________________________________________________
Add photos to your e-mail with MSN 8. Get 2 months FREE*. http://join.msn.com/?page=features/featuredemail


XSL-List info and archive:  http://www.mulberrytech.com/xsl/xsl-list



<Prev in Thread] Current Thread [Next in Thread>