|
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 |