Just made a major breakthrough in enabling editing of XML via the JavaEOXMLSupport framework. Turns out I was outsmarting myself again - trying to do too much work, instead of just letting go and letting WebObjects do what it does best. Once I did that, it was a 5 line addition of code (after skipping comments) to enable this. I'll need to do some more testing, but it's looking good. When it's actually working, I'll publish the changes to the SourceForge site.
Once I'm comfortable with the editing (and of course creating) of records, I'll work on the JavaXStreamDBAdaptor to enable it to store the changes. (adding support for EOF saveChanges() will do - just remember to NOT DO TOO MUCH ;-) )
UPDATE:YES! It's working perfectly! I just modified the xmldbTester.woa application to have a component that provides a form to edit a subset of the LOM (title, description, location, keywords, format). Works great! Sweet. Next up, I'll package the new version of JavaEOXMLSupport.framework as version 0.2 and publish it to the Sourceforge website. Then, I'll get to work on JavaXStreamDBAdaptor to enable saving the record there.
The coolest part of the whole editing form component is that it doesn't even know it's a front end for editing XML! It just knows that it's getting/setting stuff at a keyValuePath. I bind the value of a text input component to "
lom.general.title.string.content" and it Just Works. Behind the scenes, it's modifying the DOM representing the XML document, and providing the naiive editing component with what appears to be regular plain old EOs.