def _visit_item(self, name):
        item = self.f.get(name)
        # add item info
        if isinstance(item, h5py.Dataset):
            itemtype = 'dataset'
            shape, dtype = item.shape, item.dtype
        elif isinstance(item, h5py.Group):
            itemtype = 'group'
            shape, dtype = None, None
        self.iteminfos.append(ItemInfo(name, itemtype, shape, dtype))
        # add child
        if '/' not in name:
            self._children[name] = Item(self, self, name, itemtype, shape=shape, dtype=dtype)
        else:
            parentnm, childnm = os.path.split(name)
            parent = self.get(parentnm)
            child = Item(self, parent, childnm, itemtype, shape=shape, dtype=dtype)
            parent._add_child(childnm, child)
Callback function for `visit`: register the item.
dataset/ETHPy150Open rossant/h5view/h5view.py/File._visit_item