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

<xsl:eval> equivalent problem

Subject: <xsl:eval> equivalent problem
From: crestall@xxxxxxxxxxx
Date: Wed, 4 Dec 2002 13:00:06 -0700
xsl eval equivalent
Hi All,
?
I am upgrading an WD xsl stylesheet to use the http://www.w3.org/1999/XSL/Transform namespace and have run into some problems with finding an equivalent to <xsl:eval>.? More specifically, I'm trying to find a way to pass parameters into jscript and vbscript functions that were in xsl:eval blocks.? The document currently contains an xsl:eval block that defining the variables for use throughout the xsl:
?
??????????????????????? <xsl:stylesheet
?????? ???????????????? ?xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
?????? ???????????????? ?xmlns:dav="DAV:"? 
?????? ???????????????? ?xmlns:f="urn:schemas-microsoft-com:publishing:"
?????? ???????????????? ?xmlns:office="urn:schemas-microsoft-com:office:office">
?
??? ??????????????????? <xsl:template match="/">
??? ??????? 
       <xsl:eval>
??????????????????????????????????? var g_strDavNS = getNamespaceUsedInXml(this, "DAV:");
??????????????????????????????????? var g_dataURL = this.selectSingleNode("/" + g_strDavNS + ":multistatus/dataURL").text;
??????????????????????????????????? var g_desc = this.xml;
??????????????????????? </xsl:eval>
?
       Followed by quite a bit of xsl processing with periodic reference to these variables throughout:
       ie.
       . dataurl=<xsl:eval>g_dataURL;</xsl:eval>
       and
       <xsl:eval>getDesc(g_desc);</xsl:eval>
       ?
       followed by a large script section:
       ?
       <xsl:script language="vbscript">
       ??????????? <![CDATA[
       ??????????? Function GetIt(value, name)
       ??????????????????????? name = value
       ??????????????????????? GetIt=""
       ??????????? End Function
       ??????????? Function getHTMLMain(dModified, dCreate)
       ??????????????????????? if dCreate = "" then
       ??????????????????????????????????? dCreate=dModified
       ??????????????????????? end if
       ??????????????????????? iDiff = DateDiff("d",now(),dCreate)
       ??????????????????????? if abs(iDiff) < 3 then
       ??????????????????????????????????? getHTMLMain = getHTML()
       ??????????????????????????????????? exit function
       ??????????????????????? else 
       ??????????????????????????????????? iDiff=DateDiff("d",now(), dModified)
       ??????????????????????????????????? if abs(iDiff) < 3 then
       ??????????????????????????????????????????????? getHTMLMain = getHTML()
       ??????????????????????????????????????????????? exit function
       ??????????????????????????????????? end if
       ??????????????????????? end if
       ??????????????????????? getHTMLMain = ""
       ??????????? end function
       ??????????? 
       ??????????? function getHTML()
       ??????????????????????? getHTML = "<img src='_WPR_/newlink.gif' border='0'/>"
       ??????????? End function
       ]]>
       </xsl:script>
       <xsl:script language="JScript">
       ??????????? <![CDATA[
       ??????????? 
       ??????????? function getDesc(sDesc)
       ??????????? {
       ??????????????????????? if(sDesc.length > 50)
       ??????????????????????????????????? return? sDesc;
       ??????????????????????? else
       ??????????????????????????????????? return sDesc;
       ??????????? }
       ??????????? 
       ??? function getNamespaceUsedInXml(nodItem, strNamespace)
       {
       ??????????? if (!nodItem)
       ??????????? {
       ??????????????????????? return "";
       ??????????? }
       ?
       ??????????? var nodOwnerDocument = null;
       ??????????? if (9 == nodItem.nodeType)
       ??????????? {
       ??????????????????????? // What we were handed was actually the root document node and not a regular node.
       ??????????????????????? nodOwnerDocument = nodItem;
       ??????????? }
       ??????????? else
       ??????????? {
       ??????????????????????? // We were handed a regular node. Get the root document node.
       ??????????????????????? nodOwnerDocument = nodItem.ownerDocument;
       ??????????? }
       ??????????? .......more script here......
       ?
       ??????????? return strShortNamespace;
       }
       ]]>
       ??????????? </xsl:script>
       </xsl:stylesheet>
       ?
       It seems as though I could create <xsl:variable> for the three jscript/vbscript specified variables above but I'm not sure how I would pass an equivalent "this" parameter.? I know the xsl:script tags are not supported either and am wondering if the approach of setting an xsl:variable to a script call is even possible. 
       ?
       Hope this makes sense.? Thanks in advance,
       Chris


 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.