[XML-DEV Mailing List Archive Home] [By Thread] [By Date] [Recent Entries] [Reply To This Message]

RE: MSXML and the "<any>" tag in XML Schemas


xml any tag
Chris,

I use xs:any a lot with MSXML, and find that the parser is very good at
reporting non-deterministic schemas that result from its incorrect use. This
is a good thing :-). Some other parsers do not report these errors, so you
might think that MSXML is wrong when it is not. I make it a rule to test all
schemas with MSXML for this reason.

That is the preliminary. These errors result from the parser not being able
to tell if an element should be parsed against the xs:any or some other part
of the content model. You are therefore playing safe(r) using
namespace="##other". However, this will not work if you reference an element
from some other namespace in your content model in a way that could still be
misconstrued. For example:

 <xs:element name="MyElement">
 	<xs:complexType>
 		<xs:sequence>
 			<xs:any namespace="##other" minOccurs="0" maxOccurs="unbounded"/>
 			<xs:element ref="ns:SomeChildElement" minOccurs="1" maxOccurs="1"/>
 			<xs:element ref="SomeOtherChild"/>
 		</xs:sequence>
 	</xs:complexType>
 </xs:element>

You don't appear to be doing that, but then it looks as though you have
tailored your schema to post it here. Could it be something like that in
your real example? Either that, or I have missed something really obvious.

Regards

Paul Spencer

> -----Original Message-----
> From: Strolia-Davis Christopher Contr MSG/MAT
> [mailto:Christopher.Strolia-Davis@w...]
> Sent: 10 December 2003 15:11
> To: xml-dev@l...
> Subject:  MSXML and the "<any>" tag in XML Schemas
>
>
> Hi folks,
>
> I'm curious to see if anyone has seen this problem before, and if
> they have a fix.
>
> I am constrained to using MSXML2.4.0 for my XML schema validating needs.
>
> I am trying to make my schema extensible with the use of the
> "<any>" tag, but I keep getting an error that says that the
> schema is non-deterministic.
>
> I have tried using the namespace="##other" attribute of the
> "<any>" tag to try to prevent this, however, this does not seem to work.
>
> So far the only thing that seems to work is if I create an
> element, in which the "<any>" tag is the only child.
>
> If anyone has seen this problem before, and knows how to get
> around it, please let me know.
>
> ex.
>
> <xs:element name="MyElement">
> 	<xs:complexType>
> 		<xs:sequence>
> 			<xs:any namespace="##other" minOccurs="0"
> maxOccurs="unbounded"/>
> 			<xs:element ref="SomeChildElement"
> minOccurs="1" maxOccurs="1"/>
> 			<xs:element ref="SomeOtherChild"/>
> 		</xs:sequence>
> 	</xs:complexType>
> </xs:element>
>
> thanx in advance for your help.
>
> Chris Strolia-Davis
> Database Specialist
> Contractor - CDO Technologies Inc.
>
> -----------------------------------------------------------------
> The xml-dev list is sponsored by XML.org <http://www.xml.org>, an
> initiative of OASIS <http://www.oasis-open.org>
>
> The list archives are at http://lists.xml.org/archives/xml-dev/
>
> To subscribe or unsubscribe from this list use the subscription
> manager: <http://lists.xml.org/ob/adm.pl>
>
>


PURCHASE STYLUS STUDIO ONLINE TODAY!

Purchasing Stylus Studio from our online shop is Easy, Secure and Value Priced!

Buy Stylus Studio Now

Download The World's Best XML IDE!

Accelerate XML development with our award-winning XML IDE - Download a free trial today!

Don't miss another message! Subscribe to this list today.
Email
First Name
Last Name
Company
Subscribe in XML format
RSS 2.0
Atom 0.3
 

Stylus Studio has published XML-DEV in RSS and ATOM formats, enabling users to easily subcribe to the list from their preferred news reader application.


Stylus Studio Sponsored Links are added links designed to provide related and additional information to the visitors of this website. they were not included by the author in the initial post. To view the content without the Sponsor Links please click here.

Site Map | Privacy Policy | Terms of Use | Trademarks
Free Stylus Studio XML Training:
W3C Member
Stylus Studio® and DataDirect XQuery ™are products from DataDirect Technologies, is a registered trademark of Progress Software Corporation, in the U.S. and other countries. © 2004-2013 All Rights Reserved.