What's New in oXygen XML Developer 18.1

Related Versions: 18.018.1

October 18, 2016

Although oXygen XML Developer version 18.1 is a maintenance release that focuses on performance and usability improvements, it also adds a variety of powerful new features, making it similar to a major release.

A new Markdown editor allows you to easily write, preview, and convert Markdown content into HTML or DITA. oXygen is also able to validate Markdown documents and transform them in the publishing stage.

Checking for and merging changes is made easier with the new 3-way directories comparison tool and the addition of more syntax-aware diff algorithms.

The responsive WebHelp received numerous updates, including new skins, support for expanding/collapsing components (sections, tables, etc.), automatic image scaling, support for DITA 1.3-specific context sensitive help information, and control over what is indexed for searches.

Content completion for XPath and XQuery was improved with new proposals from XPath 3.0 and XQuery 3.0 specifications.

The add-on that provides support for working with Saxon 9.7 was updated to provide an action to obtain a compiled stylesheet that can be used with the new Saxon-JS (the JavaScript version of Saxon that provides XSLT 3.0 in the browser).

As usual, oXygen also added many new API and component updates for this release.

There are changes in:

Markdown Editor

New Markdown Editor

oXygen now includes a built-in Markdown editor that allows you to write and edit documents using Markdown and then converts the syntax to HTML or DITA. The specialized multi-pane editor includes a preview panel to help you visualize the final output. The editor includes a variety of helpful actions, automatic validation, syntax highlighting to make it easier to read and write, and specialized syntax rules that combine popular features from several specifications.

Convert Markdown Documents to DITA Topics

The Markdown editing support includes unique features that allow you to create Markdown documents directly in DITA maps (from the DITA Maps Manager) and the transformation process will convert them the same as other DITA topics. You can also use a new action (in the DITA Maps Manager) to manually convert Markdown documents to DITA topics.
Markdown Convert

Comparison Tools

Directory Comparison: Support for Three-Way Directory Comparison

A new feature was added that allows you to perform three-way comparisons on directories to help you identify and merge changes between multiple modifications of the same directory structure. It is especially helpful for teams that have multiple authors contributing documents to the same directory system. It offers information about conflicts and changes, and includes actions to easily merge, accept, overwrite, or ignore changes to the directory system.

File Comparison: More Accurate Second Level Comparisons on XML Nodes

When using the XML Fast and XML Accurate algorithms for two-way or three-way comparisons, the second level comparison is now processed using a syntax-aware comparison that splits the files or fragments into sequences of tokens and computes the differences between them. This results in a more accurate second level comparison.

File Comparison: Improvements to the Format and Indent Action

The Format and Indent action in the File Comparison tool now works on more file types. You can now use the action on the following types of files: XQuery, CSS, JavaScript, JSON, RNC, XSD, RNG, NVDL, XML, ANT, DITAMap, WSDL, SVG, Schematron, XProc, XSL, and HTML.

Content Completion

Improved Content Completion Configuration Support

oXygen allows you to set a configuration file to control the content completion proposals for elements presented in the Content Completion Assistant. Now, you can identify more precisely the elements you want to control, by being able to set conditions that include attributes and attribute values.

Improved Content Completion for XPath and XQuery

The Content Completion Assistant for XPath and XQuery was updated to take into account the latest additions in XPath 3.0 and XQuery 3.0. For example, new functions are now offered through content completion, such as empty-sequence, document-node, item, comment, namespace-node, and processing-instruction - just to name a few.

WebHelp

New Skins Added to the WebHelp Responsive System

Some creative new skins were added to the WebHelp Responsive system for both tree and tile variants of the templates. For example, there are new skins called Aqua Marine, Ashes, Hightech, and Sky that were added to the growing list of predefined skins.

Added Expand/Collapse Functionality in the WebHelp Responsive Output

The HTML content generated for the DITA sections, tables, topics, or other components is now collapsible or expandable, allowing you to easily navigate through the DITA topic content.

XSLT Extension Points for the DITA-OT WebHelp Plugin

The DITA-OT WebHelp plugin exposes two XSLT extension points that allow you to override the XSLT stylesheets that generates the WebHelp HTML pages. This allows you to customize the WebHelp output without changing the resources within the WebHelp plugin.

