JScript Code (validateNode.js)
var xs, xd; main(); function main() { try { xs = new ActiveXObject("MSXML2.XMLSchemaCache.5.0"); xd = new ActiveXObject("MSXML2.DOMDocument.5.0"); } catch (e) { alert("Mirosoft XML Core Services (MSXML) 5.0 for Microsoft Office is not installed.\n" +"Download and install MSXML 5.0 from http://msdn.microsoft.com/xml\n" +"before continuing."); return; } try { xs.add("urn:books", "validateNode.xsd"); xd.schemas = xs; xd.async = false; xd.validateOnParse = false; } catch (e) { alert("Failed to add to schema cache: "+e.description); return; } try { xd.load("validateNode.xml"); } catch (e) { alert("can't load validateNode.xml : " + e.description); return; } var err = xd.validate(); if (err.errorCode != 0 ) alert("invalid dom: \n" + err.reason); else alert("dom is valid:\n" + xd.xml); var nlist = xd.selectNodes("//book"); for (var node = nlist.nextNode(); node!=null; node=nlist.nextNode()) { var err = xd.validateNode(node); if (err.errorCode != 0) alert("invalid node:\n" + err.reason); else alert(node.xml); } } function alert(msg) { WScript.echo(msg); }
Try It!
- Copy the XML data (validateNode.xml), and paste it into a text file. Save the file as validateNode.xml.
- Copy the XSD listing (validateNode.xsd), and paste it into a text file. Save the file as validateNode.xsd, in the same directory where you saved validateNode.xml.
- Copy the JScript listing above, and paste it into a text file. Save the file as validateNode.js, in the same directory where you saved validateNode.xml and validateNode.xsd.
- Double click the validateNode.js file from Windows Explorer to launch the application. Alternatively, you can type "validateNode.js" from a command prompt.
Note Under operating systems other than Windows 2000 or Windows XP, you might need to install Windows Scripting Host (wscript.exe), if it is not already installed.
- Verify that your output is the same as that listed in Output for the validateNode Example.