Well, breakthrough may be a bit much, but we did figure out some stuff today, and it's going to work quite well...
King just spent an hour with me pouring over the JavaXStreamDBAdaptor code, trying to help me figure wtf was going on (i.e., it wasn't behaving as expected, leaving it unable to properly insert new documents).
We were looking at the code, and then King had an idea. "Open the EOModel for the xml database," he said. I cracked it open. "Try it with the _gid attribute set a a non-class-property." OK. I hit the little diamond widget to tell EOF not to let me access the _gid primary key attribute directly. Recompiled, tweaked some code, and BOOM. It was kinda sorta working. Almost.
The hard part, that I'd been struggling with for the entire week, was basically caused by approximately 30 pixels of diamond widget in EOModeler. 5 days of feeling like an incompetent bumbling moron, caused by a checkbox. Not sure if that clears me or validates the feeling...
![the red circle shows where an evil diamond widget used to live. it enjoyed sucking my soul for a week, taunting me quietly from the depths of compiled code. refusing to make me aware of its existence. begone, you evil diamond! 30 pixels of diamond-induced hell](http://www.darcynorman.net/images/lom_eomodel_gid_diamond.jpg)
It's not completely working now, but I've got a very clear path in front of me, and know exactly where stuff should go. I'm going to try to get to some of it this weekend, but that may prove difficult (with Evan's second birthday party on Sunday! WOOHOO!).