This is the mail archive of the xsl-list@mulberrytech.com mailing list .


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]

Re: xsl:for-each and xsl:apply-templates


Hi,

If you want to handle the child differently depending on if it is a
child of parent1 or parent2, then read this.  Otherwise, nevermind :-)

Untested stab at your what you want to do:

<xsl:template match="child">
<xsl:choose>
  <xsl:when test="name(parent::node()) = 'parent1'">
    <do-your-child-transform-here/>
  </xsl:when>
  <xsl:when test="name(parent::node()) = 'parent1'">
    <do-your-other-child-stuff-here/>
  </xsl:when>
  <xsl:otherwise>
    <do-your-default-or-error-here/>
  </xsl:otherwise>
</xsl:choose>
<do-common-to-both-transforms-here-or-above-the-xsl-choose-block/> 
</xsl:choose>

Michael Case

David Carlisle wrote:
> 
> > It seems that calls to xsl:apply-templates from within an xsl:for-each
> > loop are ignored.
> 
> No, they are processed as usual.
> 
> > If the question sounds vague,
> (more than vague)
> >  Is this the only approach?
> You haven't said what approach you are using, but there must be other
> ones.
> 
> Clearly you have some XSL that isn't working as you expect, but
> you only showed an input document and not the XSL so it is all but
> impossible to debug the XSL for you.
> 
> > I use "xsl:for-each" to get the wrapping that I need,
> 
> why?
> 
> It looks like you just want.
> <xsl:template match="parent1">
>  <wrap1>
>   <xsl:apply-templates/>
>  </wrap1>
> </xsl:template>
> 
> <xsl:template match="parent2">
>  <wrap2>
>   <xsl:apply-templates/>
>  </wrap2>
> </xsl:template>
> 
> <xsl:template match="child">
>  <childstuff>
>   <xsl:apply-templates/>
>  </childstuff>
> </xsl:template>
> 
> David
> 
> _____________________________________________________________________
> This message has been checked for all known viruses by Star Internet
> delivered through the MessageLabs Virus Scanning Service. For further
> information visit http://www.star.net.uk/stats.asp or alternatively call
> Star Internet for details on the Virus Scanning Service.
> 
>  XSL-List info and archive:  http://www.mulberrytech.com/xsl/xsl-list

-- 
Michael E. Case
UC Davis
case@ucdhep.ucdavis.edu
(530) 754-7226

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


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]