It sounds as if your problem is in finding a design pattern for this
problem.
The problem is a multi-level grouping problem, where the first-level
grouping key is subsstring(code, 1, 1) and the second-level grouping key
is substring(code, 2, 1).
With this knowledge you can apply the standard Muenchian grouping
technique as described at http://www.jenitennison.com/xslt/grouping, and
in all good textbooks.
Michael Kay
Software AG
home: Michael(_dot_)H(_dot_)Kay(_at_)ntlworld(_dot_)com
work: Michael(_dot_)Kay(_at_)softwareag(_dot_)com
-----Original Message-----
From: owner-xsl-list(_at_)lists(_dot_)mulberrytech(_dot_)com
[mailto:owner-xsl-list(_at_)lists(_dot_)mulberrytech(_dot_)com] On Behalf Of
Jim Han
Sent: 26 March 2003 20:25
To: 'XSL-List(_at_)lists(_dot_)mulberrytech(_dot_)com'
Subject: [xsl] XML to XML
I need some help in writing xsl to transform XML to XML.
I am getting lost in concepts of having multiple templates
Original:
<Categories>
<Category>
<Code>A</Code>
<Description>Airplanes</Description>
</Category>
<Category>
<Code>AA</Code>
<Description>Airplanes (ARF)</Description>
</Category>
<Category>
<Code>AAE</Code>
<Description>Airplanes (ARF), Electric</Description>
</Category>
<Category>
<Code>AAG</Code>
<Description>Airplanes (ARF), Giant</Description>
</Category>
<Category>
<Code>AAP</Code>
<Description>Airplanes (ARF), Sailplane</Description>
</Category>
<Category>
<Code>B</Code>
<Description>Boats</Description>
</Category>
<Category>
<Code>BA</Code>
<Description>Boats (ARF)</Description>
</Category>
<Category>
<Code>BAE</Code>
<Description>Boats (ARF), Electric</Description>
</Category>
<Categories>
Final Result - where one letter, two letter, and three letter
categories are nested.
<Categories>
<LevelOneCategory Code="A" Description="Airplanes">
<LevelTwoCategory Code="AA"
Description="Airplanes (ARF)">
<LevelThreeCategory Code="AAE"
Description="Airplanes (ARF), Electric"/>
<LevelThreeCategory Code="AAG"
Description="Airplanes (ARF), Giant"/>
<LevelThreeCategory Code="AAP"
Description="Airplanes (ARF), Sailplane"/>
</LevelTwoCategory>
</LevelOneCategory>
<LevelOneCategory Code="B" Description="Boats">
<LevelTwoCategory Code="BA" Description="Boats (ARF)">
<LevelThreeCategory Code="BAE"
Description="Boats
(ARF), Electric"/>
</LevelTwoCategory>
</LevelOneCategory>
<Categories>
Thank you!
Jim Han
XSL-List info and archive: http://www.mulberrytech.com/xsl/xsl-list
XSL-List info and archive: http://www.mulberrytech.com/xsl/xsl-list