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

Re: [xsl] xsl:number problem


Subject: Re: [xsl] xsl:number problem
From: "Jesper Tverskov jesper.tverskov@xxxxxxxxx" <xsl-list-service@xxxxxxxxxxxxxxxxxxxxxx>
Date: Sun, 21 Dec 2014 09:27:54 -0000

Thanks Martin and Michael. Martin's solution works.

You might get quick and dirty code working for a time by chance. Until
the day it suddenly breaks because it was wrong in the first place.

Jesper

On Sun, Dec 21, 2014 at 1:09 AM, Michael Kay mike@xxxxxxxxxxxx
<xsl-list-service@xxxxxxxxxxxxxxxxxxxxxx> wrote:
> xsl:number with no attributes counts the number of preceding-sibling elements having the same name as the context node.
>
> Michael Kay
> Saxonica
> mike@xxxxxxxxxxxx
> +44 (0) 118 946 5893
>
>
>
>
> On 20 Dec 2014, at 21:09, Jesper Tverskov jesper.tverskov@xxxxxxxxx <xsl-list-service@xxxxxxxxxxxxxxxxxxxxxx> wrote:
>
>> Hi list
>>
>> I have reduced the problem to this:
>>
>> Input:
>>
>> <items>
>>    <a.x/>
>>    <b.x/>
>>    <a.x/>
>> </items>
>>
>> Full Stylesheet:
>>
>> <xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="2.0">
>>    <xsl:output method="text"/>
>>    <xsl:strip-space elements="*"/>
>>    <xsl:template match="*[substring-before(local-name(), '.') = 'a']">
>>        <xsl:number/>
>>    </xsl:template>
>> </xsl:stylesheet>
>>
>> Result:
>>
>> 12
>>
>> That is what I want!
>>
>> But if I change input to (one x added to first element name):
>>
>>
>> <items>
>>    <a.xx/>
>>    <b.x/>
>>    <a.x/>
>> </items>
>>
>> Result is
>>
>> 11
>>
>> Several Saxon processors tested from inside Oxygen.
>>
>> Any suggestions?
>>
>>
>> Cheers
>> Jesper Tverskov
>> http://www.xmlplease.com


Current Thread