xsl-list
[Top] [All Lists]

RE: Order of template match

2002-10-07 07:36:54
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(_dot_)H(_dot_)Kay(_at_)ntlworld(_dot_)com
work: Michael(_dot_)Kay(_at_)softwareag(_dot_)com 

-----Original Message-----
From: owner-xsl-list(_at_)lists(_dot_)mulberrytech(_dot_)com 
[mailto:owner-xsl-list(_at_)lists(_dot_)mulberrytech(_dot_)com] On Behalf Of 
Ragulf Pickaxe
Sent: 07 October 2002 14:00
To: XSL-List(_at_)lists(_dot_)mulberrytech(_dot_)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



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