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

Re: [xsl] XTTE1100: A sequence of more than one item is not allowed as the @group-adjacent attribute

Subject: Re: [xsl] XTTE1100: A sequence of more than one item is not allowed as the @group-adjacent attribute
From: "G. Ken Holman" <gkholman@xxxxxxxxxxxxxxxxxxxx>
Date: Sun, 12 May 2013 20:20:21 -0500

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

Contact us for world-wide XML consulting and instructor-led training |
Free 5-hour lecture: http://www.CraneSoftwrights.com/links/udemy.htm |
Crane Softwrights Ltd.            http://www.CraneSoftwrights.com/s/ |
G. Ken Holman                   mailto:gkholman@xxxxxxxxxxxxxxxxxxxx |
Google+ profile: https://plus.google.com/116832879756988317389/about |
Legal business disclaimers:    http://www.CraneSoftwrights.com/legal |

Current Thread