[XSL-LIST Mailing List Archive Home] [By Thread] [By Date] [Recent Entries] [Reply To This Message]

Re: dynamic pages with URL parameters

Subject: Re: dynamic pages with URL parameters
From: Bill Humphries <bill@xxxxxxxxx>
Date: Tue, 22 Aug 2000 23:45:13 -0700
dynamic url parameter
At 3:10 AM +0000 8/23/00, Ben C. wrote:
>   How are you adding parameters to a URL to make dynamic pages?  I know 
>that you can feed parameters using the URL, but I have yet to figure out how 
>to read and set them in a stylesheet.  Is there any possible way I could get 
>you to show me some extremly simple code for this?

I'm understanding this to mean that you want to pass a parameter into a style sheet from some calling script/shell/process and then use that parameter in a template that generates the URL?

So you have a stylesheet like:

<xsl:stylesheet ... >
  <xsl:output method="html"/>
  <xsl:parameter name="URLPARM"/>
  
  <xsl:variable name="BASE">http://www.foo.com/dynamic.cgi?</xsl:variable>
  <xsl:variable name="URL" select="concat($BASE,$URLPARM)"/> 

  <xsl:template match="/">
    <html>
	<head>
	   <title>example</title>
	</head>
	<body>
	  <a href="{$URL}">dynamic link</a>
	</body>
    </html>
  </xsl:template>

</xsl:stylesheet>

What platform are you writing this in? I've got working examples in PHP and ASP of how to pass parameters into a styleheet. You can then use the parameter to generate the URL.

PHP: http://www.whump.com/www/phpSablot.html 
(Wrapper Class for PHP Sablotron XSLT Engine Extension)
See the notes on the setParameter method.

ASP: From a message on 8/3 which isn't in the searchable archives yet:

> Does MSXML ( dll v 5.*, IE 5 ) allow the use of Params or variables
 syntax
> examples appreciated !!! ) ?
> I'm using the parser that came with Win 2k AS with no updates.

You'll need to make sure you have the May or later release of the parser.

>From reading the documentation in the SDK and Michael Kay's book (you
know he will be known as St. Michael soon :> )

You can't use the transformNode method of the DOM, instead, you need
to create a XSLTemplate object, get an XSLTProcessor object from it,
then use the addParameter method.

<%@LANGUAGE="VBScript"%>

<%
Dim xsldoc
Dim myTemplate
Dim myProc
Dim xmldoc

'It has to be Free-Threaded, the idea is to make the widget available
'to an app and have multple users bang on it.
Set xsldoc = Server.CreateObject("Msxml2.FreeThreadedDOMDocument.3.0")
xsldoc.async = false
xsldoc.load Server.MapPath("tranform.xsl")

'This is the critical widget, a compliled XSL template
Set myTemplate = Server.CreateObject("Msxml2.XSLTemplate.3.0")
myTemplate.stylesheet = xsldoc

Set xmldoc = Server.CreateObject("Msxml2.DOMDocument.3.0")

xmldoc.async = false
xmldoc.load Server.MapPath("input.xml")

Set myProc = myTemplate.createProcessor()
myProc.input = xmldoc

'Now set the parameter
myProc.addParameter(URLPARM,"somestring")
myProc.output = Response
myProc.transform()

%>

Bill Humphries <bill@xxxxxxxxx>



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


Current Thread

PURCHASE STYLUS STUDIO ONLINE TODAY!

Purchasing Stylus Studio from our online shop is Easy, Secure and Value Priced!

Buy Stylus Studio Now

Download The World's Best XML IDE!

Accelerate XML development with our award-winning XML IDE - Download a free trial today!

Don't miss another message! Subscribe to this list today.
Email
First Name
Last Name
Company
Subscribe in XML format
RSS 2.0
Atom 0.3
Site Map | Privacy Policy | Terms of Use | Trademarks
Free Stylus Studio XML Training:
W3C Member
Stylus Studio® and DataDirect XQuery ™are products from DataDirect Technologies, is a registered trademark of Progress Software Corporation, in the U.S. and other countries. © 2004-2013 All Rights Reserved.