Article ID: 818085 - View products that this article applies to.
This article is a part 4 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: Validation of XML by Using an XDR That Has an Element with More Than 16 Attributes May Cause Access ViolationWhen an element has more than 16 attributes, internal objects that keep track of the attributes may run out of bounds while storing the attributes. The problem may not occur immediately.
Fix: GetValue() and GetQName() in SAXXMLReader May Cause Memory LeakThis problem typically occurs when you use a contentHandler that pulls information from the ISAXAttributes and IVBSAXAttributes interfaces. The interfaces leak BSTRs that are not cleaned up correctly.
Fix: Calling SelectSingleNode Method from COM+ May Cause Access Violation Under StressAn Access violation may occur under stress when you call the selectSingleNode method from a COM+ component. This problem has not been seen in other methods.
Fix: "MyNamespace:string Is Undefined" Error Message Occurs When You Include an XSDWhen you have a schema that redefines the default namespace with the XSD namespace, and include that schema in another schema that has a targetNamespace, you may receive the following error message when compiling the parent schema:
This error occurs because the default namespace in the included schema is replaced by the targetNamespace in the including schema. The following two schemas illustrate this problem:
myNamespace:string is undefined
Fix: SAXXMLReader.parse Method Does Not Release IStream Pointer When ReturnedWhen you call the parse method on the SAXXMLReader, and pass it a variant that contains an IUnknown pointer to a stream object, the SAX parser does not release the pointer when the method has completed. To release the pointer, destroy the reader or make a subsequent call to the parse method by using a NULL variant as the parameter.
Fix: Redirect to a Relative URL Does Not Work When You Use ServerXMLHTTPWhen you retrieve a page that redirects you to a relative URL, you may receive the following error message:
This only occurs when you use a ServerXMLHTTP object.
Fix: Single-Line XML Input in a SAXXMLReader May Cause Slow PerformanceWhen you call the parse method on the SAXXMLReader, and you load large XML documents that do not have any line-breaks, you may see slow performance. Also, memory usage may increase dramatically. This does not occur when you use MSXML 3.0. This behavior occurs because the MSXML 4.0 SAX parser buffers the whole document in memory before it parses the document. The MSXML 4.0 SAX parser uses line-break checks to stop buffering and to process what it had before getting the next chunk of XML. When there are no line breaks in an XML document or stream, all data is buffered. This can use a lot of memory, and performance can drop when you work with large volumes of data.
Design Change: The Pre-compiled (Original) Schema Is Loaded in the Schema Object ModelThe Schema Object Model (SOM) is an implementation where you can walk the loaded schema. In MSXML 4.0 SP1, when you retrieve the schema, you receive the post-compiled schema. In MSXML 4.0 SP2, you receive the original or pre-compiled schema. This changes the way you walk the schema. However, it does not change the validation aspect of the schema. The schema continues to validate the XML correctly.
For additional information, click the following article numbers to view the articles in the Microsoft Knowledge Base:
(http://support.microsoft.com/kb/818081/EN-US/ )INFO: List of Issues Fixed in MSXML 4.0 SP2 (Part 1 of 4)
(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)