Re: [xsl] position() misunderstanding

Subject: Re: [xsl] position() misunderstanding
From: David N Bertoni/Cambridge/IBM <david_n_bertoni@xxxxxxxxxx>
Date: Thu, 13 Feb 2003 11:23:46 -0800



> I must be misunderstanding what a simple function like position() does.
Can
> someone explain to me why the following returns all even numbers in the
> result? I would expect it to be {1][2][3] instead of [2][4][6]
>
> === test.xml ===
> <?xml version="1.0" encoding="UTF-8"?>
>
> <Catalog>
>            <Book>
>                        <Title>Dune</Title>
>                        <Authors>Frank Herbert</Authors>
>            </Book>
>            <Book>
>                        <Title>The Stars My Destination</Title>
>                        <Authors>Alfred Bester</Authors>
>            </Book>
>            <Book>
>                        <Title>SLAN</Title>
>                        <Authors>A. E. Van Vogt</Authors>
>            </Book>
> </Catalog>

It's returning even numbers because you're forgetting about the whitespace
text nodes that are siblings of the book elements.  See the FAQ:

   http://www.dpawson.co.uk/xsl/sect2/N6099.html#d5877e70

Dave


 XSL-List info and archive:  http://www.mulberrytech.com/xsl/xsl-list


Current Thread