Re: [xsl] sorting into a tree structure

Subject: Re: [xsl] sorting into a tree structure
From: Manfred Staudinger <manfred.staudinger@xxxxxxxxx>
Date: Tue, 6 Oct 2009 18:52:53 +0200
Hi jim,

You should be aware that for example
<ul>
       <li>item1</li>
       <ul>
               <li>item6</li>
      </ul>
</ul>
is invalid in terms of html (ul can not be a child of ul). A valid
version would be:
<ul>
       <li>item1
            <ul>
                 <li>item6</li>
            </ul>
     </li>
</ul>

Regards,
Manfred

On 06/10/2009, jim mcgovern <jim.mcgovern2@xxxxxxxxxxxxxx> wrote:
> Just one more point if I may....?
>
> I'd like to limit the number of levels that the tree goes down.
> What's the best way of achieving this?  Is this through
> count(ancestor::*)?
>
> On Tue, Oct 6, 2009 at 5:13 PM, jim mcgovern
> <jim.mcgovern2@xxxxxxxxxxxxxx> wrote:
>> And I'm sorry for being so daft for missing it!
>>
>> Of course that works.  Many thanks!
>>
>> On Tue, Oct 6, 2009 at 5:09 PM, Martin Honnen <Martin.Honnen@xxxxxx>
>> wrote:
>>> jim mcgovern wrote:
>>>
>>>> I've tried your suggestion but it didn't seem to affect the order
>>>> unfortunately. :(
>>>
>>> Sorry, I forgot the '@' in front of 'order' in the select attribute so
>>> use
>>>
>>>    <xsl:template match="Item">
>>>        <xsl:choose>
>>>            <xsl:when test="key('val', @ID)">
>>>                <li><xsl:value-of select="@title"/></li>
>>>                <ul>
>>>                  <xsl:apply-templates select="key('val', @ID)">
>>>                    <xsl:sort select="@order" data-type="number"/>
>>>                  </xsl:apply-templates>
>>>                </ul>
>>>            </xsl:when>
>>>            <xsl:otherwise>
>>>                <li><xsl:value-of select="@title"/></li>
>>>            </xsl:otherwise>
>>>        </xsl:choose>
>>>    </xsl:template>
>>>
>>>
>>> --
>>>
>>>        Martin Honnen
>>>        http://msmvps.com/blogs/martin_honnen/

Current Thread