This is the mail archive of the
xsl-list@mulberrytech.com
mailing list .
Re: rendering a treeview *hairy problem*
- To: "Mattias Konradsson" <preacher at fragzone dot se>
- Subject: Re: [xsl] rendering a treeview *hairy problem*
- From: Jeni Tennison <mail at jenitennison dot com>
- Date: Thu, 1 Feb 2001 10:23:01 +0000
- CC: xsl-list at lists dot mulberrytech dot com
- Organization: Jeni Tennison Consulting Ltd
- References: <7DFB47C9CEBDD411A38300D0B77F3306084670@strauss.proxima-tech.com.au><007901c08c12$9afbb120$01010a0a@BORG1> <00c101c08c2e$8d5731e0$01010a0a@BORG1>
- Reply-To: xsl-list at lists dot mulberrytech dot com
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