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

Subject: Re: [xsl] How to modify xsl:param with javascript
From: Davut Karabay <dkarabay@xxxxxxxxx>
Date: Mon, 19 Mar 2001 14:23:10 -0800 (PST)
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


Current Thread