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 ]

Thanks! I am glad to hear MSXML allows this to be detected.

Now suppose I change example.xml to:

<bar xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance";
   xsi:noNamespaceSchemaLocation="bar.xsd"/>

where bar.xsd is:

<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema";>

<xs:element name="bar">
  <xs:complexType/>
</xs:element>

</xs:schema>

Is there also some way to tell MSXML not to allow the instance to provide
additional schemas so that this would be detected as invalid as well?

James

----- Original Message -----
From: "Dare Obasanjo" <dareo@microsoft.com>
To: "James Clark" <jjc@jclark.com>; "Simon St.Laurent"
<simonstl@simonstl.com>; <xml-dev@lists.xml.org>
Sent: Wednesday, June 05, 2002 11:55 AM
Subject: RE: [xml-dev] 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@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