_node_filter

        Low-level api: Remove unrelated nodes in config. This is a recursive
        method.

        Parameters
        ----------

        node : `Element`
            A node to be processed.

        ancestors : `list`
            A list of ancestors of filtrates.

        filtrates : `list`
            A list of filtrates which are result of xpath evaluation.

        Returns
        -------

        None
            There is no return of this method.

def _node_filter(self, node, ancestors, filtrates):
        '''_node_filter

        Low-level api: Remove unrelated nodes in config. This is a recursive
        method.

        Parameters
        ----------

        node : `Element`
            A node to be processed.

        ancestors : `list`
            A list of ancestors of filtrates.

        filtrates : `list`
            A list of filtrates which are result of xpath evaluation.

        Returns
        -------

        None
            There is no return of this method.
        '''

        if node in filtrates:
            return
        elif node in ancestors:
            if node.tag != config_tag:
                s_node = self.get_schema_node(node)
            if node.tag != config_tag and \
               s_node.get('type') == 'list':
                for child in node.getchildren():
                    s_node = self.get_schema_node(child)
                    if s_node.get('is_key') or child in filtrates:
                        continue
                    elif child in ancestors:
                        self._node_filter(child, ancestors, filtrates)
                    else:
                        node.remove(child)
            else:
                for child in node.getchildren():
                    if child in filtrates:
                        continue
                    elif child in ancestors:
                        self._node_filter(child, ancestors, filtrates)
                    else:
                        node.remove(child)
        else:
            node.getparent().remove(node)