def _node_le(self, node_self, node_other):
for x in ['<STR_LIT>', '<STR_LIT:text>', '<STR_LIT>']:<EOL><INDENT>if node_self.__getattribute__(x) != node_other.__getattribute__(x):<EOL><INDENT>return False<EOL><DEDENT><DEDENT>for a in node_self.attrib:<EOL><INDENT>if a not in node_other.attrib ornode_self.attrib[a] != node_other.attrib[a]:<EOL><INDENT>return False<EOL><DEDENT><DEDENT>for child in node_self.getchildren():<EOL><INDENT>peers = self._get_peers(child, node_other)<EOL>if len(peers) < <NUM_LIT:1>:<EOL><INDENT>return False<EOL><DEDENT>elif len(peers) > <NUM_LIT:1>:<EOL><INDENT>raise ConfigError('<STR_LIT>'.format(self.device.get_xpath(child)))<EOL><DEDENT>else:<EOL><INDENT>schma_node = self.device.get_schema_node(child)<EOL>if schma_node.get('<STR_LIT>') == '<STR_LIT:user>' andschma_node.get('<STR_LIT:type>') == '<STR_LIT>' orschma_node.get('<STR_LIT>') == '<STR_LIT:user>' andschma_node.get('<STR_LIT:type>') == '<STR_LIT:list>':<EOL><INDENT>elder_siblings = list(child.itersiblings(tag=child.tag,<EOL>preceding=True))<EOL>if elder_siblings:<EOL><INDENT>immediate_elder_sibling = elder_siblings[<NUM_LIT:0>]<EOL>peers_of_immediate_elder_sibling =self._get_peers(immediate_elder_sibling,<EOL>node_other)<EOL>if len(peers_of_immediate_elder_sibling) < <NUM_LIT:1>:<EOL><INDENT>return False<EOL><DEDENT>elif len(peers_of_immediate_elder_sibling) > <NUM_LIT:1>:<EOL><INDENT>p = self.device.get_xpath(immediate_elder_sibling)<EOL>raise ConfigError('<STR_LIT>'.format(p))<EOL><DEDENT>elder_siblings_of_peer =list(peers[<NUM_LIT:0>].itersiblings(tag=child.tag,<EOL>preceding=True))<EOL>if peers_of_immediate_elder_sibling[<NUM_LIT:0>] not inelder_siblings_of_peer:<EOL><INDENT>return False<EOL><DEDENT><DEDENT><DEDENT>if not self._node_le(child, peers[<NUM_LIT:0>]):<EOL><INDENT>return False<EOL><DEDENT><DEDENT><DEDENT>return True<EOL>
_node_le

        Low-level api: Return True if all descendants of one node exist in the
        other node. Otherwise False. This is a recursive method.

        Parameters
        ----------

        node_self : `Element`
            A node to be compared.

        node_other : `Element`
            Another node to be compared.

        Returns
        -------

        bool
            True if all descendants of node_self exist in node_other, otherwise
            False.