[XSL-LIST Mailing List Archive Home]
[By Thread]
[By Date]
[Recent Entries]
[Reply To This Message]
Re: XSL Transformation
Subject: Re: XSL Transformation
From: Brian Chrisman <brian.chrisman@xxxxxx>
Date: Mon, 15 Mar 2004 09:59:58 +0100
|
Jim Han wrote:
I've trying to work on this XSL transformation but I am running into a wall.
Can some help me get started?
Here's a site that has good info grouping and other stuff... was very
helpful to me in doing something similar to what you want:
http://www.jenitennison.com/xslt/grouping/muenchian.html
Of course, that would generally give you alpha-based entries only for
the existing nodes.
Another option, since you have a limited and predefined grouping space
would be to do something like (not working code here, just a suggestion):
<xsl:variable name="alpha" select="'ABCDEFGHIJKLMNOPQRSTUVWXYZ'"/>
<xsl:template name="organize">
<xsl:call-template name="orgnize-recurse">
<xsl:with-param select="$alpha"/>
</xsl:call-template>
</xsl:template>
<xsl:template name="organize-recurse">
<xsl:param name="alpha-list"/>
<xsl:variable name="first" select="substring($alpha-list,1,1)"/>
<xsl:variable name="rest" select="substring-after($alpha-list, $first)/>
<entry><xsl:attribute name="$first"/>
<xsl:apply-templates
select="/XML/row[substring(@Keyword,1,1)=substring($alpha-cur,1,1)]"/>
</entry>
<xsl:call-template name="organize-recurse">
<xsl:with-param name="alpha-list" select="$rest"/>
</xsl:call-template>
</xsl:template>
Add template to show individual entry......
hope this helps a little.
-Brian
I need an xsl to conver this xml:
<XML>
<row Key_ID="2" Keyword="A-10" Description="A-10 Warthog ARF w/ Ducted Fans" Status="active"/>
<row Key_ID="3" Keyword="Aerobird Challenger" Description="Aerobird Challenger RTF " Status="active"/>
<row Key_ID="5" Keyword="CARISMA" Description="CARISMA R/C CARS" Status="active"/>
<row Key_ID="4" Keyword="Mech Warrior" Description="Mech Warrior: Fire For Effect Booster Pack " Status="active"/>
<row Key_ID="1" Keyword="Mini-T" Description="Mini-T RTR 1/18-Scale Off-Road Truck" Status="active"/>
</XML>
To:
<?xml version="1.0" encoding="UTF-8"?>
<Keywords xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
<Keyword Letter="A">
<Term>
<Id>2</Id>
<Name>A-10</Name>
<Definition>A-10 Warthog ARF w/ Ducted Fans.</Definition>
<status>active</status>
</Term>
<Term>
<Id>3</Id>
<Name>Aerobird Challenger</Name>
<Definition>Aerobird Challenger RTF..</Definition>
<status>active</status>
</Term>
</Keyword>
<Keyword Letter="B">
</Keyword>
<Keyword Letter="C">
<Term>
<Id>5</Id>
<Name>CARISMA</Name>
<Definition>CARISMA R/C CARS</Definition>
<status>active</status>
</Term>
</Keyword>
<Keyword Letter="D"/>
<Keyword Letter="E"/>
<Keyword Letter="F"/>
<Keyword Letter="G"/>
<Keyword Letter="H"/>
<Keyword Letter="I"/>
<Keyword Letter="J"/>
<Keyword Letter="K"/>
<Keyword Letter="L"/>
<Keyword Letter="M">
<Term>
<Id>4</Id>
<Name>Mech Warrior</Name>
<Definition>Mech Warrior: Fire For Effect Booster Pack</Definition>
<status>active</status>
</Term>
<Term>
<Id>1</Id>
<Name>Mini-T</Name>
<Definition>Mini-T RTR 1/18-Scale Off-Road Truck</Definition>
<status>active</status>
</Term>
</Keyword>
<Keyword Letter="N"/>
<Keyword Letter="O"/>
<Keyword Letter="P"/>
<Keyword Letter="Q"/>
<Keyword Letter="R"/>
<Keyword Letter="S"/>
<Keyword Letter="T"/>
<Keyword Letter="U"/>
<Keyword Letter="V"/>
<Keyword Letter="W"/>
<Keyword Letter="X"/>
<Keyword Letter="Y"/>
<Keyword Letter="Z"/>
</Keywords>
Jim
XSL-List info and archive: http://www.mulberrytech.com/xsl/xsl-list
XSL-List info and archive: http://www.mulberrytech.com/xsl/xsl-list
|
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 |
|
|