Professional XML (Programmer to Programmer)
Oxygen from SyncRO Soft Ltd. is a Java-based XML editor that works on a variety of platforms, including Windows, Mac OS X, and Linux. In addition, it can work in concert with Eclipse, providing all its functionality as a plug-in to Eclipse. One other unique feature of this editor is that it can be deployed and started using Java WebStart technology. This enables you to have a single deploy point for all users, presented as a Web link. Clicking the link downloads the latest version of the application, reducing the need to deploy updates to all users.
Basic Editing in Oxygen XML Editor 6.2
XML editing in Oxygen is capable. It includes both statement completion (Figure 2-28) and Tag insight. Tag insight displays a ToolTip containing any annotations in the schema. This can be a handy reminder of the purpose of each element and is a nice addition.
Rather than providing multiple views of the XML document in the main window, Oxygen provides the bulk of the graphical views of the document in side windows (see the outline and model windows in Figure 2-29). However, these are not editable views, and they display only a reflection of the existing text view. The graphical Tree editor is opened in a separate window if you'd rather edit the XML document using a graphical model (see Figure 2-29). However, this editor is not as capable as the graphical editor in other products such as XMLSpy or Stylus Studio.
Schema Development in Oxygen XML Editor 6.2
Oxygen supports creation of schemas based on DTD, W3C XML Schema, Relax NG (full and compact), or Schematron. In addition, it supports converting between these schema formats using the integrated Trang converter.
Oxygen has the broadest set of available schema formats, including DTD, W3C XML schemas, Relax NG, and Schematron. However, only Relax NG and W3C XML schemas support graphical schema editors (see Figure 2-30). In addition, the graphical view is a static view. Changes can be made only in the text editor window.
Converting between Schema Types in Oxygen XML Editor 6.2
Oxygen is fairly unique in that it gives you a selection of editors to provide support for converting between many of the standard schema formats (see Figure 2-31). This support is added by the integration of the Trang schema converter, which is capable of converting between DTD, XML schema, and Relax NG schema formats.
After your schema is complete, you can generate documentation for the schema. This documentation includes diagrams of each global element and type (see Figure 2-32).
The output from this generation can now be viewed by all team members in any browser (see Figure 2-33).
XSLT Development in Oxygen XML Editor 6.2
Oxygen supports debugging XSLT templates as do many of the other editors described in this chapter. This includes breakpoints, stepping through the templates, and probing values at runtime. However, Oxygen goes one step further, enabling profiling (see Figure 2-34) of the transformation. This can be a great resource for tuning a slow transformation, highlighting just which templates or section of code is causing the processing to be slow. Oxygen can also use multiple XSLT processors, notably Xalan and versions of Saxon, including XSLT 2.0 processors. These can be used to select the particular XSLT engine you want to use in your development.
Other Features in Oxygen XML Editor 6.2
When you are working with SVG (see Chapter 5), it can sometimes be difficult to visualize the resulting graphic. Oxygen includes an SVG viewer, allowing you to see SVG graphics from within the editor (see Figure 2-35).
The following table summarizes the XML editing capabilities of Oxygen XML Editor 6.2.
Benefit | Disadvantage |
---|---|
Support for Java WebStart makes deployment and upgrading easier. | Limited viewer support for visualizing XML structure. |
Support for Relax NG and Schematron schemas as well as W3C XML Schema and DTDs. | Debugging only with XSLT, no XQuery debugging. |
Supports XSLT debugging and profiling. | Graphical views are read-only. |
Supports XSL:FO, including many common output formats, such as PDF and HTML. | |
Can work within Eclipse as a plug-in. |
Категории