This is the mail archive of the xsl-list@mulberrytech.com mailing list .


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re: Re: RE: Counting number of characters of sibling text node


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


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]