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

Re: [xsl] How to modify xsl:param with javascript


Subject: Re: [xsl] How to modify xsl:param with javascript
From: Robert Koberg <rob@xxxxxxxxxx>
Date: Mon, 19 Mar 2001 14:54:15 -0800

Damn my itchy trigger finger...

That should be:
<a href="JavaScript:increment('{$returnedSValue}'>

----- Original Message -----
From: "Robert Koberg" <rob@xxxxxxxxxx>
To: <xsl-list@xxxxxxxxxxxxxxxxxxxxxx>
Sent: Monday, March 19, 2001 2:41 PM
Subject: Re: [xsl] How to modify xsl:param with javascript


> Yea, sorry, since it is in an attribute you need to put the value in a
> variable first and then put it in the attribute like:
> <xsl:variable name="returnedSValue">
>    <xsl:call-template name="getSValue"/>
> </xsl:variable>
> <a href="JavaScript:increment('{returnedSValue}'>
>
>
> ----- Original Message -----
> From: "Davut Karabay" <dkarabay@xxxxxxxxx>
> To: <xsl-list@xxxxxxxxxxxxxxxxxxxxxx>
> Sent: Monday, March 19, 2001 2:23 PM
> Subject: Re: [xsl] How to modify xsl:param with javascript
>
>
> > Hi Robert,
> > Thanks for replies. However, when I do what you are
> > saying then I got the following error message even
> > though I used single quotes.
> >
> > The value of attribute "href" must not contain the '<'
> > character.
> >
> > Also, do you think the following function would work
> > to increment the value?
> >
> > fuction increment(sValue)
> > {
> >     var s =  sValue;
> >     s.value = s.value + 5;
> > }
> >
> > Ragards,
> > Davut Karabay
> >
> >
> > --- Robert Koberg <rob@xxxxxxxxxx> wrote:
> > > The first thing I would do is try to get it to work
> > > in plain html/js. Then
> > > convert that to XSLT.
> > >
> > > If you are including the file then you will not get
> > > a transformation on it
> > > because the include happens when the browser (on the
> > > client) parses the
> > > page.  What I would do is put the 'var s' value as
> > > the parameter that you
> > > send to the function.  So you make the
> > > transformation happen (on the server)
> > > to populate the value as the parameter to send. So
> > > now you have a completely
> > > separate JS function and the generated link with the
> > > value of the
> > > transformation ready to be sent (to the function in
> > > the include) on click of
> > > the link.
> > >
> > > I need some explanation on what you are trying to do
> > > with
> > > document.XSLDocument.selectSingleNode and s.value
> > >
> > > but here is how I would do it:
> > >
> > > fuction increment(sValue)
> > > {
> > >    var s =  sValue;
> > > }
> > >
> > > --------------------------
> > > and the link I don't realy understand what you are
> > > try to do with the XPath
> > > expression but it is way off - also note the single
> > > quote:
> > > <a href="JavaScript:increment('<xsl:call-template
> > > name="getSValue"/>'>
> > >
> > > Then have the getSValue template that returns the
> > > string you need for the
> > > parameter.
> > >
> > > HTH
> > >
> > >
> > >
> > >
> > >
> > >
> > >
> > > ----- Original Message -----
> > > From: "davut karabay" <dkarabay@xxxxxxxxx>
> > > To: <xsl-list@xxxxxxxxxxxxxxxxxxxxxx>
> > > Sent: Monday, March 12, 2001 11:17 AM
> > > Subject: Re: [xsl] How to modify xsl:param with
> > > javascript
> > >
> > >
> > > > Hi,
> > > > I decided to put my javascript function into a
> > > file
> > > > called increment.js like this:
> > > >
> > > > fuction increment()
> > > > {
> > > >   var s =
> > > >
> > >
> >
>
document.XSLDocument.selectSingleNode("/*/xsl:template[@match='/']//xsl:appl
> > >
> > y-templates/xsl:with-param[@name='startIndex']/@select");
> > > >   s.value = s.value + 10;
> > > > }
> > > >
> > > > then I include it like:
> > > >
> > > > <script src="/pxc/increment.js"
> > > > language="JavaScript"></script>
> > > >
> > > > and from <a> tag, I call the function in order to
> > > > increment the xsl parameter startIndex, like this:
> > > >
> > > > <a href="JavaScript:increment()">
> > > >
> > > > It still does not work. Do I need to pass some
> > > > parametes into the function? or return something
> > > from
> > > > there? I am new to JavaScript and any kind of help
> > > is
> > > > greatly appreciated.
> > > > Regards,
> > > > Davut
> > > >
> > > > --- Robert Koberg <rob@xxxxxxxxxx> wrote:
> > > > > in your onclick you have double quotes nested
> > > inside
> > > > > of double quotes. that
> > > > > is a no-no.
> > > > >
> > > > > a better way to handle this is to create a JS
> > > > > function (put in the head with
> > > > > cdata or included) and send the variable info as
> > > > > parameters to the function
> > > > >
> > > > >
> > > > > ----- Original Message -----
> > > > > From: "davut karabay" <dkarabay@xxxxxxxxx>
> > > > > To: <XSL-List@xxxxxxxxxxxxxxxxxxxxxx>
> > > > > Sent: Friday, March 09, 2001 5:06 PM
> > > > > Subject: [xsl] How to modify xsl:param with
> > > > > javascript
> > > > >
> > > > >
> > > > > > Hi,
> > > > > > My xml data would probably contain hundreds of
> > > > > device
> > > > > > names in it. I would like to make my xslt
> > > sheet to
> > > > > > process the data 10 at a time. In other words,
> > > > > only
> > > > > > first 10 of the xml data will be displayed in
> > > the
> > > > > > first html page. There will be a "More"
> > > hyperlink
> > > > > at
> > > > > > the bottom of the page and once clicked, next
> > > 10
> > > > > > should be listed so and so forth...
> > > > > >
> > > > > > I define a parameter called startIndex with an
> > > > > initial
> > > > > > value of 0. Then I would like to increase it
> > > by 10
> > > > > > every time the user clicks "More" hyperlink.
> > > When
> > > > > I
> > > > > > display devices, I choose ones whose
> > > position()
> > > > > > greater than startIndex and less than
> > > > > (startIndex+10).
> > > > > >
> > > > > > Here is the related part of my xslt sheet
> > > which
> > > > > would
> > > > > > not be processed for some reason that I don't
> > > > > > understand.
> > > > > >
> > > > > > <xsl:param name="startIndex" select="0"/>
> > > > > > .....
> > > > > > .....
> > > > > >
> > > > > > <xsl:apply-templates select="device[position()
> > > > > > &gt;=$startIndex and position()
> > > > > > &lt;=($startIndex+10)]"/>
> > > > > > .....
> > > > > > .....
> > > > > >
> > > > > > <a href="javascript:void(0);"
> > > > > > onMouseOver="self.status='More';
> > > return(true);"
> > > > > > onClick="var
> > > > > >
> > > > >
> > > >
> > >
> >
s=style.selectSingleNode("/xsl:stylesheet/xsl:param[@name='startIndex']");
> > > > > > s.value=s.value+10; return(false);"
> > > > > > onMouseOut="self.status=''">More</a>
> > > > > > .....
> > > > > > .....
> > > > > >
> > > > > > I can not even see the first page. Here is the
> > > > > message
> > > > > > I got:
> > > > > >
> > > > > > Element type "a" must be followed by either
> > > > > attribute
> > > > > > specifications, ">" or "/>".
> > > > > >
> > > > > > I understand it does not like it within <a>
> > > tag
> > > > > but I
> > > > > > don't know why.
> > > > > > Does anyone have any suggestions on How else I
> > > > > could
> > > > > > write it?
> > > > > >
> > > > > > Regards,
> > > > > > Davut Karabay
> > > > > >
> > > > > >
> > > > > >
> > > > > >
> > > > > >
> > > __________________________________________________
> > > > > > Do You Yahoo!?
> > > > > > Get email at your own domain with Yahoo! Mail.
> > > > > > http://personal.mail.yahoo.com/
> > > > > >
> > > > > >  XSL-List info and archive:
> > > > > http://www.mulberrytech.com/xsl/xsl-list
> > > > > >
> > > > >
> > >
> > === message truncated ===
> >
> >
> > __________________________________________________
> > Do You Yahoo!?
> > Get email at your own domain with Yahoo! Mail.
> > http://personal.mail.yahoo.com/
> >
> >  XSL-List info and archive:  http://www.mulberrytech.com/xsl/xsl-list
> >
>
>
>  XSL-List info and archive:  http://www.mulberrytech.com/xsl/xsl-list
>


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



Current Thread
Keywords