[xsl] Re: apply-templates and XHTML's <p> tag

Subject: [xsl] Re: apply-templates and XHTML's <p> tag
From: "Dimitre Novatchev" <dnovatchev@xxxxxxxxx>
Date: Mon, 24 Mar 2003 19:35:52 +0100
"Gan Uesli Starling" <alias@xxxxxxxxxxx> wrote in message
news:3E7F4784.8030801@xxxxxxxxxxxxxx
>
> But when parsing an XHTML <p> tag, it may
> have text mish-mashed in and between <b> and <i>
> and <span> tags...in no fixed order.
>
> I will lose all the style stuff if I just do...
>
> <xsl:template match="p">
>    <xsl:value-of select="."/>
> </xsl:template>
>
> ...as the <b>, <i> and <span> will go bye-bye with
> all their text siphoned out from them, yes? I don't
> want that, obviously.
>
> Cool would be to split <p> into a sequence of <foo>
> tags with the <b> and <i> as attributes for some,
> not on others.
>
> Can someone point me at a tutorial or how-to which
> illustrates an XSLT-ish method for dealing sequentially
> with a mixed bunch of text and tags?


First of all, XSLT deals not with "tags" but with nodes.

It is not clear exactly what you want -- probably you need to copy the
descendents of "p". Your problem is that using

    <xsl:value-of select="."/>

copies not nodes but the string value of the current node.

To copy all nodes that are children of the current node use:

<xsl:copy-of select="node()"/>



=====
Cheers,

Dimitre Novatchev.
http://fxsl.sourceforge.net/ -- the home of FXSL




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


Current Thread