Subject: RE: [xsl] A better solution... From: Jarno.Elovirta@xxxxxxxxx Date: Thu, 25 Oct 2001 11:25:39 +0300 |
> <?xml version="1.0" encoding="UTF-8"?> > <xsl:stylesheet version="1.0" > xmlns:xsl="http://www.w3.org/1999/XSL/Transform"> > <xsl:output method="html" omit-xml-declaration="yes" > indent="no"/> > > <xsl:param name="S"/> > > <xsl:template match="/Sections"> > <xsl:for-each select="//Section[@Title=$S][1]"> > <xsl:call-template name="SubS"/> > </xsl:for-each> > </xsl:template> > > <xsl:template name="SubS" match="Section"> > <!- ... --> > </xsl:template> > > </xsl:stylesheet> > > This applies the 2nd template to the first occurrence of node > Section with > attribute Title equal to the parameter S. I think you want (//Section[@Title=$S])[1] > The XML looks like this (sections can be nested up to any level): > > <Sections> > <Section Title="1"> > <Section Title="2"/> > <Section Title="4"/> > <Section Title="8"> > <Section Title="9"/> > </Section> > </Section> > <Section Title="3"> > <Section Title="2"/> > </Section> > ... > </Sections> > > What I don't like is to have to use a for-each to select the node. > Any ideas ? Why not simply do <xsl:template match="/Sections"> <xsl:apply-template select="(//Section[@Title=$S])[1]" /> </xsl:template> Jarno XSL-List info and archive: http://www.mulberrytech.com/xsl/xsl-list
Current Thread |
---|
|
<- Previous | Index | Next -> |
---|---|---|
Re: [xsl] A better solution..., David Carlisle | Thread | RE: [xsl] A better solution..., Casadome, Francisco |
Re: [xsl] SAX parser for CSS (Was: , Eric van der Vlist | Date | [xsl] Re: XSL - Javascript problem, Annelies Vercruysse |
Month |