Re: [xsl] template matching

Subject: Re: [xsl] template matching
From: "james walker" <jameswalkerandy@xxxxxxxxxxx>
Date: Fri, 06 Feb 2004 13:07:26 +0000
Hello again,
do i have to put a "<xsl:apply-templates select="note">" statement in sub1 template match? I tried doing this but it only showed the first of the group of notes in the output?
james



From: David Carlisle <davidc@xxxxxxxxx>
Reply-To: xsl-list@xxxxxxxxxxxxxxxxxxxxxx
To: xsl-list@xxxxxxxxxxxxxxxxxxxxxx
Subject: Re: [xsl] template matching
Date: Wed, 4 Feb 2004 15:34:40 GMT

You haven't fully specified your input, in particular can your sub2
elements contain anything other than note elements?
most of the replies I've seen have assumed not and generated a ul on the
parent.

Thi sis an alternative that allows sub1 to contain other stuff to be
processed besides notes, and just wraps each bunch of consecutive notes
in a list, whatever their parent, so

<sub1>
foo foo <b>bar</b>
<note>a</note>
<note>aa</note>
foo foo <b>bar</b>
<note>b</note>
<note>bb</note>
</sub1>

comes out as
<div>
foo foo <b>bar</b>
<ul>
<li>a</li>
<li>aa</li>
</ul>
foo foo <b>bar</b>
<ul>
<li>b</li>
<li>bb</li>
</ul>
</div>



<!-- through most notes away (they will be handled elsewhere -->
<xsl:template match="note"/>

<!-- special case teh first note in each contiguous group of notes, to
form a list and then process the nodes in note mode -->
<xsl:template match="note[not(preceding-sibling::*[1][self::note])]">
<ul>
<xsl:apply-template mode="note" select="."/>
</ul>
</template>


<!-- make an item and process the next element node if it is a note--> <xsltemplate match="note" mode="note"> <li><xsl:apply-templates/></li> <xsl:apply-templates seelct=following-sibling::*[1][self::note]"/> </xsl:template>



--
http://www.dcarlisle.demon.co.uk/matthew

________________________________________________________________________
This e-mail has been scanned for all viruses by Star Internet. 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
________________________________________________________________________

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


_________________________________________________________________ Express yourself with cool new emoticons http://www.msn.co.uk/specials/myemo


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



Current Thread