XML Developer

XML Developer

  • Develop advanced XSLT stylesheets
  • Visually Edit XML Schema
  • Debug XSLT and XQuery files
  • Generate XSD and XSL documentation
  • Connect and manage XML Databases
  • Validate and transform XML files

XML Validation

XML Validation

<oXygen/> can validate your XML documents using any schema language (XML Schema, Relax NG, Schematron, DTD or NVDL).

The validation engines can be parametrized and the validation configuration saved for later use.

XSL Editor

XSL Editor

Top of the line XSL editing - oXygen assists you with:
  • Intelligent content completion
  • Outline of all XSL components
  • Reusable and flexible transformation scenarios
  • "As you type" stylesheet validation

XSLT Debugger

Editing and Debugging XSLT stylesheets is an easy task with the oXygen advanced features.

Debugging support includes: Saxon 9, Saxon 6.5 and Xalan.

  • Variables and Stack view
  • Context, XWatch and Breakpoints view
  • Mapping from output to the source (Saxon)

XSLT Refactoring Actions

Save time when changing your existing XSLT code!

oXygen powerful refactoring actions include:
  • Extracting templates from existing code
  • Renaming existing templates, variables and parameters
  • Search for component references

XSLT Documentation

The oXygen XSLT Documentation tool allows you to easily generate full documentation for the XSLT stylesheet components in XHTML format, including comprehensive annotations and cross references.

XML Schema

XML Schema Editor

Top of the line XML Schema editing - oXygen assists you with:

  • Intelligent content completion
  • "As you type" schema validation
  • Validation scenarios
  • Advanced text and diagram editing modes
  • Outline of all XML Schema components, including the imported ones

XML Schema Refactoring Actions

Save time when changing your XML Schemas!

oXygen powerful refactoring actions include:

  • Extracting XML schema components from existing code
  • Renaming the XML schema components
  • Search for component references

XML Schema Documentation

The oXygen XML Schema documentation tool allows you to generate full documentation for the XML Schema content models, including comprehensive diagrams, annotations and cross references.

XML Schema Converter

oXygen includes the necessary tools to convert schemas from one language to another.

Supported schema languages for conversion:

  • W3C XML Schema
  • Relax NG
  • DTD

XML Instance Generator

Need to test your XML based systems?

oXygen lets you generate any number of XML instances based on an XML Schema.

A lot of options are available to fine tune the instance generation.

XQuery Debugger

XQuery Debugger

With oXygen you can easily edit and debug XQuery expressions. You can debug XQuery directly with the XML database XQuery engine.

  • Variables and Stack view
  • Context, XWatch and Breakpoints view
  • Mapping from output to the source (Saxon)

Features What's New
<oXygen/> XML Developer
Become an XML Expert!

oXygen XML Developer is the class leading tool dedicated to XML development, focusing on XML source editing, Schema designer and XSLT editing/debugging. It offers powerful support to help you edit, transform, and debug XML based documents, making XML development easy and effective. A WSDL editor is also available, providing a specialized Content Completion Assistant and Outliner, along with many other helpful features.

Key features

Intelligent XML Editor

Edit XML documents more effective than ever with the help of intelligent actions and features designed to be intuitive, responsive and easy to use.

XML Validation

Make sure your XML documents are well-formed and valid all the time, using <oXygen/>'s as you type validation support and context sensitive editing capabilities.

XML Databases Support

Powerful connectivity support allows you to interact with the majority of XML databases, content management systems and WebDAV.

All XML Standards Support

Take advantage of <oXygen/>’s dedicated editors, that cover all XML standards. The specialized views and operations of each editor offer support to editing XML Schemas, XSLT stylesheets, WSDL,RNG and XQuery files.

XSLT & XQuery Debugging

<oXygen/> offers a powerful XSLT and XQuery debugger that provides full control over the debugging process. Two dedicated perspectives are available, one for XSLT and one for XQuery debugging, both offering specialized views and actions that allow you to troubleshoot and perfect your documents.

Web Services Support

