Subject: Re: [xsl] rendering a treeview *hairy problem* From: Jeni Tennison <mail@xxxxxxxxxxxxxxxx> Date: Thu, 1 Feb 2001 10:23:01 +0000 |
Hi Mattias, >> weee, this problem has been on my mind the last couple of days... >> So roll up your sleeves and get your gray ones going, hopefully >> they work better than mine :) > > No takers? aww come on, I was hoping this list would impress me with > it's brilliance :) Hey give us a chance - leave more than 4 hours between sending messages and expecting a reply, especially if those 4 hours are when those of us in Britain are asleep! :) > I think I have the problem boiled down however. What I need to do is > in each node go recursively through each parent and check whether it > has any siblings.. but I'm not sure how to do that You're looking for the ancestor:: axis, which gets all the ancestors of the current node. <xsl:for-each select="ancestor::post"> ... </xsl:for-each> If that ancestor has any following siblings, then you need to add a line, otherwise just a space: <xsl:choose> <xsl:when test="following-sibling::post"> <img align="middle" src="/community/images/line.gif" /> </xsl:when> <xsl:otherwise> <img align="middle" src="/community/images/space.gif" /> </xsl:otherwise> </xsl:choose> By the way, because of the built-in templates, the following: <xsl:for-each select="thread"> <xsl:apply-templates /> </xsl:for-each> is equivalent to simply: <xsl:apply-templates /> and you never need to define: <xsl:template match="/"> <xsl:apply-templates/> </xsl:template> XSLT already has that built-in for you. I hope that helps, Jeni --- Jeni Tennison http://www.jenitennison.com/ XSL-List info and archive: http://www.mulberrytech.com/xsl/xsl-list
Current Thread |
---|
|
<- Previous | Index | Next -> |
---|---|---|
Re: [xsl] rendering a treeview *hai, Mattias Konradsson | Thread | Re: [xsl] rendering a treeview *hai, Mattias Konradsson |
Re: [xsl] hyperlinks, David Carlisle | Date | Re: [xsl] rendering a treeview *hai, Oliver Becker |
Month |