XMLDOM & ActiveXObject

R

reclusive monkey

I am just starting out with XML. I've been playing with XML and XSLT,
very nice indeed. I particularly like the filtering/ordering functions.
Anyway, I have started to have a look at scripting, and would like to
use JavaScript as then I use Firefox as well as IE (tried some
VBScript, fine in IE of course but no go in Firefox). I have copied an
example from "XML Unleashed", but when I try it, I get the following
error;

A Runtime Error has occured
Do you wish to Debug?
Line: 12
Error: Object doesn't support this property or method

twice, then twice with line 43. Firefox JavaScript console gives the
following;

Error: ActiveXObject is not defined
Source File: file:///S:/Forms/XML/ReadyChecker.htm
Line: 11

Its something to do with microsoft.xmldom, and I've googled all over
for this but I only found one post on Tek Tips that seemed relevant but
the link it pointed to on the Microsoft site is no longer there. I know
nothing of JavaScript, so I have obviously missed something simple but
I am really stuck here! Can anyone help me out? The full source is
here;

<!DOCTYPE HTML PUBLIC "-//IETF//DTD HTML//EN">
<html>
<head>
<title>XML Ready Checker</title>
<link rel="stylesheet" href="XML_style.css" type="text/css"
media="screen">
<script language="JavaScript">
<!--
var xmldoc;

function LoadDoc() {
xmldoc = new ActiveXObject ("microsoft.xmldom");
READYINFO.innerHTML += "<br>" + "Tracking ready states:" + "<br>"
xmldoc.onreadystagechange = TrackReadyState;
xmldoc.load(URL.value);
DocInfo();
}

function TrackReadyState() {
var state = xmldoc.readyState;
READYINFO.innerHTML += "Ready state = " + state + "<br>"
if (state == 4) {
var err = xmldoc.parseError;
if (err.errorCode !=0)
READYINFO.innerHTML += err.reason + "<br>"
else
READYINFO.innerHTML += "Document loaded successfully." + "<br><br>"
}
}

function DocInfo() {
DOCINFO.innerHTML += "Document URL: " + xmldoc.url + "<br>";
DOCINFO.innerHTML += "Document typr: " + xmldoc.doctype.name +
"<br>";
}
//-->
</script>

</head>
<body>
<h1>SCSD Finance Department</h1>
<h2>XML Ready Checker</h2>
<p>Please enter a XML document URL:
<br>
<input type="text" size="50" id="URL">
<input type="button" value="Load XML Document" onclick="LoadDoc()">
<div id="READYINFO" style="colour:blue;"></div>
<div id="DOCINFO" style="colour:green;"></div>
</p>
<div class="footer">Produced by <a
href="mailto:[email protected]">[email protected]</a>
Finance Technician, Finance Dept., SCSD, Ext.: 2597.
</div>
</body>
</html>

Thanks for looking.
 
B

Berislav Lopac

reclusive said:
I am just starting out with XML. I've been playing with XML and XSLT,
very nice indeed. I particularly like the filtering/ordering
functions. Anyway, I have started to have a look at scripting, and
would like to use JavaScript as then I use Firefox as well as IE
(tried some VBScript, fine in IE of course but no go in Firefox).

https://sourceforge.net/projects/sarissa/
 
M

Martin Honnen

reclusive said:
I am just starting out with XML. I've been playing with XML and XSLT,
very nice indeed. I particularly like the filtering/ordering functions.
Anyway, I have started to have a look at scripting, and would like to
use JavaScript as then I use Firefox as well as IE (tried some
VBScript, fine in IE of course but no go in Firefox).

It doesn't really matter what you use with IE (Windows) as the objects
used for scripting XML and XSLT are not part of the core JavaScript
language but are simply ActiveX objects you use from J(ava)Script or
VBscript. These objects are not accessible from script in Firefox, not
even on the Windows platform.
For scripting XSLT in Firefox/Mozilla, see
<http://www.mozilla.org/projects/xslt/js-interface.html>
though if you are new to all that then you might be better of with
Sarissa, an attempt to provide one scripting interface usable with both
MSIE/Win and with Mozilla browsers:
<http://sarissa.sourceforge.net/doc/>


A Runtime Error has occured
Do you wish to Debug?
Line: 12
Error: Object doesn't support this property or method

xmldoc = new ActiveXObject ("microsoft.xmldom");
READYINFO.innerHTML += "<br>" + "Tracking ready states:" + "<br>"
xmldoc.onreadystagechange = TrackReadyState;

Seems to be a typo
xmldoc.onreadystatechange = ...
while you have
xmldoc.onreadystagechange
 
R

reclusive monkey

Thanks for the reply Martin, I understand the objects issue a little
more now. I've downloaded Sarissa and will take a look at that
tomorrow. Also, thanks to your "eagle eye". Once you've read something
through a few times, I don't think you really see it any more. I would
of probably never spotted the typo! Once again, many thanks.
 

Ask a Question

Want to reply to this thread or ask your own question?

You'll need to choose a username for the site, which only take a couple of moments. After that, you can post your question and our members will help you out.

Ask a Question

Members online

No members online now.

Forum statistics

Threads
473,769
Messages
2,569,581
Members
45,056
Latest member
GlycogenSupporthealth

Latest Threads

Top