The advanced WSDL editor helps you edit WSDL documents offering content completion capabilities, a specialized Outliner and support to generate documentation. You can easily verify if the defined SOAP messages are accepted by the remote Web Services server using <oXygen/>'s WSDL SOAP Analyser integrated tool.

What's new in <oXygen/> XML Developer 15.2

Related Versions:

January 22, 2014

Version 15.2 of <oXygen/> XML Developer improves the support for developing Schematron and XML Schema schemas, adds support for working with modules to the Eclipse plugin and keeps updates many components to their latest versions.

There are changes in:

Editing Schematron Schemas

Improved Schematron Validation and Accurate Error Locations

Validating Schematron schemas is a complex process that involves multiple steps, thus it is not easy to trace errors that can appear at later stages in this complex process back to the initial schema files. <oXygen/> improved the error checking by validating the entire schema hierarchy, resolving included schemas and it is the only XML editor that can locate the errors from any processing stage, including errors in the XPath expressions, highlighting them in the editing area.

The Content Completion Proposes Components from the Schema Hierarchy

The Content Completion Assistant proposes Schematron components in accordance with the editing context, collected from the entire schema hierarchy. For example, when you edit the active pattern of a phase, the Content Completion Assistant displays all the defined patterns, even if these are defined in an included schema.

Editing Schematron Modules in Master Files Context

The Master Files support allows <oXygen/> to provide better support when working with modules that are referred from the defined master files. This support includes not only Schematron schemas, <oXygen/> allowing to easily determine the master files (top level Schematron files) from a set of files. Once defined the Schematron master files allow you to edit a Schematron module in context, improves validation, content completion, provides the scope for search and refactoring actions, updating references of moved or renamed resources.

Hierarchy/Dependencies View

The relationships between Schematron modules can be viewed and analyzed with the help of the Hierarchy/Dependencies view.

Renaming or Moving a Schematron Module Updates Its References

When you rename or move a Schematron resource, <oXygen/> automatically updates the references to that module. The changes about to be made can be reviewed in the Preview dialog.

Search and Refactoring Actions for Schematron Components

<oXygen/> allows you to search and modify the names of Schematron components such as patterns, phases or diagnostics, the change being applied in all places where those components are referred. When the caret is placed within a Schematron component, that component declaration and its references are highlighted in the editor and location markers are displayed in the overview ruler at the right of the editor. You can navigate to the declaration of a component using the CTRL/CMD + Click navigation feature - holding the CTRL (CMD on Mac) the component names become links that can be clicked to navigate to the components definitions.
Search and Refactoring Actions for Schematron Components

Handle Subject Attribute

The default location for an error reported when a Schematron check fails is the context of the Schematron rule that contains that check. However, sometimes that context is different than the actual error location and Schematron provides a way to point to the actual location of the issue, though the subject attribute that specifies an XPath relative to the context node. <oXygen/> takes into account the subject attribute available on Schematron assert or report elements when the location of the Schematron message is computed.

Custom Schematron Code Templates

Code templates or abbreviations allow you to type a short name and expand that to a code fragment. Schematron specific code templates covering the most frequent code fragments were added so you can take immediate advantage of this functionality to quickly enter Schematron constructs. The templates are displayed by the Content Completion Assistant where you can see the list of specific Schematron code templates, filter them by typing a prefix and select them to get the expanded code fragments.
Custom Schematron Code Templates

Default Validation Scenarios for XML Schema or Relax NG with Embedded Schematron Rules

When you work with XML Schema or Relax NG documents that have embedded Schematron rules, <oXygen/> provides two built-in validation scenarios: "Validate XML Schema with embedded Schematron" for XML schema, and "Validate Relax NG with embedded Schematron" for Relax NG. You can use one of these scenarios to validate also the embedded Schematron rules.

Custom Icons for Schematron Outline

The Outline view helps you find Schematron components easily by decorating them with distinct icons.
Custom Icons for Schematron Outline

XML Schema

Control the XML Schema Version at XML Schema Document Level

