[XSL-LIST Mailing List Archive Home] [By Thread] [By Date] [Recent Entries] [Reply To This Message] Re: navigation, TEI
Thanks for the answers! At the moment, the solution i found: step 1. - indexing the generated ids of the div/head <xsl:key name="divs" match="//*[substring-after(name(),'div') < 5]/head" use="generate-id()" /> (one problem here: i couldn't use variable here, so match="//*[ substring-after(name(),'div') < $oneNumber ]/head" doesn't work.) step 2. - get the generated ids instead of fragment trees and using the general $splitLevel variable instead of listing each div levels (in one hand it's more slower than i expected but in the other hand it uses a very useful parameter...) <xsl:when test="preceding-sibling::*[substring-after(name(),'div')<$splitLevel]/head"> <xsl:value-of select="generate-id( (preceding::*[substring-after(name(),'div')<$splitLevel]/head)[last()] )" /> </xsl:when> step 3. - 'dereferencing' [it's a kind of Perl-ish expression] the id with the 'key' function (eliminating the problems came from fragment trees) instead of the very-very slow '//node()[generate-id()=$generatedID]' expression <xsl:apply-templates select="key('divs', $prev)/self::*" /> The life and XSL are great! (and so hard as well) All the best! Kiraly Peter http://www.arcanum.hu
|
PURCHASE STYLUS STUDIO ONLINE TODAY!Purchasing Stylus Studio from our online shop is Easy, Secure and Value Priced! Download The World's Best XML IDE!Accelerate XML development with our award-winning XML IDE - Download a free trial today! Subscribe in XML format
|