Microsoft KB Archive/818084

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

Article ID: 818084

Article Last Modified on 5/2/2003

-

APPLIES TO


 * Microsoft XML Core Services 4.0 Service Pack 1

-



SUMMARY
This article is part 3 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:
 * The Current Function Is Not Evaluated Correctly in the XPath Expression That is Specified for the Use Attribute of an Xsl:key
 * XmlHttp.Send Method Fails to Accept VT_BSTR and VT_BYREF Variables
 * Program Stops Responding When You Use 'xsl:message terminate=&quot;yes&quot;' in Xsl:variable
 * The Current Function Is Not Evaluated Correctly When Used in the @Select Attribute of 
 * Resetting an Empty Nodelist Causes a Null Reference and General Protection Failure
 * Program Stops Responding Under Stress When You Run Transformationss on Cached XML
 * Format-Number of Certain 18 digit numbers causes Access Violation
 * Get_schemaLocation Causes Access Violation for Included Schemas
 * REFERENCES



The Current Function Is Not Evaluated Correctly in the XPath Expression That is Specified for the Use Attribute of an Xsl:key
In MSXML4.0 RM and SP1, when you use the current function to relate the value of the current matched node to a node that is not a child element or an attribute of the matched node, output is not generated on executing the XSLT transformation.

To reproduce the problem, use the following .xml and .xsl files:

Test.xsl  





        Test.xml  <Author authorid = &quot;1&quot; name = &quot;author 1&quot;/> <Author authorid = &quot;2&quot; name = &quot;author 2&quot;/> <Author authorid = &quot;3&quot; name = &quot;author 3&quot;/> </Authors> <Books> <Book bookid = &quot;a&quot; name = &quot;book a&quot;/> <Book bookid = &quot;b&quot; name = &quot;book b&quot;/> <Book bookid = &quot;c&quot; name = &quot;book c&quot;/> </Books> <BooksAuthors> <BookAuthor bookauthorid = &quot;x&quot; bookid = &quot;a&quot; authorid = &quot;1&quot;/> <BookAuthor bookauthorid = &quot;y&quot; bookid = &quot;a&quot; authorid = &quot;2&quot;/> <BookAuthor bookauthorid = &quot;z&quot; bookid = &quot;b&quot; authorid = &quot;1&quot;/> <BookAuthor bookauthorid = &quot;w&quot; bookid = &quot;b&quot; authorid = &quot;3&quot;/> </BooksAuthors> back to top

Fix: XmlHttp.Send Method Does Not Accept VT_BSTR | VT_BYREF Variables
In MSXML 4.0 RTM and SP1, when you use the XmlHttp object to execute HTTP requests by passing VT_BSTR | VT_BYREF strings to the Send method, you receive the following error message:

Parameter is incorrect

back to top

Fix: Program Stops Responding When You Use 'xsl:message terminate=&quot;yes&quot;' in Xsl:variable
In MSXML 4.0 RTM and SP1, the program stops responding (or hangs) when you use 'xsl:message with terminate=&quot;yes&quot;' in an xsl:variable.

Message.xsl <xsl:stylesheet version=&quot;1.0&quot; xmlns:xsl=&quot;http://www.w3.org/1999/XSL/Transform&quot; >  <xsl:variable name=&quot;var&quot;> <xsl:message terminate=&quot;yes&quot;>crash and hang</xsl:message> </xsl:variable> </xsl:template> </xsl:stylesheet> back to top

Fix: The Current Function Is Not Evaluated Correctly When Used in the @Select Attribute of <xsl:sort>
In MSXML 4.0 RTM and SP1, when you use the current function in the @select attribute of <xsl:sort>, the current function is not evaluated correctly.

To reproduce the problem, use the following .xml and .xsl files:

Sort.xsl <?xml version=&quot;1.0&quot;?> <xsl:stylesheet version=&quot;1.0&quot; xmlns:xsl=&quot;http://www.w3.org/1999/XSL/Transform&quot;> <xsl:output method=&quot;xml&quot; indent=&quot;yes&quot;/>  <xsl:for-each select=&quot;root/*&quot;> <xsl:sort select=&quot;count(preceding-sibling::*[name != name(current)][1]/preceding-sibling::*)&quot; data-type=&quot;number&quot; order=&quot;ascending&quot;/> <xsl:sort select=&quot;@priority&quot; data-type=&quot;number&quot; order=&quot;ascending&quot;/> <xsl:copy-of select=&quot;.&quot;/> </xsl:for-each> </xsl:template> </xsl:stylesheet> Sort.xml <itemA priority=&quot;2&quot;/> <itemA priority=&quot;7&quot;/> <itemA priority=&quot;5&quot;/> <itemA priority=&quot;3&quot;/> <itemB priority=&quot;1&quot;/> <itemB priority=&quot;0&quot;/> <itemA priority=&quot;8&quot;/> <itemA priority=&quot;6&quot;/> <itemC priority=&quot;2&quot;/> <itemC priority=&quot;1&quot;/> <itemC priority=&quot;3&quot;/> <itemA priority=&quot;9&quot;/> <itemA priority=&quot;4&quot;/> back to top

Fix: Resetting an Empty Nodelist Causes a Null Reference and General Protection Failure
In MSXML4.0 RTM and SP1, when the empty nodelist is reset, it causes a general protection failure because of a Null reference.

back to top

Fix: Program Stops Responding Under Stress When You Run Transformations on Cached XML
In MSXML 4.0 RTM and SP1, memory corruption causes random crashes during XSL transformations on multiple-processor computers. This behavior occurs under stress when you execute transformations from multiple threads on cached XML data.

back to top

Fix: Format-Number of Certain 18 Digit Numbers Causes Access Violation
In MSXML4.0 RTM and SP1, when you use the format-number function in XSLT while transforming XML data, an access violation occurs. The problem occurs when you use 18 digit numbers.

To reproduce the problem, use the following .xml and .xsl files:

Format.xsl <?xml version='1.0'?> <xsl:stylesheet xmlns:xsl=&quot;http://www.w3.org/1999/XSL/Transform&quot; version=&quot;1.0&quot;>  <xsl:for-each select=&quot;Test/Data&quot;> <xsl:value-of select=&quot;.&quot;/>

</xsl:for-each> </xsl:template> </xsl:stylesheet> Format.xml <Test> </Test> back to top

Fix: Get_schemaLocation Causes Access Violation for Included Schemas
In MSXML4.0 RTM and SP2, when you try to use the get_schemaLocation method for included schemas, an access violation occurs.

back to top

<div class="references_section">