Oxygen XML Editor 17.1

October 20, 2015

Related version: 17.0    

Oxygen XML Editor version 17.1 includes updates and improvements to make your XML authoring and developing experience even more productive and effective. The performance of many of the integral components has been optimized and numerous features were enhanced and fine-tuned to make Oxygen XML Editor even more powerful, dynamic, and easy to use. It also features a spectacular new visual design that makes everything look crisp and beautiful.

Various DITA-related operations and dialog boxes have been reorganized and improved to maximize efficiency and convenience. You can also now enable experimental editing and publishing support for DITA 1.3, including new file templates, scoped keys, and branch filtering.

Oxygen XML Editor extends support for resolving errors and managing the structure of your documents through powerful actions. Support for XML Quick Fixes was expanded and their performance improved, while XML Refactoring actions were enhanced to make them more accessible and powerful.

The Oxygen WebHelp system was also improved to enhance your published output. Google Search, Google Analytics, and some popular social media widgets can now be integrated into your WebHelp system and search features are now available in offline mode.

Improved CSS support includes optimized performance and the ability to use several properties that were previously not supported. Support for some level 4 pseudo-classes was also added, as well as support for allowing negative values in certain properties.

The Oxygen SDK contains many new API updates and the Web-based component provides new extension points to facilitate various integrations. The WebApp has received numerous enhancements to allow you to customize many of its features, as well as an easy-to-use interface that makes it easy to configure your instance of the component.

There are changes in:

User Interface

New Color Themes and User-defined Themes

New Light and Ultramarine color themes have been added in addition to the existing Classic and Graphite ones. Light is now the default theme for Windows and you can select the desired theme from the Theme drop-down menu found in the Appearance preferences page. You can also use the themes as a starting point for setting your own preferred colors and define your own color themes that you can share with your colleagues.
New Color Themes

Breadcrumb Navigation in Text Mode

A breadcrumb navigation bar is now available at the top of the Text editing mode that presents the hierarchy of elements (from the document root to the currently selected element). It can be used as a helpful tool to navigate to specific ancestor elements and also to understand your location in the document structure.
Breadcrumb in Text Mode

DITA 1.3 Support

While some DITA 1.3 functionality was available in Oxygen for more than one year, version 17.1 is a major milestone because we added support for the core DITA 1.3 features (such as key scopes and branch filtering, as well as many others). Thus, Oxygen now has the most comprehensive DITA 1.3 support of any tool on the market.

Create and Edit DITA 1.3 Documents

You can create, edit, and validate DITA 1.3 maps and topics.

Scoped Keys Support

You can establish key scopes and insert references to keys inside or outside key scopes. Oxygen will also takes key scopes into account when it validates and checks for completeness, resolves key and content key references, and publishes.

Branch Filtering Support

The DITA 1.3 branch filtering mechanism makes it possible to reuse the content of topics multiple times within the same map, each time using different filters.

DITA Support

Improved User Experience for Reusing Content

While there are multiple ways of reusing content in DITA, Oxygen provides now a unified interface that allows you to specify what you want to reuse.

Unified Action for Managing Topic References

Multiple actions were combined into a single operation to make them more efficient. The dialog box for inserting topic references in DITA maps was revamped and reorganized to include various tabs so that you can configure numerous aspects of the references in one place.

Improvements to the DITA Map to PDF WYSIWYG Experimental Transformation Scenario

The experimental DITA Map to PDF WYSIWIG transformation scenario allows you to transform DITA maps to a PDF file that is very similar to what you see in the Author visual editing mode. Now the colored highlights set during the review process are presented in the PDF output.

Publish DITA to Microsoft Office Word Format

If you choose to use the bundled DITA Open Toolkit 2.x distribution, you will be able to publish your DITA content to Microsoft Word OOXML format using this new experimental transformation. The support is based on a plugin contributed by Jarno Elovirta.

Indicator to Show All the DITA Map References to the Current Topic

When an opened DITA topic is referenced more than once in the map that is currently opened in the DITA Maps Manager view, an indicator will appear in the top right-hand corner of the Author mode editor that shows the number of times the topic is referenced in the map. It includes navigation arrows that allow you to jump to the next or previous reference. This is especially important for DITA 1.3 where the point in the map may change the editing context for a topic, for example if different key scopes are used.

