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

Re: [xsl] How to render TEI s with chapter-like pagination?


Subject: Re: [xsl] How to render TEI <div*>s with chapter-like pagination?
From: "James J. Ramsey" <jjramsey_6x9eq42@xxxxxxxxx>
Date: Sun, 13 Apr 2003 12:55:04 -0700 (PDT)

--- David Carlisle <davidc@xxxxxxxxx> wrote:
> 
> 
>   <xsl:key name="x"  match="node()"
>  
>
use="generate-id((..|preceding-sibling::div1|preceding-sibling::div2|preceding-sibling::div3)[last()])"/>
>   
>   can only match <div1>, <div2>, and <div3>
> elements,
> 
> No. It matches all nodes (match="node()") and
> indexes them by the
> genererate-id of the nearest preceding sibling dvi*
> , or the parent if
> there is no such sibling.
>
> This means that if you are on a div* and look up the
> key using the
> generate-id of teh current node, you get returned
> the nodes that have
> this key value, which is all teh nodes for which
> this is the nearest
> preceding sibling div*

Ah, I see now. I had read the stuff at
jenitennisson.com, but I hadn't realized that what
<xsl:key/> was doing was setting up a sort of lookup
table. No wonder I didn't get what you were doing. My
bad.

BTW, are you using the generated ID of the parent
mainly as a placeholder value?

> making a key on node9) is a bit expensive as it puts
> every node in teh
> document into the index, you would probably be
> better to change the
> match to
> div1/node()

Which is probably cheaper, the key method or the
method with the variable and count() earlier in the
thread.


__________________________________________________
Do you Yahoo!?
Yahoo! Tax Center - File online, calculators, forms, and more
http://tax.yahoo.com

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



Current Thread