xsl-list
[Top] [All Lists]

Re: How to render TEI <div*>s with chapter-like pagination?

2003-04-13 12:55:04

--- David Carlisle <davidc(_at_)nag(_dot_)co(_dot_)uk> 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



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