Context Sensitive WebHelp was Updated for DITA 1.3

The Context Sensitive WebHelp system was updated to support the new changes from DITA 1.3 specifications. For example, you can now associate a topic with an application by using the @appid and @appname attributes available on the resourceid element.

New Template Components Were Added for WebHelp Responsive DITA Output

The WebHelp Responsive template mechanism received two new components. One for related links and another for child links. This improvement allows you to hide or move these components anywhere in the layout.

Exclude Content from the WebHelp Search Indexer

The WebHelp Search Indexer can now be customized to exclude topics from the indexing process through various methods. You can do so by using a WebHelp transformation parameter or in the DITA map by setting the @search attribute to "no".

Images are Automatically Scaled in WebHelp Responsive Output

Improvements were made to image rendering in the output of WebHelp Responsive layouts. The width of images in topic pages now automatically adapt to the size of the screen.

API

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

Start File Comparison Tool in 3-Way Mode

The new StandalonePluginWorkspace.openDiffFilesApplication method allows you to open the Files Comparison tool in the three-way comparison mode.

Start 3-Way Directory Comparison Merge Tool

The new StandalonePluginWorkspace.openMergeApplication method allows you to open a Merge application for comparing directories in a three-way mode. It helps you identify and merge changes between multiple modifications of the same directory structure.

Control Titles Computation in the DITA Maps Manager

The WSDITAMapEditorPage.addNodeRendererCustomizer(DITAMapNodeRendererCustomizer) method allows you to control the computation of titles presented in the DITA Maps Manager, the icons or tooltip texts.

Retrieve an Icon to be Displayed for a File Type

The ImageUtilitiesSpecificProvider interface allows you to load an image from a specified URL or to retrieve an icon for a particular URL file type that can be used in your custom local or remote resources explorer view.

Provide Set of Attributes Defined on Each Key

The KeyDefinitionInfo.setAttribute(String, String) API method allows the key definition manager implementer to also provide the set of attributes which were defined on a key definition, set of attributes which may be used by the application to filter the list of proposed keys in various ways.

Listener for Replace All in Files Operations

The PluginWorkspace.addBatchOperationsListener() API method can be used to add a listener for Replace All in Files operations in standalone distributions of oXygen. The listener is notified when the operation starts, before and after each resource is modified and after the operation ends and can be used by CMS plugin implementers to automatically lock/unlock resources.

Internationalization Support for Plugins

If a plugin has an i18n folder with a specific translation.xml configuration file containing translations in various languages, the StandalonePluginWorkspace.getResourceBundle() API method provides access to translations of messages in the current language set in the application.

Create Editing Component to Use in Your Own Custom Container

The StandalonePluginWorkspace.createEditorComponentProvider() API method allows you to create a small editing component with various edit modes (Text, Grid, Author) that you can use in your own custom dialog boxes to edit XML content.

Filter Drop-Down Menu Items in Eclipse

When you want to add or remove items from a drop-down button added by the oXygen Eclipse plugin in its internal toolbars, you can cast them to com.oxygenxml.editor.editors.xml.IDropDownToolItem and add a filter to them.

Import Custom Options File While Resetting All Other Options

The GlobalOptionsStorage.importGlobalOptions(File, boolean) API method allows you to import a custom XML options file while resetting all other options to their default value.

Customize Actions in the Review View

The ReviewActionsProvider.customizeHoverActions API method allows you to customize actions that appear when hovering over comments or tracked changes in the Review view.

Customize Contextual Menu for the Outline View

The ActionBarContributorCustomizer.customizeAuthorOutlinePopUpMenu API method allows you to customize the contextual menu of the Outline view in Eclipse when editing in the Author mode. Similarly, the MenusAndToolbarsContributorCustomizer.customizeAuthorOutlinePopUpMenu method was added for the same purpose in standalone distributions of oXygen.

Customize Contextual Menu of the Breadcrumb

The ActionBarContributorCustomizer.customizeAuthorBreadcrumbPopUpMenu API method allows you to customize the contextual menu of the Breadcrumb in Eclipse in the Author editing mode. Similarly, the MenusAndToolbarsContributorCustomizer.customizeAuthorBreadcrumbPopUpMenu method was added for the same purpose in standalone distributions of oXygen.

