17 """ Generates the representation of the file designed by filename
18 in memory. Build a tree.
20 :param filename: name of the file to parse
21 :returns: the tree representing the file
23 parser = xml.sax.make_parser()
25 parser.setContentHandler(handler)
26 parser.parse(open(filename))
28 root_node = handler.get_root()
29 if root_node.format_version !=
"4":
36 """ ContentHandler to parse the xar file
40 xml.sax.handler.ContentHandler.__init__(self)
46 if name ==
'BehaviorSequence':
47 new_node = node_behavior_sequence.BehaviorSequence(
49 elif name ==
'BehaviorLayer':
50 new_node = node_behavior_layer.BehaviorLayer(
52 elif name ==
'BehaviorKeyframe':
53 new_node = node_behavior_keyframe_v2.BehaviorKeyframeV2(
60 parent_node = self.
_nodes.pop()
61 parent_node.attach_attribute(name, new_node)
62 parent_node.add_child(new_node)
63 self.
_nodes.append(parent_node)
65 self.
_nodes.append(new_node)
68 if (name ==
'BehaviorSequence'
69 or name ==
'BehaviorLayer'
70 or name ==
'BehaviorKeyframe'):