xsl-list
[Top] [All Lists]

RE: How do I capture the text "around" a node?

2002-09-24 09:01:25
I'm not sure what result you want.

If you want:
"This book Lord of the rings is often misquoted."

then you can just get it as the string-value of the <book> element.

i.e., with <book> as the context node, it is string(.).

If you want

"This book is often misquoted."

then it's best to use template rules - these are always a good idea when
handling mixed content.

<xsl:variable name="top-level-text">
  <xsl:apply-templates select="text()"/>
</xsl:variable>

Michael Kay
Software AG
home: Michael(_dot_)H(_dot_)Kay(_at_)ntlworld(_dot_)com
work: Michael(_dot_)Kay(_at_)softwareag(_dot_)com 


-----Original Message-----
From: owner-xsl-list(_at_)lists(_dot_)mulberrytech(_dot_)com 
[mailto:owner-xsl-list(_at_)lists(_dot_)mulberrytech(_dot_)com] On Behalf Of 
Peter Lavender
Sent: 24 September 2002 14:27
To: XSL-List(_at_)lists(_dot_)mulberrytech(_dot_)com
Subject: [xsl] How do I capture the text "around" a node?


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



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