Now that XML Schema 1.1 is a W3C Recommendation people start to use both XML Schema version 1.0 and XML Schema version 1.1. While <oXygen/> provides a default XML Schema version as an option it is useful to be able to control also what version will be used for each XML Schema file. <oXygen/> 15.2 supports the use of vc:minVersion and vc:maxVersion attributes on the schema root element, allowing you to set the XML Schema version for that XML Schema document. New document templates are also provided so you can easily create XML Schema 1.0 or XML Schema 1.1 documents.
read more
Control the XML Schema Version at XML Schema Document Level

Flatten XML Schema

The Flatten Schema operation allows you to flatten an entire hierarchy of XML schemas. Starting with the main XML schema, <oXygen/> calculates the schema hierarchy by processing the "xs:include" and "xs:import" statements and then it generates one schema file for each different namespace.
Flatten XML Schema

Text Mode

Refactoring Highlighted Content

You can easily manage the occurrences of the text found through executing an XPath expression or a find operation, using the new actions that act on all highlights. You have the option to remove all highlighted content, modify or surround the content with a specific tag.

Select Attribute in Text Mode

You are able to quickly select an attribute and its value using triple click on the attribute's name in the <oXygen/> stand-alone, and double click right before the attributes name in the <oXygen/> Eclipse plugin.

Automatically Comment a Matching Tag

<oXygen/> automatically applies the same action on the matching end tag when you comment a start tag. You can comment one or more start tags and their matching end tags are also commented so the document remains well-formed.

CMS Integration and Connectivity

Accessing Microsoft Office 365 Documents

You can access documents stored on a SharePoint site from your Office 365 account using the "Open URL" action from <oXygen/>.

Integrating the Author Applet on a SharePoint Site

The Author Component can be embedded in a SharePoint site as a Java applet. This is a simple and convenient way for you to retrieve, open, and save XML and XML related documents stored on your company's SharePoint server, directly from your web browser. You can embed the applet either on a site that is located on a standalone SharePoint server, or on your company's Microsoft Office 365 account.

MarkLogic Support

MarkLogic 7

<oXygen/> offers support for MarkLogic 7.

Eclipse Plugin

Master Files Support in the Eclipse Plugin

To deal with difficult tasks developers split complex files into multiple modules. Sometimes these modules taken as standalone files are invalid and to be able to work with them you need to take into account the entry point, the master file that includes the modules. <oXygen/> allows defining the entry points or master files and automatically provides support for editing modules referred from those master files. Starting with version 15.2, the <oXygen/> Eclipse plugin offers full support to work with modular XML, XSLT, XML Schema, WSDL, Schematron and Relax NG files, providing module editing, validation, search and refactoring actions, modules connections overview, etc. - all these in the context of the defined master files.

Syncro SVN Client

Support for SVN 1.8 Servers

Subversion 1.8 repositories are now supported, excepting FSFS-backed repositories accessed through the "file://" protocol. Working copies having SVN 1.8 format are not yet supported.

Copy/Move Operation Improvements

The SVN Client does its best to copy/move items within the working copy. In cases when the operation would not normally work in Subversion, a simple file system copy/move operation is performed. Also, valid destination directories are detected automatically and presented to you.

Drag and Drop Improvements in the Working Copy View

The Drag ad Drop support was extended to all the Working Copy view modes. Also, compatibility between the SVN Client and external applications was improved for dragging and dropping items from one to another.

Drag and Drop Support in the Repositories View

Copying and moving repository items is made easy through the drag and drop support added in the Repositories view.

Component Updates

Calabash 1.0.16

The Calabash XProc engine was updated to version 1.0.16.

TEI XSL Update

TEI XSL was updated to version 7.7.0.


The bundled Saxon Enterprise Edition XSLT processor from Saxonica was updated to version


Bundled Java 7 JRE in the Mac OS X Installation Kit

The new <oXygen/> installation kit for mac OS X (10.7, 10.8, and 10.9) includes Java 7.

Improved Layouts

