xsl-list
[Top] [All Lists]

Re: XSL Transformation

2004-03-15 01:59:58
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



<Prev in Thread] Current Thread [Next in Thread>