Article ID: 818081 - View products that this article applies to.
This article is part 1 of 4 in the series of articles that documents the bugs that are fixed in Microsoft XML (MSXML) 4.0 Service Pack 2 (SP2).
The following bugs have been fixed in MSXML 4.0 SP2:
Fix: "Schema Is Non-Deterministic" Error Message Should Specify the XPath Location of the Failing Schema DefinitionThe following generic XML validation error message:
has been enhanced in MSXML 4.0 SP2 to report the XPath location of the non-deterministic type definition in an XML schema. For additional information about non-deterministic XML schemas, click the following article number to view the article in the Microsoft Knowledge Base:
Schema is non-deterministic
(http://support.microsoft.com/kb/316297/EN-US/ )PRB: "Schema Is Non-Deterministic" Error Message When You Add XSD to XMLSchemaCache Object
Fix: ServerXMLHTTP Validation Failures When You Use Extended Characters in User NamesIn MSXML 4.0 RTM and Service Pack 1 (SP1), the following authentication error is reported when you use ServerXmlHttp to execute HTTP requests by supplying a valid user name that contains extended characters:
This problem has been fixed in MSXML 4.0 SP2. For additional information about this problem in MSXML 4.0, click the following article number to view the article in the Microsoft Knowledge Base:
Error message: HTTP 401.1 - Unauthorized: Logon Failed
(http://support.microsoft.com/kb/316594/EN-US/ )ServerXMLHTTP Validation Failures When You Use Extended Characters in User Names
Fix: XSD Validation Does Not Enforce Restriction Defined on a Base SimpleTypeIn MSXML 4.0 RTM and SP1, the XML schema validator does not enforce restrictions that are defined on base simpleTypes.
Validating the data in the following sample XML document Restriction.xml against the sample schema Restriction.xsd does not raise any errors in MSMXL 4.0 RTM and SP1 even though the value of the AlphaTestValue element contains a character (the ‘-‘ character) that is restricted by the AlphaType base simpleType:
In MSXML 4.0 SP2, a fix has been implemented to enforce restrictions defined on base simpleTypes when validating XML data. This is a breaking change that has been implemented to enhance compliancy with the World Wide Web Consortium (W3C) XML Schema specification. XML data that violates restrictions defined on base simpleTypes fail validation in MSXML 4.0 SP2.
Fix: DOM: SetAttribute() Should Raise Error When Attribute Value Contains Invalid XML CharactersThe IXMLDOMElement.setAttribute() method has been fixed to generate an error when a specified attribute value contains invalid XML characters.
The following are the valid XML characters and character ranges (hexadecimal values) as defined by the W3C XML language specifications 1.0.:
This is a breaking change that has been implemented to enhance compliancy with the W3C XML specification. You receive a runtime error message after you upgrade to MSXML 4.0 SP2 if you have code that uses the setAttribute DOM API method to assign values that contain invalid XML characters to XML attributes. To resolve this, you must change your code so that you do not use invalid XML characters in attribute values.
Fix: IXMLDOMNode.attributes Does Not Return All Default AttributesIn MSXML 4.0 RTM and SP1, using the following loop:
to enumerate the returned IXMLDOMNamedNodeMap collection object, does not return all the default attributes that are defined for an XML element. Only the first default attribute is returned, and the following error is raised when the code in the enumeration loop tries to access the second default attribute:
This problem can be reproduced in MSXML 4.0 RTM and SP1 by executing the following Visual Basic code to parse the attributes of the <employee> element in the sample Employee.xml document that follows:
This problem has been fixed in MSXML 4.0 SP2. You can use the following loop:
to enumerate the returned IXMLDOMNamedNodeMap, and to access all the default attributes that are defined for an element.
Fix: Circular Strong References Between Anonymous Types and Their Parent ComplexType Type May Cause Memory LeakThe following XSD schema outlines the basis of the problem:
In this schema, the complexContent element "myComplexType2," extends its parent "myComplexType1." This produces a circular strong reference between local element declarations and their local types. Schemas like this cause a memory leak in MSXML 4.0 RTM and SP1 that has been fixed in MSXML 4.0 SP2.
For additional information, click the following article numbers to view the articles in the Microsoft Knowledge Base:
(http://support.microsoft.com/kb/818083/EN-US/ )INFO: List of Issues Fixed in MSXML 4.0 SP2 (Part 2 of 4)
(http://support.microsoft.com/kb/818084/EN-US/ )INFO: List of Issues Fixed in MSXML 4.0 SP2 (Part 3 of 4)
(http://support.microsoft.com/kb/818085/EN-US/ )INFO: List of Issues Fixed in MSXML 4.0 SP2 (Part 4 of 4)