def _expand_logical_shortcuts(cls, schema):
        """ Expand agglutinated rules in a definition-schema.

        :param schema: The schema-definition to expand.
        :return: The expanded schema-definition.
        """
        def is_of_rule(x):
            return isinstance(x, _str_type) and \
                x.startswith(('allof_', 'anyof_', 'noneof_', 'oneof_'))

        for field in schema:
            for of_rule in (x for x in schema[field] if is_of_rule(x)):
                operator, rule = of_rule.split('_')
                schema[field].update({operator: []})
                for value in schema[field][of_rule]:
                    schema[field][operator].append({rule: value})
                del schema[field][of_rule]
        return schema
Expand agglutinated rules in a definition-schema.

        :param schema: The schema-definition to expand.
        :return: The expanded schema-definition.