>Note: This entry is written from a user’s point of view and not my role as a committer on WTP Source Editing.
Eclipse XML Development Tools for Ganymede: C
Eclipse XML Development Tools for Galileo: B+
I’ve been using Eclipse as my primary IDE for development since early 2005. During that time I’ve used it for a variety of languages and tasks, but one thing that has always disappointed me from an XML Developer’s stand point were the built in tools. They were either non-existant, or just were not to the level that I needed or expected. Some of this was corrected by adding in Third-Party plugins like OxygenXML. OxygenXML is actually a good set of plugins for eclipse, but the built in tools needed to improve.
I work for an XML Standards organization for the Automotive, Heavy Duty Truck, Powersports and Marine industries. I’m plauged by interoperability issues between Altova, Stylus Studio, and Eclipse. All say different things, and all have different levels of compatibility. Altova has gotten better, and in many ways eclipse’s use of Xerces helps with schema validation. The issue from eclipse’s XML editor from WTP has always been with the user interface and more specifically the performance. The later I’ll address in a bit.
WTP 2.0 helped a lot when it was released, and WTP 3.0 helped even more. Many of the issues like attribute order and namespaces were corrected. There have been some in the XML community that wish for the WTP 1.0 XML Schema Design view to come back, and I’m one of those. The reason, the Hiearchy View is pretty much a standard in the XML world for working with the layout. A UML based approach is good for programmers, but not necessarily good for the way XML Designer’s work. There still was a lack of an editor that was XSLT 1.0 and 2.0 aware, no relaxng editor, and basically no advancement on the WTP’s DOM compliance.
- XSLT editing and debugging support has been added. This provides the basics of what one has come to expect in XSLT 1.0 editing. It needs work in the way of XSLT 2.0 support.
- XPath View that allows for testing of XPath 1.0 options.
- An XPath 2.0 processor called PsychoPath that passes about 76% of the W3C Test Suite and passing more each day.
- An XML Perspective for working with XML Files.
- OASIS XML Catalog 1.1 support.
- Improved overall Performance on editing large XML files.
It still includes editors for XML Schema, WSDL (through the Web Services Plugins), DTD, and a grammar aware XML Editor. XML Catalog support has been improved. What it lacks is still support for the ISO RelaxNG editor and a good SchemaTron editor. The later is still where OxygenXML excels, and there are some rudimentary plugins available on Sourceforge to address the SchemaTron editor issue. The biggest reason for the XML Community to check out Galileo is the overall improvement in the speed of the editors. No longer is there an annoying 1 to 2 second delay, or up to a 10 minute wait time for code completion to finish on large XML files. Most of this is instantaneous now.
With this said, there still are some very annoying issues that hopefully will be addressed in upcoming releases. XML Formatting still has some serious problems. Especially if xml:space=”preserve” is specified, and if there are XML Entities included in the document. Formatting is something that is critical to get right as it helps with editing and working with the files. It needs more attention than it has been getting. With this said there are work arounds for the formatting issue, the HTMLTidy plugin on Sourceforge does a good job of formatting the documents. However it does loose any annotation markers that the use has set. Not a huge deal in most cases but it can be an annoyance itself.
Galileo’s tweaks on the performance side and the addition of an XSLT set of plugins makes it worthy of the B+ grade. If the formatting issues had been corrected, it would have earned an A-, but unfortunately they are still too much in the user’s face. Overall interoperability and conformance to the various XML specifications is muched improved, so adopters building on WTP 3.1 will have better interoperability. If you haven’t tried it, grab a copy of the Eclipse Galileo for Java EE developer’s as this should have everything you need plus some extra. Members within the PDT arena that need XSLT development will want to add the XSL feature to your package through the Galileo update site.
A side note, there are some XML incubating projects that could use some love.
- VEX – Visual Editor for XML provides WYSIWYG editing of XML Documents and Files.
- XQuery Development Tool Kit – an XQuery editor built on top of the Eclipse XML Editor. Note that there is also a very worthy project called XQDT that people should check out. I would hope that the two projects can be combined to benefit the community and adopters as a whole.
- XML Security Tools – an implementation of the XML Digital Signatures and XML Encryption specifications. Provides an interface into the existing eclipse editors.
If interested in helping with any of these projects, drop a note in the eclipse wtp incubator newsgroup or contact one of the developers.