Subject: Re: [xsl] XTTE1100: A sequence of more than one item is not allowed as the @group-adjacent attribute From: Ihe Onwuka <ihe.onwuka@xxxxxxxxx> Date: Mon, 13 May 2013 02:49:52 +0100 |
On Mon, May 13, 2013 at 2:20 AM, G. Ken Holman <gkholman@xxxxxxxxxxxxxxxxxxxx> wrote: > At 2013-05-13 02:08 +0100, Ihe Onwuka wrote: >> >> On Mon, May 13, 2013 at 1:55 AM, G. Ken Holman >> <gkholman@xxxxxxxxxxxxxxxxxxxx> wrote: >> > At 2013-05-13 01:50 +0100, Ihe Onwuka wrote: >> >> >> >> I am getting the above error on the following line of code >> >> >> >> <xsl:for-each-group select="*" group-adjacent="data( >> >> descendant::*/local-name())"> >> >> >> >> I originally tried it without wrapping it in the data function and >> >> have also tried casting it to string (where I get a different but >> >> similar answer). >> >> >> >> I'm sure there is a simple answer out there. >> > >> > >> > Yes, both the data() function the group-adjacent= attribute are each >> > expecting a singleton evaluation and you are supplying a sequence >> > expression >> > that returns more than a singleton value. >> > >> > The expression is evaluated from the context of the member of the >> > population >> > being grouped. The expression descendant::*/local-name() returns a >> > sequence >> > of strings being the local name of all of the descendant elements of >> > each >> > element of the population. The error message is quite explicit in what >> > is >> > wrong. >> > >> > What is it you are trying to do >> >> I am trying to group the children of each element by the local name >> of all of the descendant elements of each child. > > > I can read that from your expression, but it doesn't make sense to me on a > number of levels. > > First, your sentence implies you should be using group= instead of > group-adjacent= ... do you want *all* elements that are "the same" in one > group, or do you want them split up into groups of elements that are > adjacent members of the population? > > Second, by "the same" being your definition of "the local name of all of the > descendants" do you mean the "ordered set of local names of the descendants > in document order" or "the unordered set of unique local names without > duplicates" or something else? > > When I asked what you were trying to do I was looking for a sentence > describing the *reason* why you wrote the expression, not what the > expression was in a sentence. What is the nature of these elements with > descendants that they need to be grouped? Is this an academic exercise or > is there a reason the names are important to the grouping? By trying to > understand the problem being solved, someone on the list may be able to help > you better than trying to fix something you've started that may turn out to > have been an inappropriate way to start given the problem at hand. > > . . . . . . . . . . Ken > I understand but what I described is what I want to do - no it is not an academic exercise. See an example of the required grouping - attribute and text nodes may be present but are ignored for the purpose of grouping. <A> <!-- start group> <B> <C> <D> </B> <B> <C> <D> </B> <! --end group> <B> *** singleton group <C> *** singleton group <!-- start group> <D> <E> <E> <F> <E> </D> <D> <E> <E> <F> <E> </D> <!-- end group> <!-- start group> <B> <C> <D> </B> <B> <C> <D> </B> <! --end group> </A>
Current Thread |
---|
|
<- Previous | Index | Next -> |
---|---|---|
Re: [xsl] XTTE1100: A sequence of m, G. Ken Holman | Thread | Re: [xsl] XTTE1100: A sequence of m, G. Ken Holman |
Re: [xsl] XTTE1100: A sequence of m, G. Ken Holman | Date | Re: [xsl] XTTE1100: A sequence of m, G. Ken Holman |
Month |