>VEX Document Model, round 2

>Since the last posting about the adventure of modeling VEX with EMF, I’ve made some more progress. The VEX Model is now switched over to EMF and the code is working as well. All existing functionality is work. Here is the latest snapshot of the model.

I’ve added the ability to the model to handled Comment, Processing Instructions, Attributes (as classes), and namespaces for elements and attributes. One catch I ran into has been the synchronization between the WTP DOM and the EMF model. The WTP framework makes some assumptions on how the Model was created, in which don’t apply to the VEX Model. The VEX Model is designed to handle any type of XML, it’s more DOM like. The WTP Adapter framework for EMF2DOM makes an assumption that you generated the model from a Schema, and thus have Class names that correspond to elements or attributes of the same name in the EMF model. This doesn’t work for a generic DOM like model where you have a generic document class, that could hold any type of XML.

So after brainstorming with Ed Merks, the Godfather of EMF. He pointed me in the direction I’m heading now. Basically carry a copy of a W3C DOM for the corresponding element. I.e. if it’s an Element class in VEX, it’ll also carry a field that represents the correspond DOM item. It’s the way the XSD Model is done, and seems to be the simpliest way to go forward. It’s then a matter of using the various ways to notify the models about changes so they synchronize correctly. I suspect this will take a little while to work out, but at least gives me some renewed hope.

Unfortunately, I’m going to have to put VEX away for a bit, so I can revisit and give my other project some love. XSL Tools 1.0M3 will be out soon, and that leaves some pressing issues that need to be addressed for 1.0M4. In particular a really odd bug in which the XSLT comment() method is being ignored during a transformation run, but works perfectly fine when run via ANT. That should be a fun one to track down. XSL Tools 1.0M4 is tentatively themed for some more Debugging enhancements and fixes, so we’ll hopefully get some more interesting things coming out. The editor is pretty complete from an XSLT 1.0 side, so it’s time to concentrate a bit on the debugging framework.

More on VEX and XSL Tools as things progress.

This entry was posted in dita, docbook, eclipse, xml, xsl, xslt. Bookmark the permalink.

2 Responses to >VEX Document Model, round 2

  1. reed.elliott says:

    >David, How do I get involved in the Eclipse WTP/VisualEditorForXML project? I have never contributed to an open source project but would like to contribute 5 or so hours a week to this project. I have been using Eclipse for a few years for web development and playing around with Java but haven’t developed an Eclipse plugin. My company currently uses Altova’s XMLspy and Authentic for XML documentation, and we have XML schema and StyleVision Power Stylesheets documents for such things as timesheets, expenses, notes, etc. We would like to switch to an Eclipse based system. We researched Oxygen’s XML Editor but would rather go with an open source solution. Of course, the only piece missing is a Visual Editor. Please let me know what I need to do to get started. Thanks, Reed Elliott reed.elliott@elliottlogic.com

  2. David Carver says:

    >ReedHere are some resources:http://blog.hantsuki.org/2008/03/07/how-to-contribute-to-eclipse-projects/http://wiki.eclipse.org/Main_Pagehttp://wiki.eclipse.org/Platform_UI/How_to_Contribute – the information here is a good guide for all eclipse projects just not the eclipse platform.http://wiki.eclipse.org/BugDayThere are a couple of books that can help get you started with developing plugins and patches for existing plugins. The one I recommend is “Developing Commercial Quality Plugins for Eclipse”.Besides, code there are other ways to contribute, and that is to help update and create the various wiki and public documentation that is needed using the wiki. Particularly VEX needs some more project related and faq pages created, as well as just some testing and bug reporting done. As you and your company get comfortable, submitting small patches, and features is a good way to help out.The most current version the VEX can be found at:http://build.eclipse.org/webtools/committers/Any additional questions on development of VEX can be directed to the WTP Incubator mailing list, or to the Web Tools Incubator Newsgroup or Web Tools newsgroup.

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out /  Change )

Google+ photo

You are commenting using your Google+ account. Log Out /  Change )

Twitter picture

You are commenting using your Twitter account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )


Connecting to %s