[XSL-LIST Mailing List Archive Home]
[By Thread]
[By Date]
[Recent Entries]
[Reply To This Message]
Re: How to make tree menu from flat XML
Subject: Re: How to make tree menu from flat XML
From: "Mukul Gandhi" <gandhi.mukul@xxxxxxxxx>
Date: Sat, 22 Jul 2006 22:53:00 +0530
|
Perhaps something like this could get you started:
<?xml version="1.0" encoding="UTF-8"?>
<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
<xsl:output method="xml" indent="yes"/>
<xsl:template match="/records">
<xsl:for-each select="record[keynum < -100]">
<record keynum="{keynum}">
<xsl:variable name="key1" select="keynum" />
<xsl:for-each select="../record[(keynum >= -50) and (keynum
<= 0) and (parentkeynum = $key1)]">
<xsl:variable name="key2" select="keynum" />
<record keynum="{keynum}">
<xsl:for-each select="../record[(keynum > 0) and
(parentkeynum = $key2)]">
<record keynum="{keynum}">
</record>
</xsl:for-each>
</record>
</xsl:for-each>
</record>
</xsl:for-each>
</xsl:template>
</xsl:stylesheet>
Regards,
Mukul
http://gandhimukul.tripod.com
On 7/22/06, Radoslav Kolarov <roonex@xxxxxxxxx> wrote:
Hi, I have this XML, and I want to make tree menu. The
roots elements of tree menu are the records with
keynum < -100, the children of the root elements are
records with keynum between -50 and 0 and
parentkeynum=keynum of the root, and the third level
of the tree menu are records with keynum > 0, and the
parentnumber shows the keynum of their parent. Please
help me.
XML file:
<?xml version="1.0" ?>
- <records>
- <record>
<keynum>-1</keynum>
<keyname>2 CLIENTS HAVE A NEGATIVE BALANCE</keyname>
<parentkeynum>-100000</parentkeynum>
<rowcnt>2</rowcnt>
<balance>0</balance>
</record>
- <record>
<keynum>35</keynum>
<keyname>35 MR. MICHAEL NOLAN</keyname>
<parentkeynum>-1</parentkeynum>
<rowcnt>1</rowcnt>
<balance>-275</balance>
</record>
- <record>
<keynum>142</keynum>
<keyname>142 MR. JOHN CALINSKI</keyname>
<parentkeynum>-1</parentkeynum>
<rowcnt>1</rowcnt>
<balance>-11</balance>
</record>
- <record>
<keynum>-3</keynum>
<keyname>42 CLIENTS CREDIT IS GREATER THAN
BALANCE</keyname>
<parentkeynum>-100000</parentkeynum>
<rowcnt>42</rowcnt>
<balance>0</balance>
</record>
- <record>
<keynum>18</keynum>
<keyname>18 MRS. LYNN BONIN</keyname>
<parentkeynum>-3</parentkeynum>
<rowcnt>1</rowcnt>
<balance>0</balance>
</record>
- <record>
<keynum>35</keynum>
<keyname>35 MR. MICHAEL NOLAN</keyname>
<parentkeynum>-3</parentkeynum>
<rowcnt>1</rowcnt>
<balance>-275</balance>
</record>
- <record>
<keynum>43</keynum>
<keyname>43 MR. JAMES D. NEFF</keyname>
<parentkeynum>-3</parentkeynum>
<rowcnt>1</rowcnt>
<balance>0</balance>
</record>
.................
.................
.................
- <record>
<keynum>10006</keynum>
<keyname>10006 MR. DALE SPONSEL 2003-04-24</keyname>
<parentkeynum>-16</parentkeynum>
<rowcnt>1</rowcnt>
<balance>0</balance>
</record>
- <record>
<keynum>-100003</keynum>
<keyname>APPOINTMENT ALERTS (1)</keyname>
<parentkeynum>0</parentkeynum>
<rowcnt>1</rowcnt>
<balance>0</balance>
</record>
- <record>
<keynum>-100002</keynum>
<keyname>HAIR SYSTEM ALERTS (2)</keyname>
<parentkeynum>0</parentkeynum>
<rowcnt>2</rowcnt>
<balance>0</balance>
</record>
- <record>
<keynum>-100001</keynum>
<keyname>PROGRAM ALERTS (2)</keyname>
<parentkeynum>0</parentkeynum>
<rowcnt>2</rowcnt>
<balance>0</balance>
</record>
- <record>
<keynum>-100000</keynum>
<keyname>FINANCIAL ALERTS (5)</keyname>
<parentkeynum>0</parentkeynum>
<rowcnt>5</rowcnt>
<balance>0</balance>
</record>
</records>
|
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
RSS 2.0 |
|
Atom 0.3 |
|
|