'Gets the name of a claude. It handles the case where a taxonomy node is involved'

def _getNodeName(self, node, depth=(-1)):

    def getTagFromTaxonomyNode(node):
        'Returns    the    name    of    a    taxonomy    node.    A    taxonomy    node    have    to    be    treated    differently    as    the    name\n                                                is    embedded    one    level    deeper'
        phyloxmlTaxoNames = {'common_name': '', 'scientific_name': '', 'code': ''}
        for child in node:
            childTag = self.cleanTag(child.tag)
            if (childTag in phyloxmlTaxoNames):
                return child.text
        return ''
    nodeName = ''
    for child in node:
        childTag = self.cleanTag(child.tag)
        if (childTag == 'name'):
            nodeName = child.text
            break
        elif (childTag == 'taxonomy'):
            nodeName = getTagFromTaxonomyNode(child)
            break
    return nodeName
