xsl-list
[Top] [All Lists]

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

2013-05-12 20:49:52
On Mon, May 13, 2013 at 2:20 AM, G. Ken Holman
<gkholman(_at_)cranesoftwrights(_dot_)com> wrote:
At 2013-05-13 02:08 +0100, Ihe Onwuka wrote:

On Mon, May 13, 2013 at 1:55 AM, G. Ken Holman
<gkholman(_at_)cranesoftwrights(_dot_)com> 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>

--~------------------------------------------------------------------
XSL-List info and archive:  http://www.mulberrytech.com/xsl/xsl-list
To unsubscribe, go to: http://lists.mulberrytech.com/xsl-list/
or e-mail: <mailto:xsl-list-unsubscribe(_at_)lists(_dot_)mulberrytech(_dot_)com>
--~--

<Prev in Thread] Current Thread [Next in Thread>