Re: question from a newbie...please help

Subject: Re: question from a newbie...please help
From: "Eran Pe'er" <eran@xxxxxxxxxxxxx>
Date: Thu, 17 Sep 1998 16:51:10 +0200
-----Original Message-----
From: Davide Bedin <davide@xxxxxxxx>
To: 'xsl-list@xxxxxxxxxxxxxxxx' <xsl-list@xxxxxxxxxxxxxxxx>
Date: Thursday, September 17, 1998 3:38 PM
Subject: question from a newbie...please help


>I have an XML file (really it's an ASP page but it's the same) with this
>hierarchy:
>
><categories>
>    <department>
>        <code>fdfd</code>
>        <description>product</description>
>        <subdepartment>
>            ....the same two fields above......
>            <type>
>                    ....the same here...
>                    <subtype>
>                        ....even here....
>                    </subtype>
>            </type>
>    </department>
></categories>
>
>By the way, there can be more children under a parent element. And in a
>XML file there can be the <subdepartment> element or not, it depends on
>the output of the ASP. The same is for the <subtype> element.
>
>I want to show this hierarchy with UL, each level more indented than the
>parent one, and show the code and description fields of each level as a
>LI
>before the children UL (if children exists). Like this way
>
>Department description & code
> subdepartment description & code
> subdepartment description & code
> type description & code...
>
>There's anyone that can give me any advice on how to do it?
>
>By now I haven't found any hierarchical XSL example.
>
>Thanks in advance.
>Davide Bedin
>
>
> XSL-List info and archive:  http://www.mulberrytech.com/xsl/xsl-list

The following is the most simple way to solve your problem. 
There might be some more sophisticated solutions, but this one works fine:

<xsl:stylesheet>

<xsl:template match="/">
<HTML> 
  <HEAD>
  </HEAD>
  <BODY>
  <xsl:process-children/>
  </BODY>
</HTML>
</xsl:template>

<xsl:template match="department|subdepartment|type|subtype">
  <ul>
  <xsl:process-children/>
  </ul>
</xsl:template>

<xsl:template match="code|product">
  <li><xsl:process-children/></li>
</xsl:template>

</xsl:stylesheet>

Eran Pe'er


 XSL-List info and archive:  http://www.mulberrytech.com/xsl/xsl-list


Current Thread