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]
Other format: [Raw text]

RE: Order of template match


Write @Cond, not Cond, to select an attribute.

But I don't think your stylesheet as written should output anything at
all.

Michael Kay
Software AG
home: Michael.H.Kay@ntlworld.com
work: Michael.Kay@softwareag.com 

> -----Original Message-----
> From: owner-xsl-list@lists.mulberrytech.com 
> [mailto:owner-xsl-list@lists.mulberrytech.com] On Behalf Of 
> Ragulf Pickaxe
> Sent: 07 October 2002 14:00
> To: XSL-List@lists.mulberrytech.com
> Subject: [xsl] Order of template match
> 
> 
> Hello Guru's
> 
> I have a problem with some display, and must have 
> misunderstood something 
> fundamental, but let me explain:
> 
> I have some input XML (simplified):
> 
> <Root>
>   <Outer Cond="true">
>     <Inner Cond="true"/>
>     <Inner Cond="true"/>
>   </Outer>
>   <Outer Cond="true">
>     <Inner Cond="true"/>
>     <Inner Cond="true"/>
>     <Inner Cond="true"/>
>     <Inner Cond="true"/>
>   </Outer>
> </Root>
> 
> 
> My stylesheet is something like this:
> 
> <xsl:template match="Root">
>   <xsl:apply-templates select="Outer[Cond='true']"/> </xsl:template>
> 
> <xsl:template match="Outer[Cond='true']">
>   <b>Outer element</b><br/>
>   <xsl:apply-templates select="Inner[Cond='true']"/> </xsl:template>
> 
> <xsl:template match="Inner[Cond='true']">
>   <i>Inner element</i><br>
> </xsl:template>
> 
> 
> 
> The result I want (and expected) is:
> <b>Outer element</b>
> <i>Inner element</i>
> <i>Inner element</i>
> <b>Outer element</b>
> <i>Inner element</i>
> <i>Inner element</i>
> <i>Inner element</i>
> <i>Inner element</i>
> 
> But what I get is this:
> <b>Outer element</b>
> <b>Outer element</b>
> <i>Inner element</i>
> <i>Inner element</i>
> <i>Inner element</i>
> <i>Inner element</i>
> <i>Inner element</i>
> <i>Inner element</i>
> 
> 
> If I had called Outer, then Inner from Root, I would expect 
> the last result, 
> but I tried structuring the code so it should parse deeply.
> 
> How do I get the first result, preferibly using template match.
> 
> Sincerely
> Ragulf Pickaxe :)
> 
> _________________________________________________________________
> MSN Photos is the easiest way to share and print your photos: 
> http://photos.msn.com/support/worldwide.aspx
> 
> 
>  XSL-List info and archive:  http://www.mulberrytech.com/xsl/xsl-list
> 


 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]