[XSL-LIST Mailing List Archive Home] [By Thread] [By Date]

Re: [xsl] grouping based on string but with child nodes

Subject: Re: [xsl] grouping based on string but with child nodes
From: David Carlisle <davidc@xxxxxxxxx>
Date: Mon, 13 Oct 2008 16:48:30 +0100

> Thanks for your suggestion, but it isn't going to work.  tokenize()
> treats the node like a string and so gets rid of any embedded markup.
> I.e. the <emph> (and very occasionally other) elements.

not sure if the answer's in daveps faq but this is a standard problem
with two possible answers, usually people get one from me and one from

plan a is to convert the whole lot into a string, either using a special
mode, or, say saxon:serialise. Then, once it's all a string you can use
analyze-string or tokenize() to split up on ||, thenyou can put the
markup back, again either with a special mode, or just use saxon:parse()

plan b is to first convert every || to an element say <split/> just
using an identity transfom plus a teplate matching "text()". Then once
it is all nodes, you can run a xsl;group-by with group-starting with
split, to split them up.


The Numerical Algorithms Group Ltd is a company registered in England
and Wales with company number 1249803. The registered office is:
Wilkinson House, Jordan Hill Road, Oxford OX2 8DR, United Kingdom.

This e-mail has been scanned for all viruses by Star. The service is
powered by MessageLabs. 

Current Thread