Jay,
To get rid of the text between <k>s you need a XPath expression like:
following-sibling::k and not(preceding-sibling::k)
in the context of the <p> element for the text before, and another one,
reversed for the text after. The code below solves the problem you posted:
<xsl:template match="p">
<p><xsl:copy-of select="*[not(self::k)]" />
<xsl:apply-templates select="child::text()[following-sibling::k and
not(preceding-sibling::k)]" />
<grp><xsl:apply-templates select="k" /></grp>
<xsl:value-of select="following-sibling::text()" />
<xsl:apply-templates select="child::text()[preceding-sibling::k and
not(following-sibling::k)]" /></p>
</xsl:template>
<xsl:template match="k">
<k><xsl:apply-templates /></k>
</xsl:template>
Helder.
--
Helder da Rocha (helder(_at_)argonavis(_dot_)com(_dot_)br)
Web Consultant
www.argonavis.com.br
São Paulo, Brazil
+55 (11) 9291 0567
----- Original Message -----
From: "Jay Han" <hjhjjj(_at_)yahoo(_dot_)com>
To: <xsl-list(_at_)lists(_dot_)mulberrytech(_dot_)com>
Sent: Wednesday, August 28, 2002 3:01 PM
Subject: [xsl] how to zap content between sibling elements?
Hello all,
I have a few siblings that I need to group together like this:
original:
<p> <!-- maybe some other element other than 'k' -->
foo
<k>A</k> bar <k>B</k> baz <k>C</k>
quux and more stuff
</p>
goal:
<p>
foo
<grp><k>A</k><k>B</k><k>C</k></grp>
quux and more stuff
</p>
I can do the grouping but I am having difficulties zapping 'bar'
and 'baz' between <k>'s. Currently I get:
<p>
foo
<grp><k>A</k><k>B</k><k>C</k></grp> bar baz
quux and more stuff
</p>
I think I need a condition to my default copying template
to handle the case of "when in-between <k>'s zap the content".
What combination of axes and predicates can I use to express
this condition? Any hint or suggestion would be appreciated.
thanks,
-jay
=====
jhan(_at_)acm(_dot_)org
__________________________________________________
Do You Yahoo!?
Yahoo! Finance - Get real-time stock quotes
http://finance.yahoo.com
XSL-List info and archive: http://www.mulberrytech.com/xsl/xsl-list
XSL-List info and archive: http://www.mulberrytech.com/xsl/xsl-list