OASIS Mailing List ArchivesView the OASIS mailing list archive below
or browse/search using MarkMail.

 


Help: OASIS Mailing Lists Help | MarkMail Help

 


 

   RE: [xml-dev] Interesting mailing list & a rare broadside

[ Lists Home | Date Index | Thread Index ]

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@jclark.com] 
> Sent: Tuesday, June 04, 2002 9:31 PM
> To: Dare Obasanjo; Simon St.Laurent; xml-dev@lists.xml.org
> Subject: Re: [xml-dev] 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
> 
> 
> 
> 
> 




 

News | XML in Industry | Calendar | XML Registry
Marketplace | Resources | MyXML.org | Sponsors | Privacy Statement

Copyright 2001 XML.org. This site is hosted by OASIS