This is the mail archive of the
xsl-list@mulberrytech.com
mailing list .
Re: Re: RE: Counting number of characters of sibling text node
- From: Wendell Piez <wapiez at mulberrytech dot com>
- To: xsl-list at lists dot mulberrytech dot com
- Date: Wed, 22 May 2002 14:45:00 -0400
- Subject: Re: [xsl] Re: RE: Counting number of characters of sibling text node
- Reply-to: xsl-list at lists dot mulberrytech dot com
Dimitre, Mike:
At 02:15 PM 5/22/2002, Dimitre wrote:
> > > But if you do
> > >
> > > <xsl:variable name="this-and-preceding-siblings">
> > > <xsl:copy-of select=".|preceding-sibling::node()"/>
> > > </xsl:variable>
> > > <xsl:value-of
>select="string-length($this-and-preceding-siblings)"/>
> > >
> > > you may get better results.
> > >
> > No you won't. string-length() works on the first node in the supplied
> > node-set.
...
>Both answers are not completely correct:
>
> -- Wendell's because he hasn't converted the RTF into a node-set
> before applying the string-length() function on it.
XSLT 11.1:
"A variable may be bound to a result tree fragment instead of one of the
four basic XPath data-types.... A result tree fragment is treated
equivalently to a node-set that contains just a single root node. However,
the operations permitted on a result tree fragment are a subset of those
permitted on a node-set. An operation is permitted on a result tree
fragment only if that operation would be permitted on a string.... When a
permitted operation is performed on a result tree fragment, it is performed
exactly as it would be on the equivalent node-set."
> -- Mike's, because the variable contains not a (flat) node-set, but a
>whole tree.
...which you can't query into (its being an RTF), but which you can get the
length of (since it can be operated on as if node-set converted to a string).
As for the technique, I've used it (though not this precise code) on
one-or-another SVG-generating stylesheet. It works fine in Saxon. :-)
Cheers,
Wendell
======================================================================
Wendell Piez mailto:wapiez@mulberrytech.com
Mulberry Technologies, Inc. http://www.mulberrytech.com
17 West Jefferson Street Direct Phone: 301/315-9635
Suite 207 Phone: 301/315-9631
Rockville, MD 20850 Fax: 301/315-8285
----------------------------------------------------------------------
Mulberry Technologies: A Consultancy Specializing in SGML and XML
======================================================================
XSL-List info and archive: http://www.mulberrytech.com/xsl/xsl-list