code: def open(self, url):
          
          cache = self.cache()
          id = self.mangle(url, 'document')
          d = cache.get(id)
          if d is None:
              d = self.download(url)
              cache.put(id, d)
          self.plugins.document.parsed(url=url, document=d.root())
          return d
docs: Open an XML document at the specified I{url}.
          First, the document attempted to be retrieved from
          the I{object cache}.  If not found, it is downloaded and
          parsed using the SAX parser.  The result is added to the
          cache for the next open().
          @param url: A document url.
          @type url: str.
          @return: The specified XML document.
          @rtype: I{Document}