Automatically Contribute New File Templates from a DITA OT plugin

If you integrate a new DITA-OT plugin in the main DITA Open Toolkit distribution used by Oxygen and your plugin contains a folder named template_folders, all file resources found in the sub-folders will be automatically contributed as new file templates.

Experimental Lightweight DITA Support

If you choose to use the bundled DITA OT 2.x as the main DITA Open Toolkit installation, you will be able to create and edit Lightweight DITA topics and maps.

XML Quick Fixes

Support for Schematron Quick Fixes in Other Documents

Support has been added for the Schematron Quick Fixes to be executed on documents other than the current one. You can apply quick fixes for example on content referenced using XInclude or external entities.

Support for User Entries in Schematron Quick Fixes

The Schematron Quick Fixes now support the <sqf:user-entry> element. It allows you to ask the user to specify values that will be used when the quick fix is applied.

Improved Performance for Schematron Quick Fixes

The performance for Schematron Quick Fixes has been improved so that the operations are generated and executed faster. The XML validation against Schematron also now performs faster when quick fixes are defined.

Quick Fixes Presented in a Tooltip Window

Proposals for quick fixes to solve validation errors or warnings are now displayed in a tooltip popup window. When hovering over an error or warning, if a quick fix is available for that particular problem, the proposals are presented in a tooltip, along with more details about the error, and you can easily select an available quick fix from this tooltip window. In Author mode, an in-place quick fix drop-down menu is also displayed when hovering over an error or warning. The drop-down menu presents a list of available quick fixes to select from.
Quick Fixes Presented in a Tooltip Window

XML Refactoring

Define Refactoring Actions Using XSLT

If the predefined XML refactoring operations are not sufficient to help you accomplish a particular task, you can create a custom operation that is specific to your needs. You can now use XSLT stylesheets as an alternative to XQuery Update scripts to define custom operations.

XML Refactoring Actions Available in the Contextual Menu

The XML Refactoring actions were added in the contextual menu to make them more accessible. Furthermore, they are invoked according to the current context within the editor, making them easier to use. For instance, if you invoke the Rename Element action, the name of the element is pre-configured in the dialog box that appears.
XML Refactoring

New Parameter Types to Identify Attributes and Elements

Two additional parameter types were added that allow you to match elements and attributes more easily by using the power of XPath expressions.


Google Search and Social Media Widgets Can Be Integrated into WebHelp Output

You can now integrate a Google Custom Search Engine into your WebHelp output. You can also integrate Google Analytics and some popular social media widgets into your WebHelp output.

Offline Search

You no longer need to be online to access Oxygen WebHelp search features. You can now perform searches in your WebHelp system even when you are in offline mode.

Logical Searches

The Oxygen WebHelp system now supports logical searches that use the following operators: OR, AND, and NOT. When there are two adjacent search terms without an operator, OR is used as the default search operator.


Along with performance improvements the Oxygen CSS rendering engine supports new properties such as outline and text-indent, new pseudo-classes such as focus-within and has as well as negative margins and indents.

Optimized CSS Performance

The performance of CSS stylesheets in Oxygen has been optimized. For example, you can now move multiple selections in a large table instantaneously. The performance has also been improved for DITA CSS stylesheets that use pseudo-classes (such as :hover or :focus), and when opening very large documents or opening maps in the editor (particularly maps that have topic contents expanded in-place).

Improvements to the oxy_xpath Function

When computing the styles for an element inside a reference (XInclude or DITA conref), the CSS oxy_xpath function will have access to the actual content inside the references.

Support for the :focus-within CSS Level 4 Pseudo-Class

Added support for the :focus-within CSS level 4 pseudo-class selector that allows you to style ancestors of elements that contain the current focus.

Support for the :has CSS Level 4 Pseudo-Class

Added support for the :has CSS level 4 pseudo-class selector that takes a relative selector as an argument and then evaluates its existence. It can match an element by taking its child elements into account.

Support for the text-indent CSS Property

