Subject: Re: [xsl] template matching From: David Carlisle <davidc@xxxxxxxxx> Date: Fri, 6 Feb 2004 13:58:55 GMT |
Hello again, do i have to put a "<xsl:apply-templates select="note">" statement in sub1 template match? no if you do that you wont process the non-note stuff foo foo <b>bar</b> so it will just silently disappear. I tried doing this but it only showed the first of the group of notes in the output? well apart from the usual quota of typos meaning my code wasn't well formed XML, I missed off a mode="note" (You may suspect that I didn't test the code) here it is again <sub1> foo foo <b>bar</b> <note>a</note> <note>aa</note> foo foo <b>bar</b> <note>b</note> <note>bb</note> </sub1> <xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="1.0"> <xsl:template match="*"> <xsl:copy> <xsl:copy-of select="@*"/> <xsl:apply-templates/> </xsl:copy> </xsl:template> <!-- throw most notes away (they will be handled elsewhere --> <xsl:template match="note"/> <!-- special case the 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-templates mode="note" select="."/> </ul> </xsl:template> <!-- make an item and process the next element node if it is a note--> <xsl:template match="note" mode="note"> <li><xsl:apply-templates/></li> <xsl:apply-templates select="following-sibling::*[1][self::note]" mode="note"/> </xsl:template> </xsl:stylesheet> $ saxon sub1.xml sub1.xsl <?xml version="1.0" encoding="utf-8"?><sub1> 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> </sub1> see everything copied except the groups of notes are munged up into ul lists. -- 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
Current Thread |
---|
|
<- Previous | Index | Next -> |
---|---|---|
Re: [xsl] template matching, james walker | Thread | Re: [xsl] template matching, james walker |
RE: [xsl] Empty Elements in .NET, Peter Flynn | Date | RE: [xsl] template matching, Peter Flynn |
Month |