[XSL-LIST Mailing List Archive Home] [By Thread] [By Date]

RE: [xsl] genarate key using a variable


Subject: RE: [xsl] genarate key using a variable
From: Mukul Gandhi <mukulw3@xxxxxxxxx>
Date: Mon, 1 Sep 2003 02:31:23 -0700 (PDT)

You mean the number of columns C1, C2 etc. are not
fixed and they may change over time. But still they
must be in limits. I guess, initially the number of
columns may be 6 or 7. So you can have 6 or 7 xsl:key
definitions in XSLT. When any new column is
introduced, you can add the corresponding xsl:key
definition. 

With this solution, you will need to maintain the
XSLT. But I guess it will solve the problem with
reasonable simplicity.. 

Regards,
Mukul

--- aruniima.chakrabarti@xxxxxxxxxxxxxxxxxx wrote:
> Thank you David & Mukund. But my problem is bit
> tricky... 
> I have an xml like the below. & I have to filter the
> based any of attributes's  value. That is the user
> can specify that which of the columns' data he wud
> like to filter based of any that column's values.
> Something like excel sheet data filter. So that's
> where exactly I am stuck as I unable to figure out
> how to have both the attribute & its value as
> parameter.
> Also, the numbers of Columns C1, C2 etc are not
> limited
> 
> <?xml version="1.0"?>
> 
> <PickList>
> 	<TotalRows>33</TotalRows>
> 	<Columns C1="Deposit" C2="Period" C3="Status"
> C4="Value Date" C5="Maturity Date" C6="Deposit No"/>
> 	<Tags>ctlMskDepositNo *</Tags>
> 	<Rows>
> 		<Row C1="1" C2="1" C3="Closed Today"
> C4="23/10/2003" C5="23/04/2004" C6="1"/>
> 		<Row C1="2" C2="1" C3="Open Today" C4="06/11/2003"
> C5="05/01/2004" C6="2"/>
> 		<Row C1="3" C2="1" C3="Open Today" C4="29/02/2004"
> C5="29/04/2004" C6="3"/>
> 		<Row C1="7" C2="1" C3="Matured" C4="29/02/2004"
> C5="29/04/2004" C6="7"/>
> 		<Row C1="8" C2="1" C3="Closed" C4="29/02/2004"
> C5="29/04/2004" C6="8"/>
> 		<Row C1="9" C2="1" C3="Closed" C4="29/02/2004"
> C5="29/04/2004" C6="9"/>
> 		<Row C1="10" C2="1" C3=" Matured" C4="29/02/2004"
> C5="29/04/2004" C6="10"/>
> 		<Row C1="11" C2="1" C3="Open Today"
> C4="29/02/2004" C5="19/04/2004" C6="11"/>
> 		<Row C1="16" C2="1" C3="Open Today"
> C4="29/02/2004" C5="29/04/2004" C6="16"/>
> 		<Row C1="17" C2="1" C3="Open Today"
> C4="29/02/2004" C5="29/04/2004" C6="17"/>
> 		<Row C1="18" C2="1" C3="Open Today"
> C4="29/02/2004" C5="29/04/2004" C6="18"/>
> 		<Row C1="19" C2="1" C3="Closed" C4="29/02/2004"
> C5="19/04/2004" C6="19"/>
> 		<Row C1="32" C2="1" C3="Open Today"
> C4="29/02/2004" C5="09/04/2004" C6="32"/>
> 		<Row C1="33" C2="1" C3="Open Today"
> C4="29/02/2004" C5="30/03/2004" C6="33"/>
> 	</Rows>
> </PickList>
> Regards,
> aruniima
> 
>  -----Original Message-----
> From: 	M. David Peterson
> [mailto:conners_dad@xxxxxxx] 
> Sent:	Monday, September 01, 2003 1:56 PM
> To:	xsl-list@xxxxxxxxxxxxxxxxxxxxxx
> Subject:	Re: [xsl] genarate key using a variable
> 
> I forgot that I needed to send this message in plain
> text format.  If the 
> other one gets through I apologize for the repeat
> mail...
> 
> Original text of my email....
> 
> Hey Aruniima,
> 
> You've stumbled upon one that puzzled me for awhile.
>  But I finally came up 
> with a quick and easy workaround.  Im sure there are
> others but this one is 
> simple and it works which are my number one rules of
> coding.
> 
> My assumption is that the number of choices the user
> has as far as node 
> names is fairly limited (e.g. Deposits, Withdrawls,
> etc...) and as such it 
> should be a quick and easy task for the xsl:choose
> element...
> 
> heres the xml file...
> 
> <?xml version="1.0"?>
> <?xml-stylesheet type="text/xsl"
> href="transactions.xslt" ?>
> <transactions>
>     <deposits>
>         <deposit id="001">25.00</deposit>
>         <deposit id="002">25.00</deposit>
>         <deposit id="003">35.00</deposit>
>         <deposit id="004">10.00</deposit>
>         <deposit id="005">12.00</deposit>
>         <deposit id="006">25.00</deposit>
>         <deposit id="007">25.00</deposit>
>     </deposits>
>     <withdrawals>
>         <withdrawal id="001">5.00</withdrawal>
>         <withdrawal id="002">2.00</withdrawal>
>         <withdrawal id="003">5.00</withdrawal>
>         <withdrawal id="004">10.00</withdrawal>
>         <withdrawal id="005">12.00</withdrawal>
>         <withdrawal id="006">250.00</withdrawal>
>         <withdrawal id="007">250.00</withdrawal>
>     </withdrawals>
> </transactions>
> 
> 
> 
> and heres the related xslt file named
> transactions.xslt....  just change the 
> variables accordingly
> 
> 
> <?xml version="1.0" encoding="UTF-8"?>
> <xsl:stylesheet version="1.0"
>      
> xmlns:xsl="http://www.w3.org/1999/XSL/Transform" >
> 
> <xsl:variable name="var_1">deposit</xsl:variable>
> <xsl:variable name="var_2">25.00</xsl:variable>
> <xsl:key name="varMatch_Deposit" match="//deposit"
> use="."/>
> <xsl:key name="varMatch_Withdrawal"
> match="//withdrawal" use="."/>
> 
>     <xsl:template match="/">
> 
>     <xsl:choose>
>         <xsl:when test="$var_1 = 'deposit'">
> 
>             <xsl:for-each
> select="key('varMatch_Deposit', $var_2)">
> 
>                 Deposit ID: <xsl:value-of
> select="@id"/><br/>
>                 Amount: <xsl:value-of
> select="."/><br/><br/><hr/>
> 
>             </xsl:for-each>
> 
>         </xsl:when>
>         <xsl:when test="$var_1 = 'withdrawal'">
> 
>             <xsl:for-each
> select="key('varMatch_Withdrawal', $var_2)">
> 
>                 Other ID: <xsl:value-of
> select="@id"/><br/>
>                 Other Amount: <xsl:value-of
> select="."/><br/><br/><hr/>
> 
>             </xsl:for-each>
> 
>         </xsl:when>
>         <xsl:otherwise>
> 
>             //code for otherwise
> 
>         </xsl:otherwise>
>     </xsl:choose>
> 
>     </xsl:template>
> </xsl:stylesheet>
> 
> 
> Hope this helps.
> 
> Best of luck!
> 
> M.David
> 
> 
> 
> 
> ----- Original Message ----- 
> From: <aruniima.chakrabarti@xxxxxxxxxxxxxxxxxx>
> To: <xsl-list@xxxxxxxxxxxxxxxxxxxxxx>
> Sent: Monday, September 01, 2003 12:16 AM
> Subject: [xsl] genarate key using a variable
> 
> 
> > Hi All,
> > Is it possible to generate a xsl:key using a
> variable ?
> > As in  xsl:key element it does not allow me to use
> a variable in either 
> > match or use attribute. So is there any other way
> to do the same...
> >
> > e.g.
> > I want to search for all Rows with attribute say
> "@Deposit = 1"
> > where I receive both the attribute & the attribute
> value as parameters 
> > from the user.
> >
> >
> >
> > Regards,
> > aruniima
> >
> >
> >
> > DISCLAIMER:
> > This message contains privileged and confidential
> information and is 
> > intended only for the individual named.If you are
> not the intended 
> > recipient you should not
> disseminate,distribute,store,print, copy or 
> > deliver this message.Please notify the sender
> immediately by e-mail if you 
> > have received this e-mail by mistake and delete
> this e-mail from your 
> > system.E-mail transmission cannot be guaranteed to
> be secure or error-free 
> > as information could be
> intercepted,corrupted,lost,destroyed,arrive late 
> > or incomplete or contain viruses.The sender
> therefore does not accept 
> > liability for any errors or omissions in the
> contents of this message 
> > which arise as a result of e-mail transmission. If
> verification is 
> > required please request a hard-copy version.
> >
> >  XSL-List info and archive: 
> http://www.mulberrytech.com/xsl/xsl-list
> >
> > 
> 
>  XSL-List info and archive: 
> http://www.mulberrytech.com/xsl/xsl-list
> 
> 
> 
> 
> DISCLAIMER:
> This message contains privileged and confidential
> information and is intended only for the individual
> named.If you are not the intended recipient you
> should not disseminate,distribute,store,print, copy
> or deliver this message.Please notify the sender
> immediately by e-mail if you have received this
> e-mail by mistake and delete this e-mail from your
> system.E-mail transmission cannot be guaranteed to
> be secure or error-free as information could be
> intercepted,corrupted,lost,destroyed,arrive late or
> incomplete or contain viruses.The sender therefore
> does not accept liability for any errors or
> omissions in the contents of this message which
> arise as a result of e-mail transmission. If
> verification is required please request a hard-copy
> version.
> 
>  XSL-List info and archive: 
> http://www.mulberrytech.com/xsl/xsl-list
> 


__________________________________
Do you Yahoo!?
Yahoo! SiteBuilder - Free, easy-to-use web site design software
http://sitebuilder.yahoo.com

 XSL-List info and archive:  http://www.mulberrytech.com/xsl/xsl-list



Current Thread
Keywords