xsl-list
[Top] [All Lists]

Re: Check for text between two elements??

2004-09-02 21:32:35
Hi Josh,

I guess that

  <no-text><xsl:copy-of
select="*[following-sibling::node()[1]/text()]"/></no-text>


should be:

<no-text><xsl:copy-of
select="*[following-sibling::node()[1][self::text()]]"/>

Best Regards,
George
-------------------------------------------------------
George Cristian Bina mailto:george(_at_)oxygenxml(_dot_)com
<oXygen/> XML Editor and XSLT Editor/Debugger
http://www.oxygenxml.com/


----- Original Message -----
From: "Josh Canfield" <joshcanfield(_at_)gmail(_dot_)com>
To: <xsl-list(_at_)lists(_dot_)mulberrytech(_dot_)com>
Sent: Friday, September 03, 2004 2:11 AM
Subject: Re: [xsl] Check for text between two elements??


You aren't testing if there is text between two tags, but rather
whether a text node is the first node following an element node.

In your case, if you want to output all of the nodes with no following
text node:

<?xml version="1.0" encoding="ISO-8859-1"?>

<xsl:stylesheet
    version="1.0"
    xmlns:xsl="http://www.w3.org/1999/XSL/Transform";>
<xsl:output method="xml" indent="yes"/>

<xsl:template match="/AAA">
  <no-text><xsl:copy-of
select="*[following-sibling::node()[1]/text()]"/></no-text>
</xsl:template>

</xsl:stylesheet>

The select statement says:
select every child element of the context node (AAA) that has a text
node as it's first following sibling.

Josh





<Prev in Thread] Current Thread [Next in Thread>