>Comparing XML Features of OxygenXML vs Eclipse WTP and XSL Tools

>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.

So the following is comparing basic XML functionality between Oxyen XML 9 and Eclipse 3.4 with Web Tools Platform 3.0 and XSL Tools 0.5M9 installed:

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.

XML IDE Feature Comparison
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.
XSLT Transformations X X
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
XSLT Support X X
Preview Transformation X X
XPath Search and Evaluation X X
FOP Support X Partial
XML Schema X X X
DTD X X X
Relax NG X
Namespace Routing Language X
Converting between different Schema languages X
Pretty Print XML Documents X X X
Unicode Support X X X
Spell Checking X X X
Surrond With (Mark Selected Text) X Partial Partial
WSDL Editing and Testing X X
Folding for XML X X X
XInclude Support 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.

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

2 Responses to >Comparing XML Features of OxygenXML vs Eclipse WTP and XSL Tools

  1. >One of the biggest problem with WTP for me is that it is composed from huge pile of plugins, that pollute Eclipse with many features that I just don’t want. I just fear to install so much for not so big thing – edit XML. Oxygen is also big, but at least it is just single plugin.

  2. David Carver says:

    >What you need to do is just install the Web Development Tools (Web Standard Tools), it doesn’t contain all the extra Java EE stuff that you don’t need, and is a much smaller feature set to install. WDT (WST) contains basic set that Oxygen has, and is a much smaller install than the full WTP.

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 )

Twitter picture

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

Facebook photo

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

Google+ photo

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

Connecting to %s