Re: [xsl] Recognize nested element (check for same-name parent)

Subject: Re: [xsl] Recognize nested element (check for same-name parent)
From: David Carlisle <davidc@xxxxxxxxx>
Date: Wed, 9 Feb 2005 15:40:39 GMT
   <xsl:if test="..='step'">

That tests if the string value of the parent node (ie the concatenation
of all the character data of all the descendants) is the string "step"
which isn't what you want.



   <xsl:if test="parent::step">

is what you intended but


     insert ol if first and /ol if last (no problem here)


No!  You can never access or insetr or in any way manipulate tags in
XSLT. You can't add a start tag in one place and an end tag somewhere
else. XSLT works on node trees and you can't have half a node.


You haven't said what you are tryomg to produce but I'd guess something
like

<xsl:template match="step">
  <li>
    <xsl:value-of select="text()[1]"/>
  <xsl:if test="step">
    <ul>
    <xsl:apply-templates select="step"/>
    </ul>
  </xsl:if>
   </li>
</xsl:template>

David

________________________________________________________________________
This e-mail has been scanned for all viruses by Star. The
service is powered by MessageLabs. For more information on a proactive
anti-virus service working around the clock, around the globe, visit:
http://www.star.net.uk
________________________________________________________________________

Current Thread