[Home] [By Thread] [By Date] [Recent Entries]
At 2007-11-01 13:50 +0100, Sascha Mantscheff wrote:
> well if you want it purely in the template match for <s> then you can do: > > match="s[(ancestor::b[1]//text())[last()] >> .]" > > ...but there's probably a neater solution where you work it out at the > <b> level and then pass down a boolean as a tunnelled parameter. > Thanks a lot for this solution which works like a spell and also taught me the ">>" operator. In the given context I prefer it to Ken's procedural solution, but also thank you for that one. Then I recommend you change it to the following: match="s[(ancestor::b[1]//text()[normalize-space()])[last()] >> .]" ... so that you catch text nodes that have non-white-space characters, or alternatively that you ensure all white-space-only text nodes are removed from the source tree by either an <xsl:strip-space> instruction or at invocation. I'm thinking that with the original proposal any indentation found in the source tree would allow the <s> to be matched. . . . . . . . . . . . Ken -- Comprehensive in-depth XSLT2/XSL-FO1.1 classes: Austin TX,Jan-2008 World-wide corporate, govt. & user group XML, XSL and UBL training RSS feeds: publicly-available developer resources and training G. Ken Holman mailto:gkholman@xxxxxxxxxxxxxxxxxxxx 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
|

Cart



