>With the upcoming release of XSL Tools 0.5, I’d thought I’d revisit some items for making your eclipse environment a decent XML IDE. I say decent because there are tools like Oxygen XML that still provide some functionality that the eclipse Web Tools Platform doesn’t and the XSL Tools project is a bit behind on. But with that said, the gap has narrowed considerably, and I’ve since switched from using Oxygen XML as my main XML plugin over to WTP.
Note: I’m now a committer on the XSL Tools project, so some of my thoughts and views may be biased a bit. I however used Oxygen XML and prior to that XML Spy Professional on eclipse. The last version of Oxygen XML I used was Oxygen XML 9, and XML Spy Professional 2006.
The following items aren’t included in WTP or XSL Tools. Some are being addressed, others would still need plugins to be created:
- RelaxNG – WTP doesn’t include a RelaxNG editor or validator.
- XQuery – Currently there is no direct support for editing XQuery files or validation. This however is being addressed through a Google Summer of Code Project. There is a plan to make this an official project proposal.
- XML Security and Encryption – there is no dirrect support for working with XML Encryption and Security specifications. There is an open source plugin that adds some of this support.
- oNVDL – Oxygen support validation through the ISO NVDL specification.
- Visual XML Editing – Oxygen supports being able to edit an XML file like DocBook or DITA using CSS stylesheets for a WYSIWYG experience. There is discussion of bringing the VEX editor over as an official eclipse plugin.
In many cases, these areas are aimed at specific segments of the XML community so that is why there hasn’t be a push by the eclipse community. However, I also feel that the XML community in some ways hasn’t looked at eclipse as a viable XML IDE platform. First and foremost, eclipse still has a perception problem of it being a Java IDE. However, this really isn’t the case any longer. While the framework is still written in Java, it covers a much wider platform range.
Basic XML Functionality Comparison.
The XSL Tools xslt editor extends the WTP xml editor, so it inherits much of the functionality from the WTP xml editor. If an option applies to the XML editor in WTP it applies to the XSL editor as well.
|Feature||Oxygen XML||Eclipse Web Tools||XSL Tools|
|Tree Based Outline||X||X||X|
|XML Perspective and Project Support||X||–||X|
|XSLT Debugger Perspectives||X||–||X|
|XML Specific File Wizards||X||X||X|
|Context Sensitive content assistance||X||X||X|
|Content Assistance Shows XSLT Output Documents||X||–||Partial – This is available when the namespace is in the XML Catalog. It is also partially supported by the XML editors dynamic learning ability. This is currently not supported for select, test, and match attributes.|
|DocBook Support||X||Partial through User XML Catalog Entries||Partial through User XML Catalog Entries|
|TEI Documents Support||X||Partial through User XML Catalog Entries||Partial through User XML Catalog Entries|
|Configurable XML Templates||X||X||X|
|Automatic Content Generation||X||Partial||Partial|
|Well Formed Document Checking||X||X||X|
|Wizard for Schema Association||X||–||–|
|XPath Search and Evaluation||X||–||X|
|Namespace Routing Language||X||–||–|
|Converting between different Schema languages||X||–||–|
|Pretty Print XML Documents||X||X||X|
|Surrond With (Mark Selected Text)||X||Partial||Partial|
|WSDL Editing and Testing||X||X||–|
|Folding for XML||X||X||X|
For the most part for basic XML editing needs, the two are very similar in functionality. I still like and recommand Oxygen XML for those that need some of the features that eclipse doesn’t support, but the reasons for recommending Oxygen XML over the WTP support is narrowing. For those that need RelaxNG, WYSIWYG XML Editting, and XQuery support, then Oxygen XML is the way to go. However, the combination of WTP and XSL Tools adds some features that aren’t available in Oxygen XML:
- Better integration with the existing eclipse Debug Perspective
- Leverages eclipse Launch Configurations
- HyperLink navigation through CTRL+Click to WSDL, XSD, XML, and XSLT files and components.
- Project specific Validation settings. With Inclusion and Exclusion support.
- XSLT Specific Validation control. Control what is displayed as an error, warning, or informational.
- XPath syntax checking and validation.
- WS-I Basic Profile validation support for WSDL and Web Services.
The combination of WTP and XSL Tools can give a good base support for XML IDEs at a very low cost point. Oxygen XML is a good addition for those that need some of it’s advance functionality like XQuery Support and better support for XSLT 2.0 and XPath 2.0. DocBook and DITA authors will like the WYSIWYG editting that Oxygen XML provides as well.