def startElement(self, tag, attrs): if tag == 'partition': name = attrs['name'] assert name not in self.partitions.keys() self.dtypes[name] = attrs['type'] self.shapes[name] = [] self.name = name self.partitions[name] = tuple() else: if tag == 'dimension' and self.name in self.partitions.keys(): if attrs['name'] == self._iterkey: self.partitions[self.name] += (self._partkey,) else: self.partitions[self.name] += (attrs['name'],) Reader.startElement(self, tag, attrs)