• 2025

    Version 26.1 - March 25, 2024
  • 2024

    Version 26.0 - October 11, 2023
  • 25.1
    Version 25.1 - March 16, 2023
  • 2023

    Version 25.0 - October 13, 2022
  • 24.1
    Version 24.1 - March 7, 2022
  • 2022

    Version 24.1 - March 7, 2022
    Version 24.0 - October 18, 2021
  • 23.1
    Version 23.1 - March 4, 2021
  • 2021

    Version 23.1 - March 4, 2021
    Version 23.0 - November 19, 2020
  • 22.1
    Version 22.1 - May 19, 2020
  • 22.0
    Version 22.1 - May 19, 2020
    Version 22.0 - February 12, 2020
  • 2020

    Version 21.1 - May 23, 2019
  • 21.0
    Version 21.1 - May 23, 2019
    Version 21.0 - February 22, 2019
  • 2019

    Version 20.1 - June 15, 2018
  • 20.0
    Version 20.1 - June 15, 2018
    Version 20.0 - March 16, 2018
  • 2018

  • 19.0
    Version 19.1 - September 29, 2017
    Version 19.0 - April 5, 2017
  • 2017

  • 18.0
    Version 18.1 - October 18, 2016
    Version 18.0 - April 21, 2016
  • 2016

  • 17.0
    Version 17.1 - October 20, 2015
    Version 17.0 - May 5, 2015
  • 2015

  • 16.0
    Version 16.1 - October 7, 2014
    Version 16.0 - May 20, 2014
  • 2014

  • 15.0
    Version 15.2 - January 22, 2014
    Version 15.1 - October 7, 2013
    Version 15.0 - June 7, 2013
  • 2013

  • 14.0
    Version 14.2 - February 13, 2013
    Version 14.1 - October 19, 2012
    Version 14.0 - June 27, 2012
  • 2012

  • 13.0
    Version 13.2 - January 12, 2012
    Version 13.1 - October 26, 2011
    Version 13.0 - August 29, 2011
  • 2011

    Version 12.2 - May 19, 2011
    Version 12.1 - January 12, 2011
    Version 12.0 - September 14, 2010
  • 2010

  • 11.0
    Version 11.2 - March 16, 2010
    Version 11.1 - December 17, 2009
    Version 11.0 - October 9, 2009
  • 2009

    Version 10.3 - June 29, 2009
    Version 10.2 - April 15, 2009
    Version 10.1 - February 25, 2009
    Version 10.0 - October 23, 2008
  • 2008

  • 9.0
    Version 9.3 - July 2, 2008
    Version 9.2 - May 9, 2008
    Version 9.1 - December 18, 2007
    Version 9.0 - November 2, 2007
  • 2007

    Version 8.2 - May 7, 2007
    Version 8.1 - January 25, 2007
    Version 8.0 - November 20, 2006
  • 7.0
    Version 7.2 - June 6, 2006
    Version 7.1 - March 2, 2006
    Version 7.0 - January 13, 2006
  • 2006

  • 6.0
    Version 6.2 - September 19, 2005
    Version 6.1 - July 19, 2005
    Version 6.0 - May 22, 2005
  • 2005

    Version 5.1 - January 18, 2005
    Version 5.0 - October 15, 2004
  • 4.0
    Version 4.2 - July 15, 2004
    Version 4.1 - June 10, 2004
    Version 4.0 - April 30, 2004
  • 3.0
    Version 3.1 - February 6, 2004
    Version 3.0 - January 14, 2004
  • 2004

  • 2.0
    Version 2.0.4 - September 19, 2003
    Version 2.0.3 - August 14, 2003
    Version 2.0.2 - June 9, 2003
    Version 2.0.1 - May 15, 2003
    Version 2.0 - April 2, 2003
  • 2003

  • 1.0
    Version 1.2.4 - December 17, 2002
    Version 1.2.3 - November 27, 2002
    Version 1.2.2 - October 22, 2002
    Version 1.2.1 - September 27, 2002
    Version 1.2 - June 27, 2002
    Version 1.1.9 - June 15, 2002
    Version 1.1.8 - June 5, 2002
    Version 1.1.7 - May 27, 2002
    Version 1.1.6 - May 24, 2002
    Version 1.1.5 - May 20, 2002
    Version 1.1 - May 15, 2002
    Version 1.0 - April 15, 2002

Oxygen XML Editor 15.2

January 22, 2014

Related version: 15.0     15.1    

Version 15.2 of Oxygen XML Editor improves the support for developing Schematron and XML Schema schemas and adds support for working with modules to the Eclipse plugin.

Editing XML documents visually is a lot easier in Oxygen XML Author version 15.2 with the intelligent content completion assistance and paste functionality while additional CSS 3 and CSS 4 features allow for creating more interactive and user-friendly interfaces.

This version features updated components, debuts the DITA 1.3 support by introducing the troubleshooting specialization and makes available a large number of API additions in response to feedback provided by our partners which integrated the Oxygen XML authoring technology into their solutions.

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.
Editing Schematron Schemas

The Content Completion Assistant 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 referenced 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 assistance, 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 box.

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 referenced. When the cursor 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, through 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 Visual Editing

Support for the CALS colsep and rowsep Attributes

