Subject: Re: [xsl] How to modify xsl:param with javascript From: Robert Koberg <rob@xxxxxxxxxx> Date: Mon, 19 Mar 2001 14:41:58 -0800 |
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() > > > > > >=$startIndex and position() > > > > > <=($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
Current Thread |
---|
|
<- Previous | Index | Next -> |
---|---|---|
Re: [xsl] How to modify xsl:param w, Davut Karabay | Thread | Re: [xsl] How to modify xsl:param w, Robert Koberg |
Re: [xsl] How to modify xsl:param w, Davut Karabay | Date | Re: [xsl] Fwd: XSL question, Peter Flynn |
Month |