Register Custom Editor Variables

The EditorVariablesResolver.getCustomResolverEditorVariableDescriptions() API method allows plugins to contribute names and descriptions for the custom editor variables that they can expand.

Filter Attributes in Insert Reference and Edit Properties Dialog Boxes

A new method, AuthorAttributesDisplayFilter.shouldFilterAttribute(CIElement, String, int), and a new value, SOURCE_INSERT_REFERENCE, were added to the AuthorAttributesDisplayFilter API to allow for the filtering of attributes in the Insert Reference dialog box. The SOURCE_EDIT_PROPERTIES value was also added to allow you to filter attributes in the Edit Properties dialog box.

Execute a Command Line Operation

The WorkspaceUtilities.startProcess(String, File, String, boolean) method was added that can be used to execute a given operation from the command line.

Customize Attributes in Edit Properties and Insert Reference Dialog Box

The createCustomAttributeValueEditor(boolean forEclipsePlugin) method from the ExtensionsBundle class can now be used to customize the attribute editors in the Edit Properties and Insert Reference dialog boxes available for DITA Maps.

Create Custom Form Controls Based on JavaFX

You can now use JavaFX components in your custom form controls. The new saHeavyFormControlClassName parameter implements the ro.sync.ecss.extensions.api.editor.InplaceHeavyEditor interface and allows for more complex form controls (such as JavaFX-based form controls).

Other

Saxon 9.7 Add-on Includes an Action to Compile Stylesheets

The Saxon 9.7 add-on includes an action on the toolbar that allows you to compile stylesheets and it can then be used with the new Saxon-JS - the JavaScript version of Saxon that provides XSLT 3.0 support in web browsers.

Debugging Output Views Are Now Dockable

The output views in the Debugger are now dockable to allow for a more convenient debugging experience. For example, you can now move certain views to a second screen so that the main debugging area is not as crowded and more information can be displayed.

Japanese Content Now Supported in Open/Find Resource Mechanism

The Open/Find Resource mechanism now supports Japanese content and other languages. You can specify the content language in the Open/Find Resource preferences page and the search engine will use stop words and analyzers tuned for that specific language.

Support Added for BITS Documents

Support was added for BITS (Book Interchange Tag Suite) documents in the JATS (NISO Journal Article Tag Suite) framework. This includes an NLM Book 2.0 new document template and BITS 2.0 XSD schemas.

Improvements to the XLIFF Editing Experience

Various improvements have been added for editing XLIFF documents. For example, in Author mode you can now select between different styles to see various views of the XLIFF documents. Also, oXygen now supports setting the @approved attribute on trans-unit elements to make it easier to proofread translations directly in Author mode.

New Shortcuts to Move XML Nodes Up or Down in Text Mode

New shortcuts were added to move XML elements or XSLT variables up or down in Text mode. Ctrl + Alt + Up (Command + Alt + Up on OS X) moves the node up one line while Ctrl + Alt + Down (Command + Alt + Down on OS X) moves the node down one line.

Use Saxon XSLT Java Extensions When Validating XML Documents Against Schematron

Now you can use Java extensions when validating Schematron, XSD/RNG with embedded Schematron, XML documents against Schematron, or XML documents against XSD/RNG with embedded Schematron. When creating a validation unit, the extensions can be added by using a new Extensions button.

Component Updates

Saxon Add-on Updated to 9.7.0.8

The Saxon 9.7 add-on now comes bundled with version 9.7.0.8.

Eclipse 4.6

The Eclipse plugin version of oXygen works now also with Eclipse version 4.6.

DITA For Publishers Plugins Updated to 1.0.0RC25

The DITA For Publishers Open Toolkit plugins (used to generate EPUB output and convert MS Word documents to DITA) have been updated to version 1.0.0RC25.

DITA OT 2.3.3

oXygen now comes bundled with DITA OT version 2.3.3.

Rhino Library Updated to 1.7.7.1

The Mozilla Rhino library was updated to version 1.7.7.1.

Calabash 1.1.9-96

The bundled Calabash XProc engine has been updated to version 1.1.9-96.