code: function(data) {
          var result;
          if(typeof data == "string") {
              data = OpenLayers.Format.XML.prototype.read.apply(this, [data]);
          }
          var root = data.documentElement;
          if(root) {
              var scope = this;
              var read = this["read_" + root.nodeName];
              if(read) {
                  result = read.call(this, root);
              } else {
                  // fall-back to GML since this is a common output format for WMS
                  // GetFeatureInfo responses
                  result = new OpenLayers.Format.GML((this.options ? this.options : {})).read(data);
              }
          } else {
              result = data;
          }
          return result;
      }
docs: Constructor: OpenLayers.Format.WMSGetFeatureInfo
  Create a new parser for WMS GetFeatureInfo responses
  
  Parameters:
  options - {Object} An optional object whose properties will be set on
  this instance.
   
  APIMethod: read
  Read WMS GetFeatureInfo data from a string, and return an array of features
  
  Parameters:
  data - {String} or {DOMElement} data to read/parse.
  
  Returns:
  {Array(<OpenLayers.Feature.Vector>)} An array of features.