At 2007-08-01 13:13 +0100, Darren Wheatley wrote:
Could anyone tell me how I can calculate the length of a string containing
inline elements?
E.g.
With a context node like this:
<text>this is some text<SUP>3</SUP>some more</text>
"string-length(.)" should return 43,
No, it should not return 45 because that is not the number of
characters in the string value of the <text> element (assuming your
current node is that element).
but it returns less than that.
I make it 27 by eye.
My assumption is that the embedded tags are being treated as proper nodes
rather than literal text.
Yes, because the syntax used to represent a node is not in the XPath
data model and therefore is not available to the XSLT processor.
Any idea how I can make sure that each character of the embedded tags counts
as a character when calculating the length of the overall string?
By not using XSLT.
E.g. <SUP> would count as 5 characters
In XSLT there is no difference in the data model between an element
represented by:
<SUP>
or by:
<SUP >
... which have a very different number of characters.
You'll have to use something that represents the syntax of XML markup
in the data model.
I hope this helps.
. . . . . . . . . . . Ken
--
Upcoming public training: XSLT/XSL-FO Sep 10, UBL/code lists Oct 1
World-wide corporate, govt. & user group XML, XSL and UBL training
RSS feeds: publicly-available developer resources and training
G. Ken Holman mailto:gkholman(_at_)CraneSoftwrights(_dot_)com
Crane Softwrights Ltd. http://www.CraneSoftwrights.com/s/
Box 266, Kars, Ontario CANADA K0A-2E0 +1(613)489-0999 (F:-0995)
Male Cancer Awareness Jul'07 http://www.CraneSoftwrights.com/s/bc
Legal business disclaimers: http://www.CraneSoftwrights.com/legal
--~------------------------------------------------------------------
XSL-List info and archive: http://www.mulberrytech.com/xsl/xsl-list
To unsubscribe, go to: http://lists.mulberrytech.com/xsl-list/
or e-mail: <mailto:xsl-list-unsubscribe(_at_)lists(_dot_)mulberrytech(_dot_)com>
--~--