[XSL-LIST Mailing List Archive Home] [By Thread] [By Date] [Recent Entries] [Reply To This Message]

Re: template match question

Subject: Re: template match question
From: "G. Ken Holman" <gkholman@xxxxxxxxxxxxxxxxxxxx>
Date: Sat, 11 Dec 2010 11:11:18 -0500
Re:  template match question
At 2010-12-11 03:37 +0000, Ciaran S Duibhmn wrote:
Great, many thanks, that's exactly what I meant.

However, on trying it out, I found that any
newlines and indentation within my <block>
element contribute to the string_length, so that
my <block> is no longer 1 character long when they are present.

Ah, then your statement "all the text in my <block> elements is found in child <inline> elements" is misleading.

So I would like to ask again, but this time: how
to match any <block> in which the sum of the
lengths of the child <inline> elements is 1
character? (My newlines and indentation will be
outside any <inline> element, but all the
"content" is inside <inline> elements.)  Do I
need to program a loop somehow, or is there a handy function?

I like Piet's idea of declaring that the white-space children of the <block> element are considered throw-away indentation and not information:

<xsl:strip-space elements="block"/>

If you really wanted an algorithmic way, then
something along the lines of the following in XSLT 2 would work:

 <xsl:template match="block[sum(for $each in
inline return string-length($each))
                            =1]">
   ...
 </xsl:template>

... which is nicely abbreviated by Piet's
suggestion of joining all of the inlines and
calculating the length of the join.

I hope this helps.

. . . . . . . . . Ken

--
Contact us for world-wide XML consulting & instructor-led training
Crane Softwrights Ltd.          http://www.CraneSoftwrights.com/s/
G. Ken Holman                 mailto:gkholman@xxxxxxxxxxxxxxxxxxxx
Legal business disclaimers:  http://www.CraneSoftwrights.com/legal

Current Thread

PURCHASE STYLUS STUDIO ONLINE TODAY!

Purchasing Stylus Studio from our online shop is Easy, Secure and Value Priced!

Buy Stylus Studio Now

Download The World's Best XML IDE!

Accelerate XML development with our award-winning XML IDE - Download a free trial today!

Don't miss another message! Subscribe to this list today.
Email
First Name
Last Name
Company
Subscribe in XML format
RSS 2.0
Atom 0.3
Site Map | Privacy Policy | Terms of Use | Trademarks
Free Stylus Studio XML Training:
W3C Member
Stylus Studio® and DataDirect XQuery ™are products from DataDirect Technologies, is a registered trademark of Progress Software Corporation, in the U.S. and other countries. © 2004-2013 All Rights Reserved.