xsl-list
[Top] [All Lists]

RE: Can I test the name of the current element?

2003-01-30 16:15:29
Using a mode on the apply-templates (and templates) or a passed parameter would 
be my suggestion

<xsl:template match="Line">...
<xsl:template match="Line" mode="full">...

<xsl:template match ...
...
<xsl:apply-templates select="Line" />
...
<xsl:apply-templates select="Line" mode="full"/>
...
</xsl:template>

That said the literal answer to your question is to use "name()='Line'"

HTH,

Ken Ross
Ph: +61 7 32359370
Mob: +61 (0)419 772299
Email: Ken(_dot_)Ross(_at_)iie(_dot_)qld(_dot_)gov(_dot_)au


-----Original Message-----
From: Adrian [mailto:a(_dot_)hobson(_at_)student(_dot_)unsw(_dot_)edu(_dot_)au]
Sent: Friday, 31 January 2003 9:02 AM
To: xsl-list(_at_)lists(_dot_)mulberrytech(_dot_)com
Subject: [xsl] Can I test the name of the current element?


I am trying to test the name of the current element as shown below.  I know
what I have doesn't work, but it gives an idea of what I am trying to do.
My apologies if this is in a faq somewhere, I had no luck finding a
solution there.

Thanks for any suggestions
Adrian

Simplified version of the XML file:
<CoordGeom>
  <Line/>
  <Line/>
  <Curve/>
  <Line/>
</CoordGeom>


I am already processing the Line and Curve elements using an apply-templates:
<xsl:template match="Line">
<xsl:template match="Curve">

However I need to process them a second time differently:
<xsl:for-each select="CoordGeom/*">
  <xsl:if test="position()=1">
    M <xsl:call-template name="getStart" />
  </xsl:if>
  <xsl:choose>
    <xsl:when test=".=Line"> <!-- something like this -->
      L
    </xsl:when>
    <xsl:when test=".=Curve"> <!-- something like this -->
      A ...
    </xsl:when>
  </xsl:choose>
  <xsl:call-template name="getEnd" />
</xsl:for-each>



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

IMPORTANT: This email (including any attachments) may contain confidential,
private or legally privileged information and may be protected by copyright. 
You may
only use it if you are the person(s) it was intended to be sent to and if you 
use it in an
authorised way. No one is allowed to use, review, alter, transmit, disclose, 
distribute,
print or copy this e-mail without appropriate authority.
 
If this e-mail was not intended for you and was sent to you by mistake, please
telephone or e-mail me immediately, destroy any hard copies of this e-mail and 
delete
it and any copies of it from your computer system. Any legal privilege and 
confidentiality attached to this e-mail is not waived or destroyed by that 
mistake.
 
It is your responsibility to ensure that this e-mail does not contain and is 
not affected
by computer viruses, defects or interference by third parties or replication 
problems
(including incompatibility with your computer system).




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



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