Added support for the text-indent CSS property that can be used to create hanging indents. Oxygen also supports negative values when using this property.

Support for the 'outline' CSS Property

Added support for the 'outline' CSS property that allows you to create outlines around visual objects (such as buttons, active form fields, image maps, etc.) to make them stand out.

Support for Negative Margins and Indents

Added support in CSS that now allows negative margins and indents for block and inline boxes.


Support for XPath/XSLT 3.0 in Schematron Schemas

Schematron schemas now provide support for XSLT 3.0. You can define the version directly in the Schematron document using the queryBinding attribute or by using an option in the Schematron preferences page.

Support for XML Schema 1.1 Validation from within NVDL Scripts

You can now validate an XML document with an NVDL schema that contains an XML Schema 1.1 validation step. To enable XML Schema 1.1 validation in NVDL, you need to pass some validation options to the validation engine..

Oxygen WebApp Component

New Administration Page

A new Administration Page has been added to provide a GUI that allows you to configure the Oxygen WebApp Component. It allows you to easily configure your license server connection, add/configure plugins, and add frameworks.

GitHub Integration Plugin

The Oxygen SDK includes a plugin that allows you to use the Oxygen WebApp Component to edit files stored in a public or private GitHub repository.
WebApp Component

Browsing Widget for WebDAV Servers

The Oxygen WebApp Component now includes a browsing widget for WebDAV servers that can be used for inserting images.

Support for Editing MathML Equations

The Oxygen WebApp Component now supports editing and rendering MathML equations. You can click on the equation to open an editing dialog box and you can also edit the XML source of the equation.

Support for Rendering SVG Images in the WebApp

The Oxygen WebApp Component now supports rendering embedded or referenced SVG images in XML content.

WebApp Component API

Dynamically Enable/Disable Actions on the Toolbar

The refreshActionsStatus(ids) method has been added that allows you to dynamically enable or disable action on the toolbar in the Oxygen WebApp Component.


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

Add a Drag and Drop Listener to Author Mode

The WSAuthorEditorPageBase.addDNDListener(...) API method allow you to add a drag and drop listener in Author mode from a plugin.

Advanced Custom Rule Matcher

The DocumentTypeAdvancedCustomRuleMatcher API class can be used as a specific document type association rule. The API has to access the content of an entire document to determine if the document type association can be used for the current XML document.

API to Customize Callouts

The CalloutsRenderingInformationProvider.handlesAlsoDefaultHighlights() method allows you to customize the way sidebar callouts look for insertions, deletions, and comments.

AuthorStylesheet Plugin Extension Type

The AuthorStylesheet plugin extension type allows you to contribute stylesheets (CSS or LESS) as extra layers for rendering elements in Author mode.

Change the Tag Display Mode

The WSAuthorEditorPageBase.getTagsDisplayMode() and WSAuthorEditorPageBase.setTagsDisplayMode(int) APIs were added that allow you to get or change the display mode for tags in Author mode.

Customize Actions in the Review Panel

The AuthorReviewController.getAuthorReviewViewController() API was added that allows you to customize the actions or rendering of the Review panel in Author mode.

Customize Highlights in Author Mode

The Highlight.setAdditionalData(String key, Object additionalData) and Highlight.getAdditionalData(String key) API methods allow you to add or get custom data for a specific key. That key can be Highlight#HOVER_ACTIONS_PROVIDER_ADDITIONAL_DATA, in which case the value must be ro.sync.ecss.extensions.api.highlights.HighlightActionsProvider (a new class that can be used to display a widget when hovering over a highlight, from which the provided actions can be performed).

Escape/Unescape Attribute Values

The new API methods XMLUtilAccess.escapeAttributeValue() and XMLUtilAccess.unescapeAttributeValue() allows you to escape content so that it can be used as an attribute value or unescape it back to its original form.

Execute XQuery Update Scripts on Content in Author Mode

Added the XMLUtilAccess.createXQueryUpdateTransformer(Source,URL[]) and AuthorSource APIs that allow you to execute an XQuery Update script over content in Author mode.

JavaScript-based Workspace Access Plugin Extension

