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: RE: Counting number of characters of sibling text node


Thanks a lot Wendell!

I really learned something new.

Cheers,
Dimitre.


Wendell Piez <wapiez at mulberrytech dot com> wrote:


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




__________________________________________________
Do You Yahoo!?
LAUNCH - Your Yahoo! Music Experience
http://launch.yahoo.com

 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]