[ Index ]
 

Code source de PRADO 3.0.6

Accédez au Source d'autres logiciels libresSoutenez Angelica Josefina !

title

Body

[fermer]

/tests/test_tools/selenium/core/scripts/ -> xmlextras.js (source)

   1  // This is a third party JavaScript library from
   2  // http://webfx.eae.net/dhtml/xmlextras/xmlextras.html
   3  // i.e. This has not been written by ThoughtWorks.
   4  
   5  //<script>
   6  //////////////////
   7  // Helper Stuff //
   8  //////////////////
   9  
  10  // used to find the Automation server name
  11  function getDomDocumentPrefix() {
  12      if (getDomDocumentPrefix.prefix)
  13          return getDomDocumentPrefix.prefix;
  14      
  15      var prefixes = ["MSXML2", "Microsoft", "MSXML", "MSXML3"];
  16      var o;
  17      for (var i = 0; i < prefixes.length; i++) {
  18          try {
  19              // try to create the objects
  20              o = new ActiveXObject(prefixes[i] + ".DomDocument");
  21              return getDomDocumentPrefix.prefix = prefixes[i];
  22          }
  23          catch (ex) {};
  24      }
  25      
  26      throw new Error("Could not find an installed XML parser");
  27  }
  28  
  29  function getXmlHttpPrefix() {
  30      if (getXmlHttpPrefix.prefix)
  31          return getXmlHttpPrefix.prefix;
  32      
  33      var prefixes = ["MSXML2", "Microsoft", "MSXML", "MSXML3"];
  34      var o;
  35      for (var i = 0; i < prefixes.length; i++) {
  36          try {
  37              // try to create the objects
  38              o = new ActiveXObject(prefixes[i] + ".XmlHttp");
  39              return getXmlHttpPrefix.prefix = prefixes[i];
  40          }
  41          catch (ex) {};
  42      }
  43      
  44      throw new Error("Could not find an installed XML parser");
  45  }
  46  
  47  //////////////////////////
  48  // Start the Real stuff //
  49  //////////////////////////
  50  
  51  
  52  // XmlHttp factory
  53  function XmlHttp() {}
  54  
  55  XmlHttp.create = function () {
  56      try {
  57          if (window.XMLHttpRequest) {
  58              var req = new XMLHttpRequest();
  59              
  60              // some versions of Moz do not support the readyState property
  61              // and the onreadystate event so we patch it!
  62              if (req.readyState == null) {
  63                  req.readyState = 1;
  64                  req.addEventListener("load", function () {
  65                      req.readyState = 4;
  66                      if (typeof req.onreadystatechange == "function")
  67                          req.onreadystatechange();
  68                  }, false);
  69              }
  70              
  71              return req;
  72          }
  73          if (window.ActiveXObject) {
  74              return new ActiveXObject(getXmlHttpPrefix() + ".XmlHttp");
  75          }
  76      }
  77      catch (ex) {}
  78      // fell through
  79      throw new Error("Your browser does not support XmlHttp objects");
  80  };
  81  
  82  // XmlDocument factory
  83  function XmlDocument() {}
  84  
  85  XmlDocument.create = function () {
  86      try {
  87          // DOM2
  88          if (document.implementation && document.implementation.createDocument) {
  89              var doc = document.implementation.createDocument("", "", null);
  90              
  91              // some versions of Moz do not support the readyState property
  92              // and the onreadystate event so we patch it!
  93              if (doc.readyState == null) {
  94                  doc.readyState = 1;
  95                  doc.addEventListener("load", function () {
  96                      doc.readyState = 4;
  97                      if (typeof doc.onreadystatechange == "function")
  98                          doc.onreadystatechange();
  99                  }, false);
 100              }
 101              
 102              return doc;
 103          }
 104          if (window.ActiveXObject)
 105              return new ActiveXObject(getDomDocumentPrefix() + ".DomDocument");
 106      }
 107      catch (ex) {}
 108      throw new Error("Your browser does not support XmlDocument objects");
 109  };
 110  
 111  // Create the loadXML method and xml getter for Mozilla
 112  if (window.DOMParser &&
 113      window.XMLSerializer &&
 114      window.Node && Node.prototype && Node.prototype.__defineGetter__) {
 115  
 116      // XMLDocument did not extend the Document interface in some versions
 117      // of Mozilla. Extend both!
 118      //XMLDocument.prototype.loadXML = 
 119      Document.prototype.loadXML = function (s) {
 120          
 121          // parse the string to a new doc    
 122          var doc2 = (new DOMParser()).parseFromString(s, "text/xml");
 123          
 124          // remove all initial children
 125          while (this.hasChildNodes())
 126              this.removeChild(this.lastChild);
 127              
 128          // insert and import nodes
 129          for (var i = 0; i < doc2.childNodes.length; i++) {
 130              this.appendChild(this.importNode(doc2.childNodes[i], true));
 131          }
 132      };
 133      
 134      
 135      /*
 136       * xml getter
 137       *
 138       * This serializes the DOM tree to an XML String
 139       *
 140       * Usage: var sXml = oNode.xml
 141       *
 142       */
 143      // XMLDocument did not extend the Document interface in some versions
 144      // of Mozilla. Extend both!
 145      /*
 146      XMLDocument.prototype.__defineGetter__("xml", function () {
 147          return (new XMLSerializer()).serializeToString(this);
 148      });
 149      */
 150      Document.prototype.__defineGetter__("xml", function () {
 151          return (new XMLSerializer()).serializeToString(this);
 152      });
 153  }


Généré le : Sun Feb 25 21:07:04 2007 par Balluche grâce à PHPXref 0.7