|
[XSL-LIST Mailing List Archive Home] [By Thread] [By Date] [Recent Entries] [Reply To This Message] Re: List type, probably a sequence problem (XSL 2)
On Thu, Jun 08, 2023 at 07:21:42PM -0000, Trevor Nicholls trevor@xxxxxxxxxxxxxxxxxx scripsit:
> Hi Graydon
Hi!
> Thanks for taking a look.
>
> Your idea was my starting point too, but the trouble with
> ancestor::list[not(descendant::steps)] is that if I'm the context node (a
> list) I may have a steps *descendant* (which will thus also be a descendant
> of all of my ancestors), but this descendant should not influence my
> formatting. Steps only matter if they are my ancestors.
I think if you assign the context node to $this, you could
ancestor::list[not(descendant::steps[descendant::*[. is $this]])]
which isn't dripping with elegance but might do the thing.
> So I switched from this approach to trying to manipulate a sequence, but ran
> out of ingenuity pretty quickly.
$nameList := ancestor::*[self::list or self::steps]/name()
$closest as xs:integer := $nameList => index-of('steps') => min()
should give you the closest steps
(assuming there is one; there needs to be a test for that.)
then it's
$relevant := subsequence($nameList,1,$closest) => string-length()
and do the odd-or-even testing on $relevant, maybe?
(Pardon the XQuery syntax!)
--
Graydon Saunders | graydonish@xxxxxxxxx
^fs oferiode, pisses swa mfg.
-- Deor ("That passed, so may this.")
|
PURCHASE STYLUS STUDIO ONLINE TODAY!Purchasing Stylus Studio from our online shop is Easy, Secure and Value Priced! Download The World's Best XML IDE!Accelerate XML development with our award-winning XML IDE - Download a free trial today! Subscribe in XML format
|

Cart








