I wonder if this if/elif block would be more readable implemented as a dictionary, and calling `parsemethods[node.tagName](node)`?