A new Javascript implementation of the WorkspaceAccessPluginExtension type of plugin was added. This plugin provides support for customizing menus, toolbars, and views, as well as for making modifications to opened documents and adding listeners for various events.

Open a Specific Preferences Page

The new ro.sync.exml.workspace.api.PluginWorkspace.showPreferencesPages(String[], String, boolean) API method allows you to open the Preferences dialog box with a specific preferences page selected and displayed.

Present Warning Messages

The new WorkspaceUtilities.showWarningMessage() API method allows you to present a warning message to the user.

Refresh References for a DITA Map

The new WSDITAMapEditorPage.refreshReferences() API method allows you to refresh the references for a DITA Map that is opened in the DITA Maps Manager view.

Retrieve Clipboard Content Copied in Author Mode

The AuthorAccess.getAuthorObjectFromClipboard() API method allows you to retrieve content from the clipboard that was copied from Author mode.

Specify Initial State for Custom Contributed View

When a workspace access plugin contributes a custom view, it can also specify the initial state of the view (hidden, docked, autohide, or floating).

Treat Expanded or Referenced Content as Transparent when Running XPath Expressions

A new API method AuthorDocumentController.evaluateXPath() has specific parameters that can specify if the entities and xi:include elements are replaced with the actual content that is referenced when the XPath is executed.

Validate Editor Content

The new WSEditor.checkValid() API method validates the editor content and reports whether or not it is valid.


Improved Security

We took proactive steps to improve the overall Oxygen security. We limited the execution of all the Oxygen customizations that are not deployed in a framework or plugin directory.


Support the Latest Operating Systems

Oxygen has been tested and supports the latest operating systems, including Windows 10 and OS X El Capitan (10.11).

Updated XSLT 3.0 Content Completion

The RNG schema that is used for content completion when editing XSLT 3.0 documents was updated to include the latest changes.

Support for SharePoint Online for Office 365 Sites that use ADFS Authentication

You can access documents stored on SharePoint Online for Office 365 sites that use either Cloud identity (ADFS) or Federated identity (on-premise) for their authentication system.

Enhanced Support for XLIFF 2.0 Documents

The support for XLIFF 2.0 documents has been enhanced with the ability to validate them using schema modules.

Support for Executing XQuery Update Scripts Directly Over Content in Author Mode

A new default Author mode operation (XQueryUpdateOperation) has been added that allows you to execute an XQuery Update script directly over content in Author mode.

Configuring Content Completion Proposals

Oxygen includes support for configuring the possible attribute or element values for the proposals in the Content Completion Assistant. Support has also been added that allows you to configure the proposals based on the context of the element for which the content completion was invoked.

Convert Hexadecimal Sequence to its Corresponding Unicode Character

A new action was added that allows you to convert any valid hexadecimal sequence into its corresponding Unicode character.

XPath Expressions in Formatting Preferences Accept Attribute Conditions

In the XML Formatting Preferences page, you can add a list of elements for which Oxygen will handle whitespaces found in XML content when performing Format and Indent operations. The list of elements can be specified by name or simplified XPath expressions, and the XPath expressions can now accept attribute conditions.

Enhanced Validation Support for XSL-FO

The focheck framework developed by Antenna House is now bundled with Oxygen. It offers better and more detailed validation of XSL FO 1.1 documents and it also validates the extension FOs and properties that Antenna House Formatter provides for improved formatted output.

Component Updates

Oxygen updates many of its third party components: Calabash 1.1.5, DITA OT 2.1.2, EpubCheck 4.0, LESS 1.7.5, Saxon, TEI Schema 2.8.0, TEI XSL 7.39.

Calabash 1.1.5

The bundled Calabash XProc engine has been updated to version 1.1.5.

DITA OT 2.1.2

Oxygen is now bundled with both DITA Open Toolkit 1.8.5 and with DITA Open Toolkit 2.1.2.

EpubCheck 4.0

Support for EpubCheck was updated to version 4.0.

LESS 1.7.5

The LESS CSS processor was updated to version 1.7.5.


The Saxon library was updated to version

TEI Schema 2.8.0

Updated TEI Schema to version 2.8.0.

TEI XSL 7.39

Updated TEI XSL stylesheets version to 7.39.