
Hello Stefan,
attribute. That's the main reason I propose the keep_tree functionality, to make ObjectifiedElement-leaves survive a creation-serialization-parse cycle.
I think we should do this:
if old_pytypename == TREE_PYTYPE: if cetree.findChild(c_node, 0) is NULL: pytype = TREE_PYTYPE else: # check old type
Do you still think we need the keep_tree then?
You really don't like it, do you ;-)? I'd say this should work and remove the need for keep_tree, though. Sidenote: So I thought maybe we should revise the use of TREE in objectify in general, but one has to be very careful. You really want to have it e.g. in objectify.Element():
o = objectify.Element("structural") e = etree.Element("structural") type(o), type(e) (<type 'objectify.ObjectifiedElement'>, <type 'objectify.ObjectifiedElement'>) root.o = o root.e = e # Now type lookup can not rely on parent == None ... type(root.o), type(root.e) (<type 'objectify.ObjectifiedElement'>, <type 'objectify.StringElement'>)
Holger -- Psssst! Schon vom neuen GMX MultiMessenger gehört? Der kanns mit allen: http://www.gmx.net/de/go/multimessenger