Home. 
.

transparent

transparent

transparent

Altova Mailing List Archives


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

From: Michael Case <mecase@----------->
To:
Date: 8/1/2001 9:34:00 AM
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@xxxxxxxxxxxxxxxxxx
(530) 754-7226

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


transparent
Print
Mail
Digg
delicious
Disclaimer
.

These Archives are provided for informational purposes only and have been generated directly from the Altova mailing list archive system and are comprised of the lists set forth on www.altova.com/list/index.html. Therefore, Altova does not warrant or guarantee the accuracy, reliability, completeness, usefulness, non-infringement of intellectual property rights, or quality of any content on the Altova Mailing List Archive(s), regardless of who originates that content. You expressly understand and agree that you bear all risks associated with using or relying on that content. Altova will not be liable or responsible in any way for any content posted including, but not limited to, any errors or omissions in content, or for any losses or damage of any kind incurred as a result of the use of or reliance on any content. This disclaimer and limitation on liability is in addition to the disclaimers and limitations contained in the Website Terms of Use and elsewhere on the site.

.
.

transparent

transparent