What's New in Oxygen XML Developer 21.1

May 23, 2019

Version 21.1 of the Oxygen XML Developer introduces HTML5 support (without treating it as XHTML), providing specialized text-based editing and validation support.

The JSON support reaches maturity with new improvements and the inclusion of an instance generator from a JSON Schema and developers can look forward to further XSLT 3.0 and XPath improvements.

With this release, Oxygen PDF Chemistry is no longer in a BETA stage, it is included in Oxygen as the default PDF publishing engine and also available as a separate commercial option for those who want to use the publishing engine outside of Oxygen.

As always, this release includes numerous other requested features, API additions, bug fixes, and component updates.

HTML

Specialized HTML Editor

Oxygen now includes a specialized HTML editor with various editing features for files that have the html or htm file extensions. Features include a new document template, folding support, syntax highlighting, and more.
Specialized HTML Editor

Content Completion

The Content Completion Assistant offers proposals for elements, attributes, and values that are valid at the current editing location, provides annotations for many of the proposals, as well as links to the HTML5 specification.

Validation

Oxygen includes a built-in validator used for validating HTML documents. It is based upon the W3C HTML Validator and the HTML documents are validated against the W3C HTML5 specification.
Validation

Outline View

The specialized Outline view for HTML documents handles void elements or elements that are not closed, and presents the tree structure of the HTML document correctly.
Outline View

Encoding

For HTML documents, the encoding is detected automatically based on the value specified in the charset attribute of the meta element.

JSON

Generate Sample JSON Files

Oxygen now includes a tool for generating sample JSON files. It can be found in the Tools menu and it opens a dialog box where you can configure various options for generating the JSON instances.
Generate Sample JSON Files

New JSON Document Template Customization Options

The new JSON document template now includes several customization options. For example, you can specify the path to a JSON Schema, specify that the new document will be created using JSON Schema associated directly in the document, or specify whether or not the new document will be created with optional properties or only the required properties.
New JSON Document Template Customization Options

Improved Resolution of JSON Schema References

Improved the content completion, error localization, and Go to Definition feature for JSON documents that use JSON Schemas with multiple references.

XSLT

Proposals Added to Content Completion for XSLT 3.0 Accumulators

When using the accumulator-before or accumulator-after functions in XSLT 3.0 stylesheets, the content completion will now offer proposals for names collected from the xsl:accumulator declaration.

Improvements to Text Value Templates

Improvements were made to the support for Text Value Templates. For example, curly brackets inside the Text Value Templates are now handled better.

Transformation Improvements

Transforming from the Project view now works properly if xsl:initial-template is used the source is specified using a parameter.

Content Completion

Show Content Completion Annotations in Various Languages

You can customize XML files that are used for annotations in the Content Completion Assistant to display the annotations in various languages. For more details, see the Translating Annotations section of Customizing Annotations in the Content Completion Assistant.

Translation Support for Content Completion Annotations Using the ${i18n()} Function

When using a configuration file to customize the Content Completion Assistant, you now have the ability to translate the annotations for elements using the ${i18n()} function.

Other

Improved Editor Variable Interpretations

The editor variable interpreter was enhanced. For example, when mixing editor variables in XPath expressions, Oxygen now allows nested editor variables (such as oxy_xpath + ask + answer).

Content Completion and Syntax Highlighting when Configuring Framework Actions

When configuring custom actions for frameworks in the Document Type Configuration wizard, the Activation XPath editor now includes content completion and syntax highlighting to make it easier to write the XPath expressions.

XPath Function That Returns the Platform

When configuring custom actions for frameworks in the Document Type Configuration wizard, you can write an activation XPath expression for each activation context. A new XPath function oxy:platform() was added that returns the current platform that Oxygen is running on. It can be used, for example, if you want to enable or disable an action in the Author visual editing mode depending on the platform.

API

Multiple JavaScript Modules Allowed in WorkspaceAccessJS Extension

JavaScript-based plugins can now include multiple modules of JavaScript files in the plugin. You can declare functions that can be used in the main WorkspaceAccessJS JavaScript file and use those external script files as a library of functions.

Project API Improvements

The new API ProjectChangeListener can be used for notifications when there are changes to the project (for example, when another project is opened). Also added addProjectChangeListener, removeProjectChangeListener, and getCurrentProjectURL methods in the ProjectController API.

UI Components Factory

The OxygenUIComponentsFactory API was added and it is meant for easily creating UI components with the same appearance as the ones used in Oxygen.

Set Initial Directory

The WorkspaceUtilities.chooseDirectory(File) API method was added, and it can be used to browse for a specific directory, starting from an initial one.

Faster Processing for API DITA Keys

The KeyDefinitionManager.isPassKeyTargetReferencesThroughXMLCatalogMappings API method was added, and it can be used to avoid passing key reference URLs through XML catalog URI mappings to speed up conversions when an external DITA keys resolver is being used.

Component Updates

DITA Open Toolkit 3.3.1

Updated the bundled DITA Open Toolkit publishing engine to version 3.3.1.

Saxon Transformer Add-on 9.9.1.2

Updated the 9.9 version of the Saxon transformer add-on to support Saxon version 9.9.1.1.

CSS Validator 1.0.4

Updated the W3C CSS Validator library to version 1.0.4.

JSON Everit Validation Engine 1.11.1

Updated the JSON Everit validation engine to 1.11.1.

eXist 4.6.0

Oxygen officially supports version 4.6.0 of the eXist database.

Calabash 1.1.21

Updated the Calabash engine to version 1.1.21.