Re: [xsl] Sorting a TEI <biblStruct> bibliography by <surname>

Subject: Re: [xsl] Sorting a TEI <biblStruct> bibliography by <surname>
From: "Graydon graydon@xxxxxxxxx" <xsl-list-service@xxxxxxxxxxxxxxxxxxxxxx>
Date: Mon, 21 Jul 2014 03:40:05 -0000
On Mon, Jul 21, 2014 at 03:24:11AM -0000, Charles Muller acmuller@xxxxxxxxxxxxxxx scripsit:
> Thus, I changed
> 
>  <xsl:sort select="*//surname"/>
> 
> to
> 
>  <xsl:sort select="*//surname[1]"/>
> 
> but this generates the same error message.

What you changed it to isn't necessarily going to change the sequence
returned; it would only affect things if the surname elements were
siblings.  Otherwise you're getting the surname children of different
elements, same as before.  (The implicit context of position() is
relative to the parent element, and [1] is short for [position() eq 1])

You may want 

<xsl:sort select="(*//surname)[1]"/>

which takes the whole sequence of descendant surname elements and
returns the first one, but I'd be worried I had different values of
surname in there, and would want to try comparing them to make sure I
wasn't perpetrating and atrocity.


-- Graydon

Current Thread