Subject: Re: [xsl] In-order traversal of XHTML of text() and <foo> nodes? From: Jeni Tennison <jeni@xxxxxxxxxxxxxxxx> Date: Fri, 28 Mar 2003 16:13:30 +0000 |
Hi Gan, > Say I have XML like this... > > <foobar> > Once <foo>upon</foo> a midnight <bar>dreary</bar> while I... > </foobar> > > How do I make a traversal of that <foobar> node, picking up text(), > <foo> and <bar> in document order, so as to pass through the text() > but apply separate templates to <foo> and <bar>? XSLT is designed to make this kind of transformation easy. Use the <xsl:apply-templates> instruction to say "process the children of this node" and the <xsl:template> element to say "when you find an element X do Y": <xsl:template match="foobar"> <p><xsl:apply-templates /></p> </xsl:template> <xsl:template match="foo"> <b><xsl:apply-templates /></b> </xsl:template> <xsl:template match="bar"> <i><xsl:apply-templates /></i> </xsl:template> In this example, the text nodes are processed by a built-in template that looks like: <xsl:template match="text()"> <xsl:value-of select="." /> </xsl:template> Cheers, Jeni --- Jeni Tennison http://www.jenitennison.com/ XSL-List info and archive: http://www.mulberrytech.com/xsl/xsl-list
Current Thread |
---|
|
<- Previous | Index | Next -> |
---|---|---|
[xsl] In-order traversal of XHTML o, Gan Uesli Starling | Thread | RE: [xsl] In-order traversal of XHT, Bryan Archer |
[xsl] XSLT optimisation, Alexander Johannesen | Date | RE: [xsl] In-order traversal of XHT, Kaine Varley |
Month |