Back to Folder
ID | f4876ecc-07fe-4c64-b07b-10e2a189de57 |
Filename |
en_msxml_4.0_service_pack_3_rtm_release_notes_x86 (1).htm
|
Size | 48.63 KB |
Uploaded | 2025-05-07 04:43:36 |
Downloads | 0 |
MIME Type | text/html |
Hashes |
- CRC32: 7c26c502
- MD5: 18e23d6b9e8fedaa92a08f80440d7fec
- SHA1: 3eded38f6d95f80b74bcad29005330989fbf1a94
- SHA256: 1cd49e87683bf7d87a81b15e0f7869d547abde3450e1800bdf72929db55ce5ba
|
Download file
Preview (text)
<html>
<head>
<meta http-equiv=Content-Type content="text/html; charset=windows-1252">
<meta name=Generator content="Microsoft Word 12 (filtered)">
<title>MSXML 4</title>
<style>
<!--
/* Font Definitions */
@font-face
{font-family:Wingdings;
panose-1:5 0 0 0 0 0 0 0 0 0;}
@font-face
{font-family:SimSun;
panose-1:2 1 6 0 3 1 1 1 1 1;}
@font-face
{font-family:"Cambria Math";
panose-1:2 4 5 3 5 4 6 3 2 4;}
@font-face
{font-family:Cambria;
panose-1:2 4 5 3 5 4 6 3 2 4;}
@font-face
{font-family:Calibri;
panose-1:2 15 5 2 2 2 4 3 2 4;}
@font-face
{font-family:Tahoma;
panose-1:2 11 6 4 3 5 4 4 2 4;}
@font-face
{font-family:??;
panose-1:0 0 0 0 0 0 0 0 0 0;}
@font-face
{font-family:"MS Shell Dlg 2";
panose-1:2 11 6 4 3 5 4 4 2 4;}
@font-face
{font-family:"\@SimSun";
panose-1:2 1 6 0 3 1 1 1 1 1;}
/* Style Definitions */
p.MsoNormal, li.MsoNormal, div.MsoNormal
{margin-top:6.0pt;
margin-right:0in;
margin-bottom:6.0pt;
margin-left:0in;
font-size:11.0pt;
font-family:"Calibri","sans-serif";}
h1
{mso-style-link:"Heading 1 Char";
margin-top:6.0pt;
margin-right:0in;
margin-bottom:0in;
margin-left:.3in;
margin-bottom:.0001pt;
text-indent:-.3in;
font-size:14.0pt;
font-family:"Cambria","serif";}
h1.CxSpFirst
{mso-style-link:"Heading 1 Char";
margin-top:6.0pt;
margin-right:0in;
margin-bottom:0in;
margin-left:.3in;
margin-bottom:.0001pt;
text-indent:-.3in;
font-size:14.0pt;
font-family:"Cambria","serif";}
h1.CxSpMiddle
{mso-style-link:"Heading 1 Char";
margin-top:0in;
margin-right:0in;
margin-bottom:0in;
margin-left:.3in;
margin-bottom:.0001pt;
text-indent:-.3in;
font-size:14.0pt;
font-family:"Cambria","serif";}
h1.CxSpLast
{mso-style-link:"Heading 1 Char";
margin-top:0in;
margin-right:0in;
margin-bottom:0in;
margin-left:.3in;
margin-bottom:.0001pt;
text-indent:-.3in;
font-size:14.0pt;
font-family:"Cambria","serif";}
h2
{mso-style-link:"Heading 2 Char";
margin-top:10.0pt;
margin-right:0in;
margin-bottom:0in;
margin-left:.4in;
margin-bottom:.0001pt;
text-indent:-.4in;
font-size:13.0pt;
font-family:"Cambria","serif";}
h3
{mso-style-link:"Heading 3 Char";
margin-top:10.0pt;
margin-right:0in;
margin-bottom:6.0pt;
margin-left:.5in;
text-indent:-.5in;
font-size:11.0pt;
font-family:"Cambria","serif";}
h4
{mso-style-link:"Heading 4 Char";
margin-top:6.0pt;
margin-right:0in;
margin-bottom:0in;
margin-left:.6in;
margin-bottom:.0001pt;
text-indent:-.6in;
font-size:10.0pt;
font-family:"Cambria","serif";}
h5
{mso-style-link:"Heading 5 Char";
margin-top:10.0pt;
margin-right:0in;
margin-bottom:0in;
margin-left:.7in;
margin-bottom:.0001pt;
text-indent:-.7in;
font-size:11.0pt;
font-family:"Cambria","serif";
color:#7F7F7F;}
h6
{mso-style-link:"Heading 6 Char";
margin-top:6.0pt;
margin-right:0in;
margin-bottom:0in;
margin-left:.8in;
margin-bottom:.0001pt;
text-indent:-.8in;
line-height:112%;
font-size:11.0pt;
font-family:"Cambria","serif";
color:#7F7F7F;
font-style:italic;}
p.MsoHeading7, li.MsoHeading7, div.MsoHeading7
{mso-style-link:"Heading 7 Char";
margin-top:6.0pt;
margin-right:0in;
margin-bottom:0in;
margin-left:.9in;
margin-bottom:.0001pt;
text-indent:-.9in;
font-size:11.0pt;
font-family:"Cambria","serif";
font-style:italic;}
p.MsoHeading8, li.MsoHeading8, div.MsoHeading8
{mso-style-link:"Heading 8 Char";
margin-top:6.0pt;
margin-right:0in;
margin-bottom:0in;
margin-left:1.0in;
margin-bottom:.0001pt;
text-indent:-1.0in;
font-size:10.0pt;
font-family:"Cambria","serif";}
p.MsoHeading9, li.MsoHeading9, div.MsoHeading9
{mso-style-link:"Heading 9 Char";
margin-top:6.0pt;
margin-right:0in;
margin-bottom:0in;
margin-left:1.1in;
margin-bottom:.0001pt;
text-indent:-1.1in;
font-size:10.0pt;
font-family:"Cambria","serif";
letter-spacing:.25pt;
font-style:italic;}
p.MsoCommentText, li.MsoCommentText, div.MsoCommentText
{margin-top:6.0pt;
margin-right:0in;
margin-bottom:6.0pt;
margin-left:0in;
font-size:10.0pt;
font-family:"Calibri","sans-serif";}
span.MsoLineNumber
{font-family:"Times New Roman","serif";}
p.MsoListNumber5, li.MsoListNumber5, div.MsoListNumber5
{margin-top:0in;
margin-right:0in;
margin-bottom:6.0pt;
margin-left:1.25in;
text-indent:-.25in;
font-size:10.0pt;
font-family:"Arial","sans-serif";}
p.MsoTitle, li.MsoTitle, div.MsoTitle
{mso-style-link:"Title Char";
margin-top:6.0pt;
margin-right:0in;
margin-bottom:6.0pt;
margin-left:0in;
text-align:center;
font-size:26.0pt;
font-family:"Cambria","serif";
letter-spacing:.25pt;}
p.MsoTitleCxSpFirst, li.MsoTitleCxSpFirst, div.MsoTitleCxSpFirst
{mso-style-link:"Title Char";
margin-top:6.0pt;
margin-right:0in;
margin-bottom:0in;
margin-left:0in;
margin-bottom:.0001pt;
text-align:center;
font-size:26.0pt;
font-family:"Cambria","serif";
letter-spacing:.25pt;}
p.MsoTitleCxSpMiddle, li.MsoTitleCxSpMiddle, div.MsoTitleCxSpMiddle
{mso-style-link:"Title Char";
margin:0in;
margin-bottom:.0001pt;
text-align:center;
font-size:26.0pt;
font-family:"Cambria","serif";
letter-spacing:.25pt;}
p.MsoTitleCxSpLast, li.MsoTitleCxSpLast, div.MsoTitleCxSpLast
{mso-style-link:"Title Char";
margin-top:0in;
margin-right:0in;
margin-bottom:6.0pt;
margin-left:0in;
text-align:center;
font-size:26.0pt;
font-family:"Cambria","serif";
letter-spacing:.25pt;}
p.MsoSubtitle, li.MsoSubtitle, div.MsoSubtitle
{mso-style-link:"Subtitle Char";
margin-top:6.0pt;
margin-right:0in;
margin-bottom:30.0pt;
margin-left:0in;
font-size:12.0pt;
font-family:"Cambria","serif";
letter-spacing:.65pt;
font-style:italic;}
a:link, span.MsoHyperlink
{font-family:"Times New Roman","serif";
color:blue;
text-decoration:underline;}
a:visited, span.MsoHyperlinkFollowed
{font-family:"Times New Roman","serif";
color:purple;
text-decoration:underline;}
strong
{color:red;
font-weight:normal;}
em
{letter-spacing:.5pt;
font-weight:bold;}
p.MsoCommentSubject, li.MsoCommentSubject, div.MsoCommentSubject
{margin-top:6.0pt;
margin-right:0in;
margin-bottom:6.0pt;
margin-left:0in;
font-size:10.0pt;
font-family:"Calibri","sans-serif";
font-weight:bold;}
p.MsoAcetate, li.MsoAcetate, div.MsoAcetate
{margin-top:6.0pt;
margin-right:0in;
margin-bottom:6.0pt;
margin-left:0in;
font-size:8.0pt;
font-family:"Tahoma","sans-serif";}
p.MsoNoSpacing, li.MsoNoSpacing, div.MsoNoSpacing
{margin-top:2.0pt;
margin-right:0in;
margin-bottom:2.0pt;
margin-left:0in;
font-size:11.0pt;
font-family:"Calibri","sans-serif";}
p.MsoListParagraph, li.MsoListParagraph, div.MsoListParagraph
{margin-top:6.0pt;
margin-right:0in;
margin-bottom:6.0pt;
margin-left:0in;
font-size:11.0pt;
font-family:"Calibri","sans-serif";}
p.MsoListParagraphCxSpFirst, li.MsoListParagraphCxSpFirst, div.MsoListParagraphCxSpFirst
{margin-top:6.0pt;
margin-right:0in;
margin-bottom:0in;
margin-left:0in;
margin-bottom:.0001pt;
font-size:11.0pt;
font-family:"Calibri","sans-serif";}
p.MsoListParagraphCxSpMiddle, li.MsoListParagraphCxSpMiddle, div.MsoListParagraphCxSpMiddle
{margin:0in;
margin-bottom:.0001pt;
font-size:11.0pt;
font-family:"Calibri","sans-serif";}
p.MsoListParagraphCxSpLast, li.MsoListParagraphCxSpLast, div.MsoListParagraphCxSpLast
{margin-top:0in;
margin-right:0in;
margin-bottom:6.0pt;
margin-left:0in;
font-size:11.0pt;
font-family:"Calibri","sans-serif";}
p.MsoQuote, li.MsoQuote, div.MsoQuote
{mso-style-link:"Quote Char";
margin-top:10.0pt;
margin-right:.25in;
margin-bottom:0in;
margin-left:.25in;
margin-bottom:.0001pt;
font-size:11.0pt;
font-family:"Calibri","sans-serif";
font-style:italic;}
p.MsoIntenseQuote, li.MsoIntenseQuote, div.MsoIntenseQuote
{mso-style-link:"Intense Quote Char";
margin-top:10.0pt;
margin-right:.8in;
margin-bottom:14.0pt;
margin-left:.7in;
text-align:justify;
border:none;
padding:0in;
font-size:11.0pt;
font-family:"Calibri","sans-serif";
font-weight:bold;
font-style:italic;}
span.MsoSubtleEmphasis
{font-style:italic;}
span.MsoIntenseEmphasis
{font-weight:bold;}
span.MsoSubtleReference
{font-variant:small-caps;}
span.MsoIntenseReference
{font-variant:small-caps;
letter-spacing:.25pt;
text-decoration:underline;}
span.MsoBookTitle
{font-variant:small-caps;
letter-spacing:.25pt;
font-style:italic;}
p.MsoTocHeading, li.MsoTocHeading, div.MsoTocHeading
{margin-top:6.0pt;
margin-right:0in;
margin-bottom:0in;
margin-left:0in;
margin-bottom:.0001pt;
font-size:14.0pt;
font-family:"Cambria","serif";
font-weight:bold;}
p.MsoTocHeadingCxSpFirst, li.MsoTocHeadingCxSpFirst, div.MsoTocHeadingCxSpFirst
{margin-top:6.0pt;
margin-right:0in;
margin-bottom:0in;
margin-left:0in;
margin-bottom:.0001pt;
font-size:14.0pt;
font-family:"Cambria","serif";
font-weight:bold;}
p.MsoTocHeadingCxSpMiddle, li.MsoTocHeadingCxSpMiddle, div.MsoTocHeadingCxSpMiddle
{margin:0in;
margin-bottom:.0001pt;
font-size:14.0pt;
font-family:"Cambria","serif";
font-weight:bold;}
p.MsoTocHeadingCxSpLast, li.MsoTocHeadingCxSpLast, div.MsoTocHeadingCxSpLast
{margin:0in;
margin-bottom:.0001pt;
font-size:14.0pt;
font-family:"Cambria","serif";
font-weight:bold;}
span.Heading1Char
{mso-style-name:"Heading 1 Char";
mso-style-link:"Heading 1";
font-family:"Cambria","serif";
font-weight:bold;}
span.TitleChar
{mso-style-name:"Title Char";
mso-style-link:Title;
font-family:"Cambria","serif";
letter-spacing:.25pt;}
span.Heading2Char
{mso-style-name:"Heading 2 Char";
mso-style-link:"Heading 2";
font-family:"Cambria","serif";
font-weight:bold;}
span.Heading3Char
{mso-style-name:"Heading 3 Char";
mso-style-link:"Heading 3";
font-family:"Cambria","serif";
font-weight:bold;}
span.Heading4Char
{mso-style-name:"Heading 4 Char";
mso-style-link:"Heading 4";
font-family:"Cambria","serif";
font-weight:bold;}
span.Heading5Char
{mso-style-name:"Heading 5 Char";
mso-style-link:"Heading 5";
font-family:"Cambria","serif";
color:#7F7F7F;
font-weight:bold;}
span.Heading6Char
{mso-style-name:"Heading 6 Char";
mso-style-link:"Heading 6";
font-family:"Cambria","serif";
color:#7F7F7F;
font-weight:bold;
font-style:italic;}
span.Heading7Char
{mso-style-name:"Heading 7 Char";
mso-style-link:"Heading 7";
font-family:"Cambria","serif";
font-style:italic;}
span.Heading8Char
{mso-style-name:"Heading 8 Char";
mso-style-link:"Heading 8";
font-family:"Cambria","serif";}
span.Heading9Char
{mso-style-name:"Heading 9 Char";
mso-style-link:"Heading 9";
font-family:"Cambria","serif";
letter-spacing:.25pt;
font-style:italic;}
span.SubtitleChar
{mso-style-name:"Subtitle Char";
mso-style-link:Subtitle;
font-family:"Cambria","serif";
letter-spacing:.65pt;
font-style:italic;}
span.QuoteChar
{mso-style-name:"Quote Char";
mso-style-link:Quote;
font-family:"Times New Roman","serif";
font-style:italic;}
span.IntenseQuoteChar
{mso-style-name:"Intense Quote Char";
mso-style-link:"Intense Quote";
font-family:"Times New Roman","serif";
font-weight:bold;
font-style:italic;}
p.Code, li.Code, div.Code
{mso-style-name:Code;
mso-style-link:"Code Char";
margin-top:6.0pt;
margin-right:.85pt;
margin-bottom:6.0pt;
margin-left:0in;
text-autospace:none;
font-size:9.0pt;
font-family:"Courier New";
color:#548DD4;}
p.CodeCxSpFirst, li.CodeCxSpFirst, div.CodeCxSpFirst
{mso-style-name:CodeCxSpFirst;
mso-style-link:"Code Char";
margin-top:6.0pt;
margin-right:.85pt;
margin-bottom:0in;
margin-left:0in;
margin-bottom:.0001pt;
text-autospace:none;
font-size:9.0pt;
font-family:"Courier New";
color:#548DD4;}
p.CodeCxSpMiddle, li.CodeCxSpMiddle, div.CodeCxSpMiddle
{mso-style-name:CodeCxSpMiddle;
mso-style-link:"Code Char";
margin-top:0in;
margin-right:.85pt;
margin-bottom:0in;
margin-left:0in;
margin-bottom:.0001pt;
text-autospace:none;
font-size:9.0pt;
font-family:"Courier New";
color:#548DD4;}
p.CodeCxSpLast, li.CodeCxSpLast, div.CodeCxSpLast
{mso-style-name:CodeCxSpLast;
mso-style-link:"Code Char";
margin-top:0in;
margin-right:.85pt;
margin-bottom:6.0pt;
margin-left:0in;
text-autospace:none;
font-size:9.0pt;
font-family:"Courier New";
color:#548DD4;}
span.CodeChar
{mso-style-name:"Code Char";
mso-style-link:Code;
font-family:"Courier New";
color:#548DD4;}
.MsoChpDefault
{font-size:10.0pt;}
@page Section1
{size:8.5in 11.0in;
margin:1.0in 1.0in 1.0in 1.0in;}
div.Section1
{page:Section1;}
/* List Definitions */
ol
{margin-bottom:0in;}
ul
{margin-bottom:0in;}
-->
</style>
</head>
<body lang=EN-US link=blue vlink=purple>
<div class=Section1>
<p class=MsoTitle>MSXML 4.0 SP3 Release Notes</p>
<p class=MsoNormal><b><span style='font-size:10.0pt'>Note: If you have
previously installed MSXML 4.0 SP3 BETA, you MUST uninstall the BETA package
before installing MSXML 4.0 SP3 RTM. Windows Vista/Windows Server 2008
customers, please refer to <a href="#_Customers_who_have">section 2</a>.</span></b></p>
<p class=MsoNormal>MSXML 4.0 SP3 is a complete replacement of MSXML 4.0, MSXML
4.0 SP1, and MSXML 4.0 SP2. This service pack provides a number of security
enhancements and reliability improvements.</p>
<p class=MsoNormal>MSXML 4.0 was released to the web about nine years ago.
MSXML 4.0 has been superseded by MSXML 6.0, and is only intended to support
legacy applications. Both MSXML 4.0 SP2 and SP3 are entering maintenance mode
now, therefore no new functionality and performance improvement will be made in
MSXML 4.0, servicing will be restricted to high impact security issues. There
are no plans for future MSXML 4.0 service packs.</p>
<p class=MsoNormal>Support will end for MSXML 4.0 SP2 in 4/13/2010.</p>
<p class=MsoNormal>Users should upgrade from MSXML 4.0 to MSXML 6.0. MSXML 6.0
will continue to be developed. MSXML 6.0 provides improved W3C compliance and
increased compatibility with System.XML in the .NET framework. Key changes
introduced between MSXML4 and MSXML6 and their migration are described in <a
href="http://blogs.msdn.com/xmlteam/archive/2007/03/12/upgrading-to-msxml-6-0.aspx">Upgrading
to MSXML 6.0</a>. </p>
<p class=MsoNormal>MSXML6 is now available for all supported down-level
platforms. It is either shipped with Windows (e.g. Windows XP SP3 and Windows
Vista) or can be downloaded from <a
href="http://www.microsoft.com/downloads/details.aspx?familyid=d21c292c-368b-4ce1-9dab-3e9827b70604&displaylang=en">Microsoft
Download Center</a>.</p>
<h1><a name="_Upgrading_to_the"></a>1<span style='font:7.0pt "Times New Roman"'>
</span>Upgrading to the MSXML 4.0 SP3</h1>
<p class=MsoNormal>The following are important notes about proper installation
of MSXML 4.0 SP3: </p>
<p class=MsoListParagraphCxSpFirst style='margin-left:.5in;text-indent:-.25in'><span
style='font-family:Symbol'>�<span style='font:7.0pt "Times New Roman"'>
</span></span>MSXML 4.0 SP3 is not installed or upgraded by default. </p>
<p class=MsoListParagraphCxSpMiddle style='margin-left:.5in;text-indent:-.25in'><span
style='font-family:Symbol'>�<span style='font:7.0pt "Times New Roman"'>
</span></span>To properly install or upgrade to MSXML 4.0 SP3, download and run
the setup package.</p>
<p class=MsoListParagraphCxSpLast style='margin-left:.5in;text-indent:-.25in'><span
style='font-family:Symbol'>�<span style='font:7.0pt "Times New Roman"'>
</span></span>The SDK is not shipped alongside the setup package since the
interfaces are not changed. Developers can use the header files from the MSXML6
SDK and refer to MSDN for documentation.</p>
<p class=MsoNormal>In order to rolling back from MSXML 4.0 SP3 to MSXML 4.0
SP2, a customer can download MSXML 4.0 SP2 MSI package and</p>
<p class=MsoListParagraphCxSpFirst style='margin-left:.5in;text-indent:-.25in'><span
style='font-family:Symbol'>�<span style='font:7.0pt "Times New Roman"'>
</span></span>Uninstall all MSXML 4.0 products in the system, then re-install
MSXML 4.0 SP2, or</p>
<p class=MsoListParagraphCxSpLast style='margin-left:.5in;text-indent:-.25in'><span
style='font-family:Symbol'>�<span style='font:7.0pt "Times New Roman"'>
</span></span>Use command line �msiexec msxml4sp2.msi /fdmus� in the same
folder of the MSI package.</p>
<h1><a name="_Customers_who_have"></a>2<span style='font:7.0pt "Times New Roman"'>
</span>Customers who have previously installed MSXML 4.0 SP3 BETA</h1>
<p class=MsoNormal><b>If you have previously installed MSXML 4.0 SP3 BETA, you
MUST uninstall the BETA package before installing MSXML 4.0 SP3 RTM.</b></p>
<p class=MsoNormal><b>Windows Vista/Windows Server 2008 customers that have
installed MSXML4 SP3 BETA, please follow these steps to ensure successful
installation of MSXML4 SP3 RTM:</b></p>
<p class=MsoListParagraphCxSpFirst style='margin-left:.5in;text-indent:-.25in'>1.<span
style='font:7.0pt "Times New Roman"'> </span>Uninstall
MSXML 4.0 SP3 BETA.</p>
<p class=MsoListParagraphCxSpMiddle style='margin-left:.5in;text-indent:-.25in'>2.<span
style='font:7.0pt "Times New Roman"'> </span>Click
<b>Start</b>, and then type <b>cmd</b> in the Start Search box. </p>
<p class=MsoListParagraphCxSpMiddle style='margin-left:.5in;text-indent:-.25in'>3.<span
style='font:7.0pt "Times New Roman"'> </span>In
the search results list, right-click <b>cmd</b>, and then select <b>Run as
Administrator</b>. </p>
<p class=MsoListParagraphCxSpMiddle style='margin-left:.5in;text-indent:-.25in'>4.<span
style='font:7.0pt "Times New Roman"'> </span>When
you are prompted for confirmation by User Account Control, click <b>Continue</b>.</p>
<p class=MsoListParagraphCxSpMiddle style='margin-left:.5in;text-indent:-.25in'>5.<span
style='font:7.0pt "Times New Roman"'> </span>From
the command prompt, type:<br>
<span style='font-size:9.0pt;font-family:"Courier New";color:black'>reg delete
HKEY_LOCAL_MACHINE\COMPONENTS\DerivedData\Components\x86_microsoft.msxml2r_6bd6b9abf345378f_4.30.2100.0_none_03d8af9e7277524d</span><span
style='font-size:10.0pt;font-family:"MS Shell Dlg 2","sans-serif";color:black'><br>
and press return. Press <b>Y</b> and return when the system asks if you want to
delete the registry key. Then the operation shall complete successfully.</span></p>
<p class=MsoListParagraphCxSpLast style='margin-left:.5in;text-indent:-.25in'>6.<span
style='font:7.0pt "Times New Roman"'> </span>Install
MSXML 4.0 SP3 RTM.</p>
<h1>3<span style='font:7.0pt "Times New Roman"'>
</span>Supported Operating Systems</h1>
<p class=MsoNormal>MSXML 4.0 SP3 is supported on the following operating
systems:</p>
<p class=MsoListParagraphCxSpFirst style='margin-left:.5in;text-indent:-.25in'><span
style='font-family:Symbol'>�<span style='font:7.0pt "Times New Roman"'>
</span></span>Windows 2000</p>
<p class=MsoListParagraphCxSpMiddle style='margin-left:.5in;text-indent:-.25in'><span
style='font-family:Symbol'>�<span style='font:7.0pt "Times New Roman"'>
</span></span>Windows Server 2003</p>
<p class=MsoListParagraphCxSpMiddle style='margin-left:.5in;text-indent:-.25in'><span
style='font-family:Symbol'>�<span style='font:7.0pt "Times New Roman"'>
</span></span>Windows XP</p>
<p class=MsoListParagraphCxSpMiddle style='margin-left:.5in;text-indent:-.25in'><span
style='font-family:Symbol'>�<span style='font:7.0pt "Times New Roman"'>
</span></span>Windows Vista</p>
<p class=MsoListParagraphCxSpLast style='margin-left:.5in;text-indent:-.25in'><span
style='font-family:Symbol'>�<span style='font:7.0pt "Times New Roman"'>
</span></span>Windows Server 2008</p>
<p class=MsoNormal>Support will follow the policy for Windows service packs
listed at <a
href="http://support.microsoft.com/default.aspx?pr=lifesupsps#Windows">http://support.microsoft.com/default.aspx?pr=lifesupsps#Windows</a>.</p>
<h1><a name="OLE_LINK2"></a><a name="OLE_LINK1">4<span style='font:7.0pt "Times New Roman"'>
</span>Redistributing MSXML</a></h1>
<p class=MsoNormal>Microsoft is not shipping a merge module redistribution
package for MSXML4.0 SP3. Applications that need to use MSXML4 SP3 will need to
install the MSXML4 SP3 MSI package first.</p>
<h1>5<span style='font:7.0pt "Times New Roman"'>
</span>List of Known Changes in MSXML 4.0 SP3</h1>
<p class=MsoNormal><b>Disclaimer</b> This following section describes
changes made in MSXML 4.0 SP3 that may break compatibility with earlier
versions of MSXML 4.0. While the list has been reviewed for technical accuracy,
it should not be interpreted as a complete or final list of any such changes.
Potentially, additional changes might exist in some usage cases. If you find a
breaking change in MSXML 4.0 that is not documented here, please contact
Microsoft Customer Support Services (CSS) to report it and receive further
technical support.</p>
<h2>5.1<span style='font:7.0pt "Times New Roman"'>
</span>Max Element Depth</h2>
<p class=MsoNormal>MSXML4.0 SP3 supports using MaxElementDepth to limit the
element depth of an XML document to be loaded into a DOM object. A zero (0)
value means no limits on the element depth of an XML document. A non-zero value
specifies the maximum depth. The default value for MSXML4.0 SP3 is 5000.</p>
<p class=MsoNormal>This property helps to avoid denial of service attacks in
which a document is submitted that has excessive element depth. Failure to
limit the element depth leaves you vulnerable to the exploit where a relatively
small XML document can cause denial of service. The MaxElementDepth property
mitigates this threat.</p>
<p class=MsoNormal>If you are concerned about denial of service, you should set
this property to a value that allows you to load your documents yet limits
depth to a reasonable level.</p>
<p class=MsoNormal><b>Example</b></p>
<p class=MsoNormal>When you try to use the following JScript code to load
data.xml, you will receive the following error message:</p>
<p class=Code>System error: MaxElementDepth.</p>
<p class=MsoNormal>You receive the error message because the max element depth
of data.xml is 4.</p>
<p class=MsoNormal><b>JScript File (testdom.js)</b></p>
<p class=CodeCxSpFirst>var doc = new ActiveXObject("Msxml2.DOMDocument.4.0");</p>
<p class=CodeCxSpMiddle>doc.async = false;</p>
<p class=CodeCxSpMiddle>doc.setProperty("MaxElementDepth", 3);</p>
<p class=CodeCxSpMiddle>doc.load("data.xml");</p>
<p class=CodeCxSpMiddle>if (doc.parseError.errorCode != 0)</p>
<p class=CodeCxSpMiddle>��� WScript.Echo(doc.parseError.reason);</p>
<p class=CodeCxSpMiddle>else</p>
<p class=CodeCxSpLast>��� WScript.Echo("Data loaded successfully");</p>
<p class=MsoNormal><b>XML File (data.xml)</b></p>
<p class=CodeCxSpFirst><?xml version='1.0'?></p>
<p class=CodeCxSpMiddle><book-review></p>
<p class=CodeCxSpMiddle>�� <book></p>
<p class=CodeCxSpMiddle>����� <title>A Good Book</title></p>
<p class=CodeCxSpMiddle>����� <author>The Good Writer</author></p>
<p class=CodeCxSpMiddle>����� <publisher>The Publisher</publisher></p>
<p class=CodeCxSpMiddle>����� <date>A Good Day</date></p>
<p class=CodeCxSpMiddle>����� <Review></p>
<p class=CodeCxSpMiddle>��������� <title>A Good Book</title> by
<author>The Good Writer</author>, </p>
<p class=CodeCxSpMiddle>��������� published by <publisher>The
Publisher</publisher> on <date>A </p>
<p class=CodeCxSpMiddle>��������� Good Day</date>, is indeed a good book.</p>
<p class=CodeCxSpMiddle>����� </Review></p>
<p class=CodeCxSpMiddle>�� </book></p>
<p class=CodeCxSpLast></book-review></p>
<p class=MsoNormal>A SAX object can use <i>max-element-depth</i> property to limit
the element depth.</p>
<p class=MsoNormal>When you try to use the following JScript code to load
data.xml, you receive the following error message:</p>
<p class=Code>Operation aborted</p>
<p class=MsoNormal><b>JScript File (testdom.js)</b></p>
<p class=CodeCxSpFirst>var reader = new
ActiveXObject("Msxml2.SAXXMLReader.4.0");</p>
<p class=CodeCxSpMiddle>var writer = new ActiveXObject("Msxml2.MXXMLWriter.4.0");</p>
<p class=CodeCxSpMiddle>try</p>
<p class=CodeCxSpMiddle>{</p>
<p class=CodeCxSpMiddle>��� reader.contentHandler = writer;</p>
<p class=CodeCxSpMiddle>��� reader.errorHandler = writer;</p>
<p class=CodeCxSpMiddle>��� reader.putProperty("max-element-depth", 3);</p>
<p class=CodeCxSpMiddle>��� reader.parseURL("data.xml");</p>
<p class=CodeCxSpMiddle>��� WScript.Echo(writer.output);</p>
<p class=CodeCxSpMiddle>}</p>
<p class=CodeCxSpMiddle>catch(e)</p>
<p class=CodeCxSpMiddle>{</p>
<p class=CodeCxSpMiddle>��� WScript.Echo(e.description);</p>
<p class=CodeCxSpLast>}</p>
<h2>5.2<span style='font:7.0pt "Times New Roman"'>
</span>AllowXsltScript Property for XSLT</h2>
<p class=MsoNormal>AllowXsltScript property is used to enable or disable the
<msxsl:script> element functionality in XLST. This property has security
implications. The default value is set to true.</p>
<p class=MsoNormal>If this property is set to false, attempts to use a
stylesheet with scripting will result in a "Security settings do not allow
the execution of script code within this stylesheet" error.</p>
<p class=MsoNormal><b>Example</b></p>
<p class=MsoNormal>When you try to use the following JScript code, you will
receive the following error message since AllowXsltScript property is disabled:</p>
<p class=Code>Security settings do not allow the execution of script code
within this stylesheet.</p>
<p class=MsoNormal><b>XML File (test.xml)</b></p>
<p class=Code><doc>content</doc></p>
<p class=MsoNormal><b>XSLT File (test.xsl)</b></p>
<p class=CodeCxSpFirst><xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
xmlns:ms="urn:schemas-microsoft-com:xslt" xmlns:user="user"
xmlns="http://www.w3.org/1999/xhtml" exclude-result-prefixes="ms
user"></p>
<p class=CodeCxSpMiddle><xsl:output encoding="utf-8"
method="html" /></p>
<p class=CodeCxSpMiddle> </p>
<p class=CodeCxSpMiddle><ms:script implements-prefix="user"
language="jscript"></p>
<p class=CodeCxSpMiddle>function func()</p>
<p class=CodeCxSpMiddle>{</p>
<p class=CodeCxSpMiddle>��� return "msxml";</p>
<p class=CodeCxSpMiddle>}</p>
<p class=CodeCxSpMiddle></ms:script></p>
<p class=CodeCxSpMiddle> </p>
<p class=CodeCxSpMiddle><xsl:template match="/"></p>
<p class=CodeCxSpMiddle>��� <xsl:value-of select="user:func()"
/></p>
<p class=CodeCxSpMiddle>��� </xsl:template></p>
<p class=CodeCxSpLast></xsl:stylesheet></p>
<p class=MsoNormal><b>JScript File (test.js)</b></p>
<p class=CodeCxSpFirst>var dom = new ActiveXObject("MSXML2.DOMDocument.4.0");</p>
<p class=CodeCxSpMiddle>dom.async = false;</p>
<p class=CodeCxSpMiddle>dom.load ("test.xml");</p>
<p class=CodeCxSpMiddle> </p>
<p class=CodeCxSpMiddle>var xsl = new
ActiveXObject("MSXML2.DOMDocument.4.0");</p>
<p class=CodeCxSpMiddle>xsl.async = false;</p>
<p class=CodeCxSpMiddle>xsl.setProperty("AllowXsltScript", false);</p>
<p class=CodeCxSpMiddle>xsl.load ("test.xsl");</p>
<p class=CodeCxSpMiddle> </p>
<p class=CodeCxSpMiddle>try</p>
<p class=CodeCxSpMiddle>{</p>
<p class=CodeCxSpMiddle>��� <span lang=ES>WScript.Echo(dom.transformNode(xsl));</span></p>
<p class=CodeCxSpMiddle>}</p>
<p class=CodeCxSpMiddle>catch(e)</p>
<p class=CodeCxSpMiddle>{</p>
<p class=CodeCxSpMiddle>��� WScript.Echo(e.number + "*" + e.message);</p>
<p class=CodeCxSpLast>}</p>
<h2>5.3<span style='font:7.0pt "Times New Roman"'>
</span>AllowDocumentFunction and MaxXMLSize properties are propagated when
cloning a node </h2>
<p class=MsoNormal>AllowDocumentFunction and MaxXMLSize are security related
properties. MSXML4.0 SP3 propagates the two properties when cloneNode() is
called.</p>
<p class=MsoNormal><b>Example</b></p>
<p class=MsoNormal>When you try to use the following JScript code, you will receive
the following information:</p>
<p class=CodeCxSpFirst>Source:</p>
<p class=CodeCxSpMiddle>AllowDocumentFunction: false</p>
<p class=CodeCxSpMiddle>MaxXMLSize: 1000</p>
<p class=CodeCxSpMiddle> </p>
<p class=CodeCxSpMiddle>Destination:</p>
<p class=CodeCxSpMiddle>AllowDocumentFunction: false</p>
<p class=CodeCxSpLast>MaxXMLSize: 1000</p>
<p class=MsoNormal><b>JScript File (test.js)</b></p>
<p class=CodeCxSpFirst>var doc = new
ActiveXObject("Msxml2.DOMDocument.4.0");</p>
<p class=CodeCxSpMiddle>doc.async = false;</p>
<p class=CodeCxSpMiddle>doc.setProperty("AllowDocumentFunction",
false);</p>
<p class=CodeCxSpMiddle>doc.setProperty("MaxXMLSize", 1000);</p>
<p class=CodeCxSpMiddle>doc.loadXML("<root/>");</p>
<p class=CodeCxSpMiddle> </p>
<p class=CodeCxSpMiddle>var node = doc.cloneNode(true);</p>
<p class=CodeCxSpMiddle> </p>
<p class=CodeCxSpMiddle>WScript.echo("Source: " + </p>
<p class=CodeCxSpMiddle>���������� ��"\nAllowDocumentFunction: " +
doc.getProperty("AllowDocumentFunction") +</p>
<p class=CodeCxSpMiddle>������������ "\nMaxXMLSize: " +
doc.getProperty("MaxXMLSize"));</p>
<p class=CodeCxSpMiddle>WScript.echo("\nDestination: " + </p>
<p class=CodeCxSpMiddle>������������ "\nAllowDocumentFunction: " +
node.getProperty("AllowDocumentFunction") +</p>
<p class=CodeCxSpLast>������������ "\nMaxXMLSize: " +
node.getProperty("MaxXMLSize"));</p>
<h2>5.4<span style='font:7.0pt "Times New Roman"'>
</span>ProhibitDTD and MaxXmlSize properties are propagated to the included and
imported Style Sheets</h2>
<p class=MsoNormal>MSXML4.0 SP3 starts to propagate ProhibitDTD and MaxXmlSize
settings from the main stylesheet to the included and imported style sheets.
The same settings will be used on the XSL document and internal documents when
resolving includes/imports and document() function during transformation.</p>
<p class=MsoNormal><b>Example</b></p>
<p class=MsoNormal>When you try to use the following JScript code, you will
receive the following error message:</p>
<p class=Code>Invalid at the top level of the document.</p>
<p class=MsoNormal>This is because ProhibitDTD will be propagated to the
internal document during the transformation.</p>
<p class=MsoNormal><b>XML File (test.xml)</b></p>
<p class=Code><doc/></p>
<p class=MsoNormal><b>XSLT File (test.xsl)</b></p>
<p class=CodeCxSpFirst><xsl:stylesheet
xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
version="1.0"></p>
<p class=CodeCxSpMiddle><xsl:include href="include.xsl"/></p>
<p class=CodeCxSpLast></xsl:stylesheet></p>
<p class=MsoNormal><b>XSLT File (include.xsl)</b></p>
<p class=CodeCxSpFirst><?xml version='1.0'?></p>
<p class=CodeCxSpMiddle><!DOCTYPE xsl:stylesheet SYSTEM
"include.dtd" [</p>
<p class=CodeCxSpMiddle>� <!ATTLIST xsl:stylesheet</p>
<p class=CodeCxSpMiddle>��� xmlns:xsl CDATA #FIXED
"http://www.w3.org/1999/XSL/Transform" </p>
<p class=CodeCxSpMiddle>��� version CDATA "1.0" ></p>
<p class=CodeCxSpMiddle>]></p>
<p class=CodeCxSpMiddle><xsl:stylesheet
xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
version="1.0"></p>
<p class=CodeCxSpLast></xsl:stylesheet></p>
<p class=MsoNormal><b>JScript File (test.js)</b></p>
<p class=CodeCxSpFirst>var xsl = new ActiveXObject("MSXML2.DOMDocument.4.0");</p>
<p class=CodeCxSpMiddle>var xml = new
ActiveXObject("MSXML2.DOMDocument.4.0");</p>
<p class=CodeCxSpMiddle>xml.validateOnParse = false;</p>
<p class=CodeCxSpMiddle>xml.async = false;</p>
<p class=CodeCxSpMiddle>xml.load("test.xml");</p>
<p class=CodeCxSpMiddle> </p>
<p class=CodeCxSpMiddle>xsl.async = false;</p>
<p class=CodeCxSpMiddle>xsl.setProperty ("ProhibitDTD", true);</p>
<p class=CodeCxSpMiddle>xsl.load("test.xsl");</p>
<p class=CodeCxSpMiddle> </p>
<p class=CodeCxSpMiddle>try</p>
<p class=CodeCxSpMiddle>{</p>
<p class=CodeCxSpMiddle>�� �WScript.Echo (xml.transformNode(xsl));</p>
<p class=CodeCxSpMiddle>}</p>
<p class=CodeCxSpMiddle>catch(err)</p>
<p class=CodeCxSpMiddle>{</p>
<p class=CodeCxSpMiddle>��� WScript.Echo ("Transformation Error : " +
err.number + "*" + err.description);</p>
<p class=CodeCxSpLast>}</p>
<h2>5.5<span style='font:7.0pt "Times New Roman"'>
</span>line/linepos Error Information for Duplicate Attribute May Change</h2>
<p class=MsoNormal>The line/linepos error report for duplicate attribute may
change while the error code remains the same.</p>
<p class=MsoNormal><b>Example</b></p>
<p class=MsoNormal>When you try to use the following JScript code to load
data.xml with MSXML4.0 SP3, you will receive the following output:</p>
<p class=Code>line/pos: 2/36</p>
<p class=MsoNormal>With MSXML4 SP2 you will get:</p>
<p class=Code>line/pos: 2/23</p>
<p class=MsoNormal><b>JScript File (test.js)</b></p>
<p class=CodeCxSpFirst>var doc = new
ActiveXObject("Msxml2.DOMDocument.4.0");</p>
<p class=CodeCxSpMiddle>doc.async = false;</p>
<p class=CodeCxSpMiddle>doc.load("data.xml");</p>
<p class=CodeCxSpMiddle>if (doc.parseError.errorCode != 0)</p>
<p class=CodeCxSpMiddle>{</p>
<p class=CodeCxSpMiddle>��� WScript.Echo("line/pos: " +
doc.parseError.line + "/" + doc.parseError.linepos);</p>
<p class=CodeCxSpLast>}</p>
<p class=MsoNormal><b>XML File (data.xml)</b></p>
<p class=CodeCxSpFirst><?xml version='1.0'?></p>
<p class=CodeCxSpLast><order number="12162"
number="334"></p>
<h2>5.6<span style='font:7.0pt "Times New Roman"'>
</span>line/linepos Information Changed for Well-known Entities</h2>
<p class=MsoNormal>The reported line/linepos information for well-known
entities like <i>&amp;</i> may change. Previously the Characters items
produced as a result of such entity reference always had the same line/linepos,
because they were treated as a separate source file. In MSXML4.0 SP3 these will
be reported correctly.</p>
<h2>5.7<span style='font:7.0pt "Times New Roman"'>
</span>Validate the nonNegativeInteger for schema</h2>
<p class=MsoNormal>MSXML4.0 SP3 will check the validity of large value in
attributes of type nonNegativeInteger. This will mitigate Denial of Service
attacks when malicious XML source has attributes of type nonNegativeInteger
containing large values.</p>
<p class=MsoNormal>You will receive </p>
<p class=Code>Errors Found:Error parsing '1123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123...'
as decimal datatype.</p>
<p class=MsoNormal>when validating the following schema:</p>
<p class=CodeCxSpFirst><xs:schema
xmlns:xs="http://www.w3.org/2001/XMLSchema"></p>
<p class=CodeCxSpMiddle>� <xs:element name="Root"
type="xs:decimal" default="112345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678"/></p>
<p class=CodeCxSpLast></xs:schema></p>
<h2>5.8<span style='font:7.0pt "Times New Roman"'>
</span>Path information is suppressed in XSD error messages </h2>
<p class=MsoNormal>Prior to MSXML4 SP3, an XSD error message contained path
information about the files processed. This might lead to a security problem. In
MSXML4.0 SP3, path information is suppressed.</p>
<p class=MsoNormal><b>Example</b></p>
<p class=MsoNormal style='margin-top:0in;margin-right:0in;margin-bottom:10.0pt;
margin-left:0in;line-height:115%'>Notice PurchaseOrderType �is not defined in
po.xsd.</p>
<p class=MsoNormal><b>XML Schema File (po.xsd)</b></p>
<p class=CodeCxSpFirst><xsd:schema
xmlns:xsd="http://www.w3.org/2001/XMLSchema"</p>
<p class=CodeCxSpMiddle>� xmlns="www.example.microsoft.com/po"
elementFormDefault="qualified"</p>
<p class=CodeCxSpMiddle>� finalDefault="restriction"></p>
<p class=CodeCxSpMiddle>��� <xsd:element name="purchaseOrder"
type="PurchaseOrderType"/></p>
<p class=CodeCxSpLast></xsd:schema></p>
<p class=MsoNormal style='margin-top:0in;margin-right:0in;margin-bottom:10.0pt;
margin-left:0in;line-height:115%'>If the schema is loaded with SchemaCache you
will receive:</p>
<p class=CodeCxSpFirst>po.xsd#/schema[1]/element[position() = 1 and @name =
'purchaseOrder']</p>
<p class=CodeCxSpLast>Undeclared XSD type :
'{www.example.microsoft.com/po}PurchaseOrderType'.</p>
<p class=MsoNormal style='margin-top:0in;margin-right:0in;margin-bottom:10.0pt;
margin-left:0in;line-height:115%'>The path information of po.xsd is suppressed.</p>
<p class=MsoNormal><b>JScript File (test.js)</b></p>
<p class=CodeCxSpFirst>var cache = new
ActiveXObject("Msxml2.XMLSchemaCache.4.0");</p>
<p class=CodeCxSpLast>cache.add("http://www.example.microsoft.com/po",
"po.xsd");</p>
<h2>5.9<span style='font:7.0pt "Times New Roman"'>
</span>Error message may point to any ID attribute if there are multiple IE
attributes</h2>
<p class=MsoNormal>When validating the following XSD schema:</p>
<p class=CodeCxSpFirst><?xml version="1.0"?></p>
<p class=CodeCxSpMiddle><xsd:schema
xmlns:xsd="http://www.w3.org/2001/XMLSchema"></p>
<p class=CodeCxSpMiddle>������ <xsd:simpleType name="myType"></p>
<p class=CodeCxSpMiddle>������������� <xsd:restriction
base="xsd:string"/></p>
<p class=CodeCxSpMiddle>������ </xsd:simpleType></p>
<p class=CodeCxSpMiddle>������ <xsd:complexType name="fooType"></p>
<p class=CodeCxSpMiddle>������������� <xsd:simpleContent></p>
<p class=CodeCxSpMiddle>�������������������� <xsd:extension
base="myType"></p>
<p class=CodeCxSpMiddle>�������������������������� <xsd:attribute
name="attrTest1" type="xsd:ID"
use="required"/></p>
<p class=CodeCxSpMiddle>�������������������������� <xsd:attribute
name="attrTest2" type="xsd:ID"
use="required"/></p>
<p class=CodeCxSpMiddle>�������������������� </xsd:extension></p>
<p class=CodeCxSpMiddle>������������� </xsd:simpleContent></p>
<p class=CodeCxSpMiddle>������ </xsd:complexType></p>
<p class=CodeCxSpLast></xsd:schema></p>
<p class=MsoNormal>In MSXML4.0 SP3 you will get:</p>
<p class=CodeCxSpFirst>test.xsd#/schema[1]/complexType[position() = 1 and @name
= 'fooType']/simpleContent[1]/extension[1]/attribute[position()</p>
<p class=CodeCxSpMiddle><b>�= 2 and @name = 'attrTest2']</b></p>
<p class=CodeCxSpMiddle>Two distinct members of the {attribute uses} must not
have {type definition}s which are or are derived from ID.</p>
<p class=CodeCxSpLast><attribute> : 'attrTest2'.</p>
<p class=MsoNormal>Instead of the following result in MSXML4 SP2:</p>
<p class=CodeCxSpFirst>test.xsd#/schema[1]/complexType[position() = 1 and @name
= 'fooType']/simpleContent[1]/extension[1]/attribute[position()</p>
<p class=CodeCxSpMiddle><b>�= 1 and @name = 'attrTest1']</b></p>
<p class=CodeCxSpMiddle>Two distinct members of the {attribute uses} must not
have {type definition}s which are or are derived from ID.</p>
<p class=CodeCxSpLast><attribute> : 'attrTest1'.</p>
<p class=MsoNormal>In MSXML4.0 SP3, the iteration is based on a sequential
order.</p>
<h2>5.10<span style='font:7.0pt "Times New Roman"'> </span>The order of
SAX output changed when traversing a DTD</h2>
<p class=MsoNormal>The DTD elements parse sequence may be affected by internal
changes. </p>
<p class=MsoNormal><b>Example</b></p>
<p class=MsoNormal>When you run test.js with MSXML4.0 SP3, you will get:</p>
<p class=CodeCxSpFirst><!DOCTYPE ROOT [</p>
<p class=CodeCxSpMiddle><!ELEMENT Z ANY></p>
<p class=CodeCxSpMiddle><!ELEMENT A ANY></p>
<p class=CodeCxSpMiddle><!ELEMENT B ANY></p>
<p class=CodeCxSpMiddle><!ELEMENT C ANY></p>
<p class=CodeCxSpMiddle><!ELEMENT D ANY></p>
<p class=CodeCxSpMiddle><!ELEMENT bar4 ((A|(B,C)|D))></p>
<p class=CodeCxSpMiddle><!ELEMENT BODY ANY></p>
<p class=CodeCxSpMiddle><!ELEMENT bar6 (#PCDATA|B|C)*></p>
<p class=CodeCxSpMiddle><!ELEMENT bar7 ((B|C))></p>
<p class=CodeCxSpMiddle><!ELEMENT bar8 (BODY,((A|B))?)></p>
<p class=CodeCxSpMiddle><!ELEMENT bar (((A|B))*)></p>
<p class=CodeCxSpMiddle><!ELEMENT bar2 ((A|B))></p>
<p class=CodeCxSpMiddle><!ELEMENT bar5 ANY></p>
<p class=CodeCxSpMiddle><!ELEMENT bar3 ((Z|A|(B,C)))></p>
<p class=CodeCxSpMiddle><!ELEMENT ROOT ANY></p>
<p class=CodeCxSpMiddle>]></p>
<p class=CodeCxSpLast><ROOT/></p>
<p class=MsoNormal>While running the script with MSXML4 SP2, you will get:</p>
<p class=CodeCxSpFirst><!DOCTYPE ROOT [</p>
<p class=CodeCxSpMiddle><!ELEMENT bar6 (#PCDATA|B|C)*></p>
<p class=CodeCxSpMiddle><!ELEMENT bar7 ((B|C))></p>
<p class=CodeCxSpMiddle><!ELEMENT bar8 (BODY,((A|B))?)></p>
<p class=CodeCxSpMiddle><!ELEMENT D ANY></p>
<p class=CodeCxSpMiddle><!ELEMENT BODY ANY></p>
<p class=CodeCxSpMiddle><!ELEMENT Z ANY></p>
<p class=CodeCxSpMiddle><!ELEMENT bar (((A|B))*)></p>
<p class=CodeCxSpMiddle><!ELEMENT C ANY></p>
<p class=CodeCxSpMiddle><!ELEMENT ROOT ANY></p>
<p class=CodeCxSpMiddle><!ELEMENT bar3 ((Z|A|(B,C)))></p>
<p class=CodeCxSpMiddle><!ELEMENT bar4 ((A|(B,C)|D))></p>
<p class=CodeCxSpMiddle><!ELEMENT bar5 ANY></p>
<p class=CodeCxSpMiddle><!ELEMENT B ANY></p>
<p class=CodeCxSpMiddle><!ELEMENT A ANY></p>
<p class=CodeCxSpMiddle><!ELEMENT bar2 ((A|B))></p>
<p class=CodeCxSpMiddle>]></p>
<p class=CodeCxSpLast><ROOT/></p>
<p class=MsoNormal>The order of traversing DTD elements is changed.</p>
<p class=MsoNormal><b>XML File (test.xml)</b></p>
<p class=CodeCxSpFirst><?xml version="1.0"
encoding="UTF-8"?></p>
<p class=CodeCxSpMiddle><!DOCTYPE ROOT [</p>
<p class=CodeCxSpMiddle><!ELEMENT ROOT ANY></p>
<p class=CodeCxSpMiddle><!ELEMENT bar (A|B)*></p>
<p class=CodeCxSpMiddle><!ELEMENT bar2 (A|B)></p>
<p class=CodeCxSpMiddle><!ELEMENT bar3 (Z|A|(B,C))></p>
<p class=CodeCxSpMiddle><!ELEMENT bar4 (A|(B,C)|D)></p>
<p class=CodeCxSpMiddle><!ELEMENT bar5 ANY></p>
<p class=CodeCxSpMiddle><!ELEMENT bar6 (#PCDATA|B|C)*></p>
<p class=CodeCxSpMiddle><!ELEMENT bar7 (B|C)></p>
<p class=CodeCxSpMiddle><!ELEMENT bar8 (BODY,(A|B)?)></p>
<p class=CodeCxSpMiddle><!ELEMENT A ANY></p>
<p class=CodeCxSpMiddle><!ELEMENT B ANY></p>
<p class=CodeCxSpMiddle><!ELEMENT C ANY></p>
<p class=CodeCxSpMiddle><!ELEMENT D ANY></p>
<p class=CodeCxSpMiddle><!ELEMENT Z ANY></p>
<p class=CodeCxSpMiddle><!ELEMENT BODY ANY></p>
<p class=CodeCxSpMiddle>]></p>
<p class=CodeCxSpMiddle><ROOT></p>
<p class=CodeCxSpLast></ROOT></p>
<p class=MsoNormal><b>JScript File (test.js)</b></p>
<p class=CodeCxSpFirst>var xmlDoc = new
ActiveXObject("Msxml2.DOMDocument.4.0");</p>
<p class=CodeCxSpMiddle>var rdr = new
ActiveXObject("Msxml2.SAXXMLReader.4.0");</p>
<p class=CodeCxSpMiddle>var wrt = new ActiveXObject("Msxml2.MXXMLWriter.4.0");</p>
<p class=CodeCxSpMiddle> </p>
<p class=CodeCxSpMiddle>xmlDoc.async = false;</p>
<p class=CodeCxSpMiddle>xmlDoc.validateOnParse = false;</p>
<p class=CodeCxSpMiddle>xmlDoc.load("test.xml");</p>
<p class=CodeCxSpMiddle> </p>
<p class=CodeCxSpMiddle>wrt.byteOrderMark = true;</p>
<p class=CodeCxSpMiddle>wrt.omitXMLDeclaration = true;</p>
<p class=CodeCxSpMiddle>wrt.indent = true;</p>
<p class=CodeCxSpMiddle> </p>
<p class=CodeCxSpMiddle>rdr.contentHandler = wrt;</p>
<p class=CodeCxSpMiddle>rdr.dtdHandler = wrt;</p>
<p class=CodeCxSpMiddle>rdr.errorHandler = wrt;</p>
<p class=CodeCxSpMiddle>rdr.putProperty("http://xml.org/sax/properties/lexical-handler",
wrt);</p>
<p class=CodeCxSpMiddle>rdr.putProperty("http://xml.org/sax/properties/declaration-handler",
wrt);</p>
<p class=CodeCxSpMiddle> </p>
<p class=CodeCxSpMiddle>rdr.parse(xmlDoc);</p>
<p class=CodeCxSpLast>WScript.Echo("Out:\n" + wrt.output +
"\n")</p>
<h2>5.11<span style='font:7.0pt "Times New Roman"'> </span>Access Denied
error when a schema location redirects from internet zone to access a local
file</h2>
<p class=MsoNormal>This issue only happens on Windows 2003 due to defect in external
components.</p>
<p class=MsoNormal>When a local HTML file containing a script is opened, Internet
Explorer tries to parse a local XML file containing a schemaLocation attribute.
If the location points to an ASP page on the internet that redirects back to a
local XSD file, the access will be denied.</p>
<p class=MsoNormal><b>Example</b></p>
<p class=MsoNormal>Access will be denied if rd-localInvalidXSD.asp redirects to
a local XSD file.</p>
<p class=CodeCxSpFirst><b:b b:b-att1="b1" b:b-att2="a"</p>
<p class=CodeCxSpMiddle>������ xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"</p>
<p class=CodeCxSpMiddle>������ xmlns:b="b"</p>
<p class=CodeCxSpMiddle>��� �� xsi:schemaLocation="b
http://xmlworld/security/schemaSecurity/rd-localInvalidXSD.asp"</p>
<p class=CodeCxSpLast>></b:b></p>
<h2>5.12<span style='font:7.0pt "Times New Roman"'> </span>prohibit-dtd
on the SAX reader is used to parse schema locations and inline schemas</h2>
<p class=MsoNormal style='margin-bottom:10.0pt;line-height:115%'>Prior to MSXML4.0
SP3, prohibit-dtd was not propagated while parsing schema locations and inline
schemas in the SAX Reader. All schemas are parsed even though prohibit-dtd is
set to true. In MSXML4.0 SP3, prohibit-dtd will be propagated when parsing
schema locations and inline schemas in the SAX Reader. An unspecified error
will be returned if any schema contains DTD when prohibit-dtd is on.</p>
<p class=MsoNormal><b>Example</b></p>
<p class=MsoNormal>You will receive the following error message since prohibit-dtd
is on and it is propagated to ta.xsd.</p>
<p class=MsoNormal>ERROR: Unspecified error</p>
<p class=MsoNormal><b>JScript File (test.js)</b></p>
<p class=CodeCxSpFirst>var reader = new
ActiveXObject("MSXML2.SAXXMLReader.4.0");</p>
<p class=CodeCxSpMiddle>var writer = new
ActiveXObject("MSXML2.MXXMLWriter.4.0");</p>
<p class=CodeCxSpMiddle> </p>
<p class=CodeCxSpMiddle>reader.contentHandler = writer;</p>
<p class=CodeCxSpMiddle>reader.putFeature("schema-validation", true);</p>
<p class=CodeCxSpMiddle>reader.putFeature("use-schema-location",
true);</p>
<p class=CodeCxSpMiddle><b>reader.putFeature("prohibit-dtd", true);</b></p>
<p class=CodeCxSpMiddle> </p>
<p class=CodeCxSpMiddle>try{</p>
<p class=CodeCxSpMiddle>��� reader.parseURL("test.xml");</p>
<p class=CodeCxSpMiddle>��� WScript.Echo(writer.output);</p>
<p class=CodeCxSpMiddle>}</p>
<p class=CodeCxSpMiddle>catch(e)</p>
<p class=CodeCxSpMiddle><span lang=ES>{</span></p>
<p class=CodeCxSpMiddle><span lang=ES>��� WScript.Echo("ERROR:" +
e.description);</span></p>
<p class=CodeCxSpLast>}</p>
<p class=MsoNormal><b>XML File (test.xml)</b></p>
<p class=CodeCxSpFirst><doc xmlns:xsi='http://www.w3.org/2001/XMLSchema-instance'
xsi:noNamespaceSchemaLocation="t.xsd"></p>
<p class=CodeCxSpLast></doc></p>
<p class=MsoNormal><b>Schema File (t.xsd)</b></p>
<p class=CodeCxSpFirst><xsd:schema
xmlns:xsd='http://www.w3.org/2001/XMLSchema'></p>
<p class=CodeCxSpMiddle><xsd:import namespace="a"
schemaLocation="ta.xsd"/></p>
<p class=CodeCxSpMiddle><xsd:element name="doc"/></p>
<p class=CodeCxSpLast></xsd:schema></p>
<p class=MsoNormal><b>Schema File (ta.xsd)</b></p>
<p class=CodeCxSpFirst><!DOCTYPE blah[ ] ></p>
<p class=CodeCxSpMiddle><xsd:schema
xmlns:xsd='http://www.w3.org/2001/XMLSchema' targetNamespace="a"
xmlns="a"></p>
<p class=CodeCxSpLast></xsd:schema></p>
</div>
</body>
</html>