fckxml.js
上传用户:wlfwy2004
上传日期:2016-12-12
资源大小:33978k
文件大小:3k
源码类别:

Jsp/Servlet

开发平台:

Java

  1. /*
  2.  * FCKeditor - The text editor for internet
  3.  * Copyright (C) 2003-2005 Frederico Caldeira Knabben
  4.  * 
  5.  * Licensed under the terms of the GNU Lesser General Public License:
  6.  *  http://www.opensource.org/licenses/lgpl-license.php
  7.  * 
  8.  * For further information visit:
  9.  *  http://www.fckeditor.net/
  10.  * 
  11.  * File Name: fckxml.js
  12.  *  Defines the FCKXml object that is used for XML data calls
  13.  *  and XML processing.
  14.  *  This script is shared by almost all pages that compose the 
  15.  *  File Browser frameset.
  16.  * 
  17.  * File Authors:
  18.  *  Frederico Caldeira Knabben (fredck@fckeditor.net)
  19.  */
  20. var FCKXml = function()
  21. {}
  22. function escapeHTML(text) {
  23. text=text.replace('n','');
  24. text=text.replace('&','&');
  25. text=text.replace('<','&lt;');
  26. text=text.replace('>','&gt;');
  27. return text;
  28. }
  29. FCKXml.prototype.GetHttpRequest = function()
  30. {
  31. if ( window.XMLHttpRequest ) // Gecko
  32. return new XMLHttpRequest() ;
  33. else if ( window.ActiveXObject ) // IE
  34. return new ActiveXObject("MsXml2.XmlHttp") ;
  35. }
  36. FCKXml.prototype.LoadUrl = function( urlToCall, asyncFunctionPointer )
  37. {
  38. var oFCKXml = this ;
  39. var bAsync = ( typeof(asyncFunctionPointer) == 'function' ) ;
  40. var oXmlHttp = this.GetHttpRequest() ;
  41. oXmlHttp.open( "GET", urlToCall, bAsync ) ;
  42. if ( bAsync )
  43. {
  44. oXmlHttp.onreadystatechange = function() 
  45. {
  46. if ( oXmlHttp.readyState == 4 )
  47. {
  48. /*
  49. dbgWin=window.open('','dbgWin','width=700,height=400');
  50. txt=dbgWin.document.getElementById('txtXML');
  51. if (txt==null) {
  52. dbgWin.document.write("<textarea style="width: 100%; height: 100%" id="txtXML"></textarea>");
  53. txt=dbgWin.document.getElementById('txtXML');
  54. }
  55. txt.value=new String("-----------------------------------------n" + oXmlHttp.responseText);
  56. */
  57. oFCKXml.DOMDocument = oXmlHttp.responseXML ;
  58. asyncFunctionPointer( oFCKXml ) ;
  59. }
  60. }
  61. }
  62. oXmlHttp.send( null ) ;
  63. if ( ! bAsync )
  64. this.DOMDocument = oXmlHttp.responseXML ;
  65. }
  66. FCKXml.prototype.SelectNodes = function( xpath )
  67. {
  68. if ( document.all ) // IE
  69. return this.DOMDocument.selectNodes( xpath ) ;
  70. else // Gecko
  71. {
  72. var aNodeArray = new Array();
  73. var xPathResult = this.DOMDocument.evaluate( xpath, this.DOMDocument, 
  74. this.DOMDocument.createNSResolver(this.DOMDocument.documentElement), XPathResult.ORDERED_NODE_ITERATOR_TYPE, null) ;
  75. if ( xPathResult ) 
  76. {
  77. var oNode = xPathResult.iterateNext() ;
  78.   while( oNode )
  79.   {
  80.   aNodeArray[aNodeArray.length] = oNode ;
  81.   oNode = xPathResult.iterateNext();
  82.   }
  83. return aNodeArray ;
  84. }
  85. }
  86. FCKXml.prototype.SelectSingleNode = function( xpath ) 
  87. {
  88. if ( document.all ) // IE
  89. return this.DOMDocument.selectSingleNode( xpath ) ;
  90. else // Gecko
  91. {
  92. var xPathResult = this.DOMDocument.evaluate( xpath, this.DOMDocument,
  93. this.DOMDocument.createNSResolver(this.DOMDocument.documentElement), 9, null);
  94. if ( xPathResult && xPathResult.singleNodeValue )
  95. return xPathResult.singleNodeValue ;
  96. else
  97. return null ;
  98. }
  99. }