As the error pointa out VBScript is not supported under .NET use "VB"
instead.
System.Xml.Xsl.XsltCompileException: file:///c:/Program Files/eXcelon
Corp/Stylus Studio/examples/dotnet.xsl(17,4) :
---> System.Xml.Xsl.XsltException: The scripting language 'vbscript' is
not supported.
at System.Xml.Xsl.ContainerAction.AddScript(Compiler compiler)
at
System.Xml.Xsl.ContainerAction.CompileTopLevelElements(Compiler
compiler)
at System.Xml.Xsl.ContainerAction.CompileDocument(Compiler
compiler, Boolean inInclude)
at System.Xml.Xsl.RootActionDbg.Compile(Compiler compiler)
at System.Xml.Xsl.DbgCompiler.CreateRootAction()
Ivan
-----Original Message-----
From: John Aschenbrenner [mailto:jaschenbrenner(_at_)ignitionmts(_dot_)com]
Sent: Tuesday, January 14, 2003 1:21 PM
To: xsl-list(_at_)lists(_dot_)mulberrytech(_dot_)com
Subject: [xsl] Microsoft's .Net XML
'System.Xml.Xsl.XslTransform' and Scripting
Has anyone been able to get the above .Net assembly to work
with XSL that contains script. In the past I have been able
to embed VB & Java Script in a CDATA section in the XSL file
and have it work fine using MSXML. Does anyone know if this
still works and if so how? I have not been able to get it to
work with the following example.
<!-- Source file -->
<?xml version="1.0" encoding="UTF-8"?>
<root>
<row theDate="2003-01-14"/>
</root>
<!-- Transform file -->
<?xml version="1.0" encoding="UTF-8"?>
<xsl:stylesheet xmlns:xsl='http://www.w3.org/1999/XSL/Transform'
xmlns:msxsl='urn:schemas-microsoft-com:xslt'
xmlns:var='urn:var'
xmlns:user='urn:user'
exclude-result-prefixes='msxsl var user'
version='1.0'>
<xsl:output method="html" encoding="utf-8"/>
<xsl:template match="root">
<html>
<head>
<title></title>
</head>
<body>
<xsl:variable name="myDate" select="row/@theDate"/>
The date is
<xsl:value-of select="$myDate"/><br/>
<xsl:variable name='var:addDate'
select='user:mydateadd("d", "15", string($myDate))'/>
Add 15 days to that date =
<xsl:value-of select="$var:addDate"/><br/>
</body>
</html>
</xsl:template>
<!-- VB Script function to add to the date -->
<msxsl:script language='VBScript' implements-prefix='user'>
<![CDATA[
Function MyDateAdd(Interval, Number, TheDate)
Dim sumDate
Dim myDate(2)
sumDate = DateAdd(CStr(Interval), CDbl(Number),
CDate(TheDate))
' necessary to do some string manipulation
because the DateAdd func returns wrong format
myDate(0) = DatePart("yyyy", CDate(sumDate))
myDate(1) = DatePart("m", CDate(sumDate))
If Len(myDate(1)) = 1 Then myDate(1) = "0" & myDate(1)
myDate(2) = DatePart("d", CDate(sumDate))
If Len(myDate(2)) = 1 Then myDate(2) = "0" & myDate(2)
MyDateAdd = Join(myDate, "-")
End Function
]]>
</msxsl:script>
</xsl:stylesheet>
As I said this works fine when using MSXML. However when
using 'System.Xml.Xsl.XslTransform' an exception is thrown
when you load the transform document.
Is this functionality no longer supported in the
'System.Xml.Xsl.XslTransform' assembly?
Thank you,
John Aschenbrenner
Ignition Mortgage Technology Solutions, Inc.
jaschenbrenner(_at_)ignitionmts(_dot_)com
Ph: (253)858-8955 x 239
http://www.ignitionmts.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