from zope.interface import Interface

class ICacheChooser(Interface):

    def __call__(fun_name):
        """Return a cache with a dict interface based on a dotted
        function name `fun_name`.

        May return None to indicate that there is no cache available.
        """

class IXHTMLCompressor(Interface):

    def compress(string):
        """Expects a valid XHTML Unicode string as input and returns a valid
        XHTML Unicode string.
        
        Examples of compression are removal of whitespace without a semantical
        meaning, lowercasing of tags and attribute names (which gzip
        compression can take advantage of) or removal of comments.
        """
