Oxygen XML Editor
|Developer(s)||SyncRO Soft Ltd.|
|Stable release||16.0 / May 20, 2014|
The Oxygen XML Editor (styled <oXygen/>) is a multi-platform XML editor, XSLT/XQuery debugger and profiler with Unicode support. It is a Java application, so it can run in Windows, Mac OS X, and Linux. It also has a version that can run as an Eclipse plugin.
XML editing features
Oxygen XML offers a number of features for editing XML documents. Documents can be checked for proper XML form. They can also be validated against a schema. For validation purposes, the documents can be validated against DTD, W3C XML Schema, RELAX NG, Schematron, NRL and NVDL schemas. The editor can also validate the XML as it is entered. For additional schema types, a validation scenario can be generated, which allows oXygen to call out to arbitrary programs to perform validation.
Also, the program has support for XML catalogs. An XML catalog is an XML file of a specific format that maps a schema definition string to an actual file name on the disk or web. Using catalogs allows the user to specify a web address for a schema, but allows oXygen to find a file form of the address if the catalog specifies one.
The program is aware of XInclude, and all validation and transformation services can follow the XInclude statements to their included files.
Oxygen XML offers three views designed for editing XML documents. These views are text, grid, and author.
The text view is the default view for editing an XML document. As the name suggests, this view shows the XML text as text.
For documents that are associated with an XML schema, Oxygen XML offers tag completion. Oxygen XML can use a number of XML schema languages, including DTD, W3C XML Schema, RELAX NG (both compact and full). Both W3C XML Schema and RELAX NG schemas can include embedded Schematron rules. It also can use the NRL and NVDL routing languages, which allow multiple schemas of different types to be applied to different files.
In addition to tag completion, annotations in the schema will be displayed as tooltips for the elements that those annotations apply to.
For schema formats that do not have a standard mechanism to bind the schema to the XML file, Oxygen XML provides a processing instruction that instructs the program as to which schemas to use.
For documents that do not have a schema, Oxygen can analyze the structure of the document and generate a schema.
The grid view shows the XML document in a spreadsheet-like fashion. The left-most column shows the elements, including comments and processing instructions, at the root level. The next column shows attributes of root elements, and every unique first child of the root XML element. If the root element has six children all named "section", then the grid view will show only one section element and a notation that there are six of them. This iteration continues for the next column.
This view is not often useful for HTML or other document-like formats, but it can be useful for certain XML formats that resemble spreadsheets.
With the exception of spaces, this view shows the entire structure of the XML file. All of the textual information in the file will be presented in this view.
New to Oxygen XML v9.x was an author view providing a WYSIWYM view of the XML document. This view is based on providing a CSS file for the document that specifies the data type for each element in the document's schema. Oxygen XML comes with document CSS files for formats like DITA, DocBook, and TEI.
XML tags and attributes in this view can be completely disabled or can be shown in various combinations.
Editing in this view is an intermediate step between true WYSIWYG and editing in the regular text view in terms of complexity for the author. The XML elements are made more human-readable and intuitive, but the nesting and semantics of the XML document are still clear. The cursor can be placed between any elements, and when the cursor's position is ambiguous, a tool-tip window will appear showing a local view of the XML tree and the cursor's position in it. A bar along the top of the view shows the list of elements from the document root to the element under the cursor.
XML elements are never implicitly inserted into the document. However, a common action in editing document-like XML files is to create a new element of the same name following the current one. The author view will perform this operation if the user presses the enter key twice (pressing it once brings up a dialog of possible elements to add, if tag competition is available).
Inserting elements can be done through oXygen's XML refactoring commands to insert an element at the current cursor location. Even if XML tags are set to be non-visible, an indication for an empty element is always displayed using that element's name.
Attributes on XML elements cannot directly be edited. However, Oxygen XML does have an attribute panel that, when content completion information is available, can be used to both see and set the value of attributes on the current element.
Editing of specialized XML formats
Though Oxygen XML can edit any XML document, providing content completion for documents with a schema binding, it is able to recognize certain XML documents innately.
Oxygen XML provides schema editing features for both W3C XML Schema and RELAX NG's XML form. It offers visual editing support for both, as well as schema-less syntax highlighting and content completion.
Oxygen XML offers support for XSLT documents, both version 1.0 (with EXSLT extensions) and 2.0. XSLT elements are recognized and drawn in a different color from non-XSLT XML elements. It also provides special validation services for XSLT documents. For example, it can validate that an attribute containing an XPath string is a valid XPath. oXygen XML automatically assumes that documents with the .xsl and .xslt extensions are XSLT files, and it treats them accordingly.
It also offers support for editing XSL-FO documents, though it does not provide visual editing features for it.
Editing of non-XML files
XSLT-based document transformation is a common operation on XML files, and Oxygen XML provides support for these operations. It allows the user to define a transformation scenario which specifies that a particular XSLT file will be applied to the current XML document. Transformation scenarios are aware of all of the parameters of the XSLT file in question and provides for visual editing of those parameters for a particular scenario.
Additionally, the results of the transformation scenario can be piped through an XSL-FO processor, whether the packed-in FOP processor or another one that was set up to be used. Command line parameters can be added as part of the scenario.
The final output filename, path and extension can be specified for a transform scenario.
Transform scenarios can be local to a particular Oxygen XML project workspace or global to all projects. Oxygen XML comes with a number of standard global transform scenarios for common tasks, like transforming DocBook documents into HTML, PDF through XSL-FO and FOP, and so on. It also comes with a recent version of the DocBook XSL XSLT transformation suite. Oxygen XML comes with DITA Open Toolkit, which allows publishing entire DITA document structure to different output formats, including PDF, WebHelp, and EPUB.
Oxygen XML provides comprehensive debugging facilities for XSLTs. It offers features comparable to source code debuggers like gdb. This includes breakpoints, the ability to look at the current context and "memory", single-stepping through the XSLT, and so forth. It can debug both XSLT version 1.0 and 2.0.
As of version 9.2, a smaller version of the Editor is available, called Oxygen XML Author. Author is centered on general XML document editing. It does not provide full XSLT editing and debugging support or schema editing support, among other missing features.
Features supported by Oxygen XML Author:
- One click indentation
- Collapse child fold/other folds
- Easy error tracking mechanism
- Resolved document map view
- Lock/unlock XML tags
- Document Map-Wide spell check/Automatic spell check
- Easy document validation
- Multiple output format generation e.g. PDFs, HTML
- Track changes/Review a document
- Smart paste
The Oxygen license is "Named User"-based so one purchased license entitles the named user to install and use any distribution of Oxygen on any platform as long as the named user will use that license.