The defined row and column separators are rendered in Oxygen for the cells in CALS tables (a table model used by DocBook, DITA and other XML frameworks) so you can see immediately how the table will be rendered when the document is published. You can also easily edit the values for columns using two checkboxes that appear in the column specification area.
Support for the CALS colsep and rowsep Attributes

Text Area Form Control

To be able to create user-friendly interfaces for editing XML, Oxygen provides support for binding text or attribute values to form controls such as drop-down lists, checkboxes, lists, etc. A text area form control is available starting with version 15.2. This is useful for editing larger attribute or element values and you can also benefit from syntax highlight capabilities.
Text Area Form Control

Intelligent Schema-Aware Paste

When you paste content Oxygen checks if that is valid at the cursor position and if that fails then recovery strategies are proposed in order to keep the document valid. Version 15.2 includes a strategy that automatically analyzes nearby positions to determine a valid location for that content.

Content Completion Assistant Flexible Insert Location

You can choose to insert an element that is not valid at the current position and Oxygen will trigger automatically recovery strategies to place that element in a valid location. This removes the requirement to position the cursor in the exact location where an element is accepted, you can insert it also if the cursor is positioned in a near-by location.

PDF Images Support

The Author editing mode in Oxygen offers support for rendering PDF images by installing a third-party library.
read more

JPEG with Embedded CMYK Support

The Author editing mode in Oxygen can properly render JPEG images that have an embedded CMYK profile.
read more

TIFF Images Support

The Author editing mode in Oxygen offers support for rendering TIFF images.
read more

CSS Support

Support for CSS Level 3 Structural Pseudo-Classes

All the CSS Level 3 structural pseudo-classes are supported (:root, :last-child, :first-child, :nth-child, :nth-of-type, :not(), :empty, etc.)

Support for the Experimental CSS Level 4 Subject Selector

The experimental subject selector from CSS Level 4 is now supported. It can match an element by taking into account its children (for instance, "chapter! > title" will match any chapter that contains at least a title).

Support for :hover and :focus CSS Pseudo-Classes

You can style your XML documents depending on the mouse and cursor position over the document by using the :hover and :focus CSS pseudo-classes.

Localize Static Content in CSS

You can use constructs such as ${i18n(key.name)} directly in the CSS content of a 'before:' or 'after:' pseudo-element to reference keys which can be translated to multiple languages through the built-in Oxygen internationalization support.
read more

Pass CSS References Through XML Catalog

Import instructions from CSS documents are passed through the XML catalog URI mappings.
read more

Add a Custom CSS to the Predefined Ones Using XML Catalog Mappings

By adding a URI mapping to map a specific URI to a CSS file you can contribute a CSS to be used when rendering any XML document in the Author editing mode. This allows you to enforce some specific styles on any XML file without the need to modify the CSS documents which come with existing document type configurations.
read more

CSS Content Properties: -oxy-append-content and -oxy-prepend-content

The content used for the ":before" and ":after" pseudo-elements can be created incrementally from the content specified by these properties. This reduces the complexity of selectors when the content depends on multiple conditions.
read more

Properties for the oxy_button Form Control

Two additional boolean properties are available allowing to display the associated action's text and/or icon on the button form control (showText and showIcon).

In-Place Actions Can be Executed Preserving the Current Context

Using the actionContext property, available on the oxy_button and oxy_button_group form controls, the author actions associated with these form controls can be executed either in the context of the element that contains the form controls or in current context, if that is included in the element that contains the form control. For example, this allows you to place element specific actions on an element and execute them to perform actions at the cursor position (if the cursor is inside that element).

Form Controls Can Edit Attributes from a Specified Namespaces

If the attribute edited through a form control is from a specific namespace then you can specify it in the edit property as a QName. The CSS must contain a namespace declaration mapping the QName prefix to the attribute namespace.

XML Schema

Control the XML Schema Version at XML Schema Document Level

Now that XML Schema 1.1 is a W3C Recommendation, people started 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 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".

DITA Support

Syntax Highlight in Published Code Blocks Sections

You can add syntax highlight to the codeblock and pre sections from your published PDF and XHTML-based outputs by setting specific programming language values to the outputclass attribute.

Generate Index Page in PDF Using Apache FOP

If you are using index terms in your DITA content, the PDF output generated with the default bundled PDF processor (Apache FOP) will also contain the index page at the end of the PDF.

DITA 1.3: Troubleshooting Specialization

You can create new troubleshooting topics based on the included experimental DITA 1.3 Troubleshooting DTD specialization plugin.

Edit codeblock Sections with Syntax Highlight Support

An alternate CSS was introduced, so you can now edit codeblock sections using the Text Area form control. Thus, you benefit from syntax highlight for a variety of document types.

DocBook 5 Support

Edit Program Listings with Syntax Highlight Support

An alternate CSS was introduced, so you can now edit program listings using the Text Area form control. Thus, you benefit from syntax highlight for a variety of document types.

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.
CMS Integration and Connectivity

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 Oxygen 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 referenced 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 of 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 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. Therefore, 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.

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 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 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 Alternatives Toolbar in the Author Component

The CSS Alternatives drop-down button defined in the document type can 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 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 a 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 API can be used instead: ro.sync.exml.workspace.api.Workspace.open(URL, String, String).

DITA Map Content Type for a URL Connection

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