[xsl] How do I capture the text "around" a node?

Subject: [xsl] How do I capture the text "around" a node?
From: Peter Lavender <plaven@xxxxxxxxxxxxxx>
Date: Tue, 24 Sep 2002 23:27:12 +1000
Hi Everyone,

I'm beating my head against a wall here, and haven't been able to work
out how to capture the text around a node.

Here is the snippet of xml:

<book isbn="88888">
This book <title>Lord of the rings</title> is often misquoted.

...

</book>

Now I have tried to work out how, but failed miserably and would
appreciate some help, or even better an explaination as to why/how to
do this.

Here is my attempt to do it:

<xsl:template match="book">
      
	<fo:block font-size="12pt" font-family="serif" line-height="16pt">
            
<xsl:variable name="txtFirst" select='substring-before( /book/text(), "(" )' />
            <xsl:value-of select="$txtFirst" />
            <xsl:value-of select="title" />
            <xsl:text>After this is something:</xsl:text>
            <xsl:value-of select="/child::title/child::text()" />
  
     </fo:block>
        
</xsl:template>

When I do just variable name="txt" select="text()" i only get all text
up to the title tag.  How can I get the text after the title node?



Regards,

Pete.

-- 
				Due to a lack of imagination, 
				this signature will remain 
				under construction indefinitely.

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


Current Thread