Microsoft KB Archive/261293

= INFO: XML DOM Methods Use Linefeed Only Without a Carriage Return at the End of a Line =

Article ID: 261293

Article Last Modified on 9/30/2003

-

APPLIES TO


 * Microsoft XML Parser 2.5
 * Microsoft XML Parser 2.6
 * Microsoft XML Core Services 4.0
 * Microsoft XML Core Services 4.0

-



This article was previously published under Q261293



SUMMARY
Versions of MSXML prior to 2.5 used both carriage return and linefeed (CRLF) characters to indicate the end of a line of text. However, starting with MSXML version 2.5, this behavior is different. Methods of the XML Document Object Model (DOM) now return text by using only the linefeed character. This change was made to comply with the World Wide Web (W3C) specification for how XML output should be generated.



MORE INFORMATION
To demonstrate this behavior, insert the following script into a new text file, save the file as XMLCRLF.js, and then double-click on the file. If the computer on which the file is being run has MSXML 2.5 or greater installed, the output text includes only a linefeed (ASCII 10) character. On computers that are using prior versions of MSXML, the output text includes a carriage return and a linefeed. function pstring(s) {  var len = s.length; out = &quot;&quot;; for (i = 0; i < len; i++) out += s.charCodeAt(i) + &quot; &quot;; WScript.echo(&quot;Text value of node: &quot;+s) WScript.echo(&quot;ASCII character values of node: &quot;+out); }

var doc = new ActiveXObject(&quot;Microsoft.XMLDOM&quot;); doc.preserveWhiteSpace = true; doc.loadXML(str);

var x = doc.documentElement.firstChild.nodeValue; // normalizes. pstring(x);

