def _make_prefix(self, declared_prefixes):
used_prefixes = set(self._prefixes.values())<EOL>used_prefixes |= set(declared_prefixes.values())<EOL>while True:<EOL><INDENT>prefix = "<STR_LIT>".format(self._next_id)<EOL>self._next_id += <NUM_LIT:1><EOL>if prefix not in used_prefixes:<EOL><INDENT>break<EOL><DEDENT><DEDENT>return prefix<EOL>
Make up a new namespace prefix, which won't conflict
        with `_prefixes` and prefixes declared in the current scope.

        :Parameters:
            - `declared_prefixes`: namespace to prefix mapping for the current
              scope
        :Types:
            - `declared_prefixes`: `unicode` to `unicode` dictionary

        :Returns: a new prefix
        :Returntype: `unicode`