Microsoft KB Archive/818085

= INFO: List of Issues Fixed in MSXML 4.0 SP2 (Part 4 of 4) =

Article ID: 818085

Article Last Modified on 8/27/2003

-

APPLIES TO


 * Microsoft XML Core Services 4.0 Service Pack 1

-



SUMMARY
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 Violation
 * Fix: GetValue and GetQName in SAXXMLReader May Cause Memory Leak
 * Fix: Calling SelectSingleNode Method from COM+ May Cause Access Violation Under Stress
 * Fix: &quot;MyNamespace:string Is Undefined&quot; Error Message Occurs When You Include an XSD
 * Fix: SAXXMLReader.parse Method Does Not Release IStream Pointer When Returned
 * Fix: Redirect to a Relative URL Does Not Work When You Use ServerXMLHTTP
 * Fix: Single-Line Xml Input into a SAXXMLReader May Cause Slow Performance
 * Design Change: The Pre-compiled (Original) Schema Is Loaded in the Schema Object Model
 * REFERENCES



Fix: Validation of XML by Using an XDR That Has an Element with More Than 16 Attributes May Cause Access Violation
When 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.

back to top

Fix: GetValue and GetQName in SAXXMLReader May Cause Memory Leak
This 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.

back to top

Fix: Calling SelectSingleNode Method from COM+ May Cause Access Violation Under Stress
An 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.

back to top

Fix: &quot;MyNamespace:string Is Undefined&quot; Error Message Occurs When You Include an XSD
When 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:

myNamespace:string is undefined

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:

FirstSchema.xsd        IncludedSchema.xsd        back to top

Fix: SAXXMLReader.parse Method Does Not Release IStream Pointer When Returned
When 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.

back to top

Fix: Redirect to a Relative URL Does Not Work When You Use ServerXMLHTTP
When you retrieve a page that redirects you to a relative URL, you may receive the following error message:

Unspecified error.

This only occurs when you use a ServerXMLHTTP object.

back to top

Fix: Single-Line XML Input in a SAXXMLReader May Cause Slow Performance
When 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.

back to top

Design Change: The Pre-compiled (Original) Schema Is Loaded in the Schema Object Model
The 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.

back to top

<div class="references_section">