code: def open(self, url):
          
          cache = self.__cache()
          id = self.mangle(url, "document")
          xml = cache.get(id)
          if xml is None:
              xml = self.__fetch(url)
              cache.put(id, xml)
          self.plugins.document.parsed(url=url, document=xml.root())
          return xml
docs: Open an XML document at the specified I{URL}.
  
          First, a preparsed document is looked up in the I{object cache}. If not
          found, its content is fetched from an external source and parsed using
          the SAX parser. The result is cached for the next open().
  
          @param url: A document URL.
          @type url: str.
          @return: The specified XML document.
          @rtype: I{Document}