Subject: Re: [xsl] custom xsl sorting From: srinivas vemuri <s_vas98@xxxxxxxxx> Date: Wed, 7 Sep 2005 22:07:44 -0700 (PDT) |
Hi, I am not very familiar with XSLT. I tried to reproduce the same & it didn't work(w/o much understanding). My Basic assumption is that: Key 'tp' should be built on 'period.xml'. Here i have the core part of the code: > <xsl:key name="tp" match="val" use="."/> > <xsl:variable name="tps" > select="document('xamp2.xml')/Timeperiods"/> Inside template match /dynamicpage > <xsl:for-each select="$tps/*"> > <xsl:sort select="."/> > > <xsl:variable name="outp" > select="key('tp', @period)"/> > <xsl:value-of select="$outp"/> > > </xsl:for-each> What does sort do here? Sorts tps values!! or Sorts /val values?? Neither makes sense to me. Please correct me!!! Thanks for your inputs & valuable time. Srinivas. --- omprakash.v@xxxxxxxxxxxxx wrote: > > > > > > Hi, > The following stylesheet should do what you > want. > > > <?xml version="1.0" encoding="UTF-8"?> > <xsl:stylesheet version="2.0" > xmlns:xsl="http://www.w3.org/1999/XSL/Transform"> > > <xsl:output method="text"></xsl:output> > > <xsl:key name="tp" match="val" use="."/> > <xsl:variable name="tps" > select="document('xamp2.xml')/Timeperiods"/> > > <xsl:template match="/dynamicpage"> > > <xsl:for-each select="$tps/*"> > <xsl:sort select="."/> > > <xsl:variable name="outp" > select="key('tp', @period)"/> > <xsl:value-of select="$outp"/> > > <xsl:if test="not(position() = last()) > and $outp"> > <xsl:text>,</xsl:text> > </xsl:if> > > </xsl:for-each> > > </xsl:template> > > > > </xsl:stylesheet> > > > > cheers, > prakash > > > > > > > srinivas vemuri > > > <s_vas98@xxxxxxx To: > xsl-list@xxxxxxxxxxxxxxxxxxxxxx > > om> cc: > (bcc: omprakash.v/Polaris) > > > Subject: [xsl] custom xsl sorting > > 09/08/2005 08:31 > > > AM > > > Please respond > > > to xsl-list > > > > > > > > > > > > > Hi, > > I have to perform xsl sorting based on time period > instead of regular ascii or integer based sorting. > For > ex: According to ascii, BYZANTINE comes before > MIDDLE > BRONZE. But, according to this sort(time period): > MIDDLE BRONZE comes before BYZANTINE. > > My initial idea is like this. A separate xml: > 'period.xml' has this period to ascii mapping. > <entry period="middlebronze">1</entry> > <entry period="byzantine">2</entry> > <entry period="Roman">3</entry> > <entry period="islamic">4</entry> > ...... > ---------------------------------------- > Now, my stylesheet should be applied to a dynamic > xml > page & should order period values occur in that > page. > > <dynamicpage> > <val>Roman</val> > <val>Islamic</val> > <val> byzantine </val> > </dynamicpage> > > desired output after xslt application: > > byzantine, Roman, Islamic > > Please help regarding how xslt should look like? > > __________________________________________________ > Do You Yahoo!? > Tired of spam? Yahoo! Mail has the best spam > protection around > http://mail.yahoo.com > > > > > > This e-Mail may contain proprietary and confidential > information and is sent for the intended > recipient(s) only. > If by an addressing or transmission error this mail > has been misdirected to you, you are requested to > delete this mail immediately. > You are also hereby notified that any use, any form > of reproduction, dissemination, copying, disclosure, > modification, > distribution and/or publication of this e-mail > message, contents or its attachment other than by > its intended recipient/s is strictly prohibited. > > Visit Us at http://www.polaris.co.in > > __________________________________________________ Do You Yahoo!? Tired of spam? Yahoo! Mail has the best spam protection around http://mail.yahoo.com
Current Thread |
---|
|
<- Previous | Index | Next -> |
---|---|---|
Re: [xsl] custom xsl sorting, omprakash . v | Thread | Re: [xsl] custom xsl sorting, omprakash . v |
Re: [xsl] custom xsl sorting, omprakash . v | Date | Re: [xsl] custom xsl sorting, omprakash . v |
Month |