@classmethod
def __getPath(cls, node):
    """ provides node path

        :param node: etree node
        :type node: :class:`lxml.etree.Element`
        :returns: node path
        :rtype: :obj:`str`
        """
    name = cls.__getAttr(node, 'name')
    if not name:
        return ''
    attr = False
    while node.getparent() is not None:
        onode = node
        node = node.getparent()
        if onode.tag == 'attribute':
            attr = True
        else:
            attr = False
        if node.tag not in ['group', 'field']:
            return name
        else:
            gname = cls.__getAttr(node, 'name')
            if not gname:
                gname = cls.__getAttr(node, 'type')
                if len(gname) > 2:
                    gname = gname[2:]
            if attr:
                name = gname + '@' + name
            else:
                name = gname + '/' + name
            attr = False
    return name
