This is the mail archive of the
xsl-list@mulberrytech.com
mailing list .
RE: How do I pass asp sql stream into xslt stylesheet?
- From: "Chris Bayes" <chris at bayes dot co dot uk>
- To: <xsl-list at lists dot mulberrytech dot com>
- Date: Sat, 22 Dec 2001 09:03:32 -0000
- Subject: RE: [xsl] How do I pass asp sql stream into xslt stylesheet?
- Reply-to: xsl-list at lists dot mulberrytech dot com
David,
You need something like this
------test.js
var xml = new ActiveXObject("MSXML2.FreeThreadedDOMDocument");
var xmlo = new ActiveXObject("MSXML2.FreeThreadedDOMDocument");
var tem = new ActiveXObject("MSXML2.XSLTemplate");
var xsl = new ActiveXObject("MSXML2.FreeThreadedDOMDocument");
var rs = new ActiveXObject("ADODB.Recordset");
var strm = new ActiveXObject("ADODB.Stream");
xml.async = false;
xml.load("test.xml");
xsl.async = false;
xsl.load("test.xsl");
tem.stylesheet = xsl;
var proc = tem.createProcessor();
rs.open("select * from test",
"Provider=Microsoft.Jet.OLEDB.4.0;Data
Source=C:\\temp\\xmlasobj\\test.mdb;");
rs.save(strm, 1); //adPersistXML
xmlo.loadXML(strm.readText());
proc.addObject(xmlo, "urn:cjb");
proc.input = xml;
proc.transform();
var str = proc.output;
WScript.echo(str);
------test.xsl
<?xml version="1.0"?>
<xsl:stylesheet version="1.0"
xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
xmlns:objxml="urn:cjb"
xmlns:msxsl="urn:schemas-microsoft-com:xslt"
>
<xsl:variable name="objectxml"
select="objxml:selectSingleNode('/')" />
<xsl:template match="/">
<html>
<head></head>
<body>
<xsl:copy-of select="$objectxml/" />
</body>
</html>
</xsl:template>
</xsl:stylesheet>
------test.xml
<?xml version='1.0'?>
<test/>
Save all 3 files to C:\temp\xmlasobj create an access database called
test.mdb with one table called test
and then
C:\temp\xmlasobj> cscript test.js
Will produce
<html xmlns:objxml="urn:cjb"
xmlns:msxsl="urn:schemas-microsoft-com:xslt">
<head>
<META http-equiv="Content-Type" content="text/html; charset=UTF-16">
</head>
<body><xml xmlns:s="uuid:BDC6E3F0-6DA3-11d1-A2A3-00AA00C14882"
xmlns:dt="uuid:C2F41010-65B3-11d1-A29F-00AA00C14882"
xmlns:rs="urn:schemas-microsoft-com:rowset" xmlns:z="#RowsetSchema">
<s:Schema id="RowsetSchema">
<s:ElementType name="row" content="eltOnly">
<s:AttributeType name="text" rs:number="1" rs:nullable="true"
rs:maydefer="true" rs:writeunknown="true">
<s:datatype dt:type="string" dt:maxLength="50"/>
</s:AttributeType>
<s:extends type="rs:rowbase"/>
</s:ElementType>
</s:Schema>
<rs:data>
<z:row text="this is a test from test table"/>
</rs:data>
</xml></body>
</html>
Now all you have to do is stick that into an asp and change your
database connection.
Ciao Chris
XML/XSL Portal
http://www.bayes.co.uk/xml
XSL-List info and archive: http://www.mulberrytech.com/xsl/xsl-list