code: function(data, options) {
          if(typeof data == "string") {
              data = OpenLayers.Format.XML.prototype.read.apply(this, [data]);
          }
  
          // Loop throught the following node types in this order and
          // process the nodes found 
          var types = ["Link", "NetworkLink", "Style", "StyleMap", "Placemark"];
          for(var i=0, len=types.length; i<len; ++i) {
              var type = types[i];
  
              var nodes = this.getElementsByTagNameNS(data, "*", type);
  
              // skip to next type if no nodes are found
              if(nodes.length == 0) { 
                  continue;
              }
  
              switch (type.toLowerCase()) {
  
                  // Fetch external links 
                  case "link":
                  case "networklink":
                      this.parseLinks(nodes, options);
                      break;
  
                  // parse style information
                  case "style":
                      if (this.extractStyles) {
                          this.parseStyles(nodes, options);
                      }
                      break;
                  case "stylemap":
                      if (this.extractStyles) {
                          this.parseStyleMaps(nodes, options);
                      }
                      break;
  
                  // parse features
                  case "placemark":
                      this.parseFeatures(nodes, options);
                      break;
              }
          }
          
          return this.features;
      }
docs: Method: parseData
  Read data from a string, and return a list of features.
  
  Parameters:
  data    - {String} or {DOMElement} data to read/parse.
  options - {Object} Hash of options
  
  Returns:
  {Array(<OpenLayers.Feature.Vector>)} List of features.