[XML-DEV Mailing List Archive Home] [By Thread] [By Date] [Recent Entries] [Reply To This Message] RE: Interesting mailing list & a rare broadside
Changing the code to var schemas = new ActiveXObject("MSXML2.XMLSchemaCache.4.0"); schemas.add("http://www.example.org", "cyclic.xsd"); var x = new ActiveXObject("MSXML2.DOMDocument.4.0"); x.async = false; x.schemas = schemas; x.validateOnParse = false; /* don't validate on parse */ x.load("example.xml"); var vError = x.validate(); /* validate, grabbing error object (if any) */ /* print error message */ if(vError.reason != "") WScript.Echo("invalid: " + vError.reason); else WScript.Echo("valid"); Leads to "invalid: Validate failed because the root element had no associated DTD/schema" being displayed. Changing the instance to <foo xmlns="http://www.example.com"/> results in successful validation. -- PITHY WORDS OF WISDOM Never eat yellow snow. This posting is provided "AS IS" with no warranties, and confers no rights. > -----Original Message----- > From: James Clark [mailto:jjc@j...] > Sent: Tuesday, June 04, 2002 9:31 PM > To: Dare Obasanjo; Simon St.Laurent; xml-dev@l... > Subject: Re: Interesting mailing list & a rare broadside > > > > > > I'm not sure how many people read those messages > directly, but I'd > > > certainly be unhappy if <bar /> got past the validator when I was > > > expecting <foo /> as in Clark's point 7. > > > > Both the XmlValidatingReader in the .NET framework and MSXML will > > throw errors because no type definition exists for the <bar /> > > element. > > One of the parsers I tried it with was the latest version of > MSXML (which I generally find to be excellent, BTW). > > Here's example.xml: > > <bar/> > > Here's example.xsd: > > <xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema" > elementFormDefault="qualified" > xmlns="http://www.example.com" > targetNamespace="http://www.example.com"> > > <xs:element name="foo"> > <xs:complexType/> > </xs:element> > > </xs:schema> > > Here's the example.js I used to perform the validation: > > var schemas = new ActiveXObject("MSXML2.XMLSchemaCache.4.0"); > schemas.add("http://www.example.com", "example.xsd"); > > var x = new ActiveXObject("MSXML2.DOMDocument.4.0"); > x.async = false; > x.schemas = schemas; > x.validateOnParse = true; > x.load("example.xml"); > if (x.parseError.errorCode != 0) > WScript.Echo("invalid: " + x.parseError.reason); > else > WScript.Echo("valid"); > > When I run example.js, it says "valid". Note that if you add > xmlns="http://www.example.com" to <bar/>, then it does report > it as invalid. > > Is there something else I should have done to make it report > the example as invalid? > > James > > > > >
|
PURCHASE STYLUS STUDIO ONLINE TODAY!Purchasing Stylus Studio from our online shop is Easy, Secure and Value Priced! Download The World's Best XML IDE!Accelerate XML development with our award-winning XML IDE - Download a free trial today! Subscribe in XML format
|