You can choose to keep a separate layout for each project, thus when you move between projects you get not only the last opened files specific to that project restored but also the exact layout of views, editors and toolbars. In this way when you come back to a project you continue exactly from the state in which you left that project.

Maven 4.0 Framework

A new document type configuration is available allowing to create and edit Maven 4.0 POM documents.

Distinct Sounds Depending on the Status of the Current Operation

Success and failure of the validation or transformation actions can be signaled also with a sound. The beep signal has a higher audio frequency when the operation is successful, and a lower audio frequency when the operation fails.

Extended API

A detailed list of all changes to the Java API can be found here.

Support for Setting Custom Pseudo-classes

You can set your custom CSS pseudo-classes on the nodes from the AuthorDocument. These are similar to the normal XML attributes, with the important difference that they are not serialized, and by changing them the document does not create undo and redo edits - the document is considered unmodified. You can use custom pseudo-classes for changing the style of an element (and its children) without altering the document.
read more

Additional Calls to the Custom URI Resolvers

The custom URI resolvers set with the pre-existing API XMLUtilAccess.addPriorityURIResolver(URIResolver) are now called to resolve image and content references even if the resources are placed on the local drive. This is useful for indirecting the application to resolve resources in other places.

Obtain an Existing AuthorDocumentFilter implementation

If you have both a plugin and a framework which need to set an AuthorDocumentFilter, you can obtain the existing filter implementation and wrap it in your own filter implementation using the API AuthorDocumentController.getDocumentFilter().

Refresh References in Document Controller

Added the API method AuthorDocumentController.refreshNodeReferences(AuthorNode) to refresh references on a certain node for developers who implement a custom AuthorContentReferencesResolver.

Actions Provider Access from DITA Map Editor Page

Added the API method WSDITAMapEditorPage.getActionsProvider() to obtain actions defined in the DITA Map Editor Page and mount them to custom controls.

Obtain the Existing Unique Attributes Processor

You can obtain in your extension Java operations the current unique attributes processor in order to check if certain attributes should be removed when copying content using the API AuthorDocumentController.getUniqueAttributesProcessor().

API to Show Multiple Files Chooser

The new API method WorkspaceUtilities.chooseFiles(File, String, String[], String) allows you to show a file chooser having multiple selection enabled.

API to Create Input Stream over Editor's Content

The new API method WSEditorBase.createContentInputStream() allows you to create an input stream over the contents of the editor. The implementation will take care of using the proper character encoding.

Create CSS Alternates Drop-Down in the Author Component

The CSS alternates drop-down button defined in the document type can now be added to the toolbar of an Author Component application using the API WSAuthorComponentEditorPage.createCSSAlternativesToolbar().

Save Global Preferences

Usually the application saves its global preferences when it is closed. You can force save the global options to their storage location by calling this new API: PluginWorkspace.saveGlobalOptions().

More Context Information for Editing Attribute Values

When the custom InputURLChooserCustomizer gets called to edit an attribute value you can find out more details about the current element and the current edited attribute: AttributeEditingContextDescription.getElementContext().

Open an Editor with an Imposed Content Type

If an URL does not have an extension but the developer knows beforehand the type of resource (XML, DITA Map, etc) in order to avoid the application asking the end user what type of resource is being opened this new API can be used instead: ro.sync.exml.workspace.api.Workspace.open(URL, String, String).

DITA Map Content Type for an URLConnection

If a DITA Map URL does not have an extension and a custom URL Connection is implemented for it in the application the method URLConnection.getContentType()can return the value application/ditamap to identify it as such.

Better Integration for Form Controls with Custom Edit

If a custom form control performs a custom edit, it can pass the Runnable containing the edit to the application in order to integrate better in the editing flow using the new API EditingEvent.customEdit.

Operation Capable of Running a Sequence of Other Actions

The ExecuteMultipleActionsOperation can execute a sequence of actions, defined as a list of IDs. The actions must be defined by the corresponding framework, or one of the common actions for all frameworks supplied by <oXygen/>. ExecuteMultipleActionsOperation.