xsl-list
[Top] [All Lists]

Re: Looping through attributes..

2003-03-20 15:34:31




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



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