What's New in Oxygen XML Developer 22.0
Version 22 of the Oxygen XML Developer provides
numerous new features, updates, and improvements that focus on productivity, performance,
efficiency, and simplicity for XML development and publishing.
This major release includes numerous productivity improvements for
JSON, HTML, and Markdown document types,
as well as updates to add-ons, new API entry points,
component updates, performance and
security improvements, and much more.
Version 22 also marks the release of two new products, Oxygen
Feedback and Oxygen Publishing Engine. Oxygen
Feedback provides a way for your community to interact and offer feedback by
embedding a stylish comments area into your WebHelp Responsive output or any HTML-based
website. For more information, go to: https://www.oxygenxml.com/oxygen_feedback.html. Meanwhile, the Oxygen
Publishing Engine is a cost-effective bundle that offers automation support for
transforming DITA content into WebHelp, PDF, EPUB, and plain HTML output from your
integration scripts. It provides the DITA Open Toolkit with integrated Oxygen publishing
plugins, including the responsive Oxygen WebHelp and the CSS-based PDF Chemistry engine. For
more information, go to: https://www.oxygenxml.com/publishing_engine.html.
There are changes in:
HTML
Content Completion Improvements for HTML Documents
Content completion proposals are available for CSS and JavaScript code that is
embedded in an HTML document. Also, after an unclosed tag, the content completion now
presents proposals for the siblings.
Format and Indent HTML Documents
Support was added to Format and Indent HTML documents,
including embedded CSS and JavaScript content. The structure of the document will be
preserved after the action is performed.
XPath Support for HTML Documents
You can use the XPath Toolbar or XPath Builder
View to quickly query HTML documents using XPath expressions. Both components
also offer content completion to help you compose query patterns.
Emmet Snippets
Oxygen supports Emmet snippet expansion. With Emmet, you can type
abbreviations, similar to CSS selectors, and expand them into full-fledged HTML code. For
details, see:
Oxygen Emmet
Plugin.
Editing Improvements for HTML Documents
The HTML editor received various productivity improvements. For example, HTML
documents have the same toolbar and contextual menu actions available as XHTML, the
Smart Paste feature now works for HTML documents, and you can associate
a CSS directly in an HTML document to customize the rendering.
Minify (Compress) HTML Documents
An action was added to Minify (compress) HTML document. Minification is the
practice of removing unnecessary white spaces, without affecting the functionality of the
document. While a minified HTML document gains execution performance, it loses some
readability.
Code Templates for HTML Documents
A set of built-in code templates were added for HTML documents to make it
easier to insert HTML code.
JSON
Convert XML Schema (XSD) to JSON Schema
Oxygen now includes a simple and useful tool for converting an XML Schema
document (XSD) to a JSON Schema document. It can be found in the Tools > JSON
Tools menu and it opens a dialog box where you can choose the URL of the XSD
file and the output location for the resulting JSON Schema.
Generate JSON Schema from a JSON File
A new Generate JSON Schema tool was added for generating a
JSON Schema document from a JSON instance. It can be found in the Tools > JSON
Tools menu and it opens a dialog box where you can choose the URL of the JSON
file and the output location for the resulting JSON Schema.
Content Completion Improvements for JSON Documents
The Content Completion Assistant for JSON documents received various
improvements. For example, proposals for boolean values, property names are proposed even
if the quotes are missing, proposals are presented when you start typing a required value,
and documentation was added for JSON Schema properties.
There is also a new
preferences page (Editor > Content Completion > JSON) with options
for adding required content, optional properties, or additional content when using
content completion in JSON files.
Validate JSON Documents Against Schematron
Oxygen now includes a validation engine called the JSON Schematron
Validator, making it possible to validate JSON documents against a Schematron schema that
is specified in a validation scenario or using the Validate with
action.
Syntax Highlighting Improved for JSON Documents
The JSON syntax highlight colors were improved to make it look nicer and to
make it easier to read JSON documents.
Improvements to the Behavior of the Go to Definition Action
Using the Go to Definition contextual menu action in JSON
documents opens the definition of the current property even if it is referenced using an
ID.
Improvements to the JSON Instance Generator
Improvements were made to the Generate Sample JSON Files tool.
For example, the order of the properties defined in JSON Schema is preserved, and it now
takes the patternProperties and propertyNames
restrictions into account when generating JSON instances.
Converting JSON to and from XML Now Handles Mixed Content
The JSON to XML and XML to JSON conversion
tools now handle mixed content properly.
Markdown
Markdown Editor Now Supports Lightweight DITA
A new option was added to export a Markdown document to a Lightweight DITA
topic (XDITA). The right-side preview panel also now includes an XDITA
tab so that you can see the Lightweight DITA representation of changes made in the
left-side text editor.
Validate Markdown Documents with Schematron
It is now possible to validate Markdown documents with Schematron. There are
two ways to do this. You can specify a Schematron file to validate converted HTML or DITA
content in a new Markdown preferences page or as a fallback, you can
create an association using a catalog mapping.
DITA Keys are Resolved in Preview Pane
Keys that are defined in the root DITA map are now resolved and displayed
properly in the DITA and XDITA preview
tabs.
Add-ons
Improvements to the Git Add-on
The
Oxygen Git Support add-on has a new
History
side-view, a
Show Blame action was added for presenting more details
about a revision, and a
Pull (rebase) action was added to the
toolbar.
Oxygen Emmet Add-on
The Oxygen Emmet add-on provides the means for high-speed coding and editing in
Text mode or
Author mode via a content assistance
mechanism. It can be used for HTML, XSL, and other XML formats. For details, see:
Oxygen Emmet
Plugin.
Plugin to Integrate Oxygen XML Editor or Web Author with a CMIS Server
More Types of Conversions Added to the Batch Converter Add-on
The
Oxygen Batch Converter add-on now supports additional
conversions from Microsoft Word to various XML document types. The additional types of
conversions include:
Word to XHTML,
Word to DITA,
Word to DocBook 4, and
Word to DocBook
5.
Other
Built-in Support for the Chinese Language
The Chinese language was added to the list of built-in supported languages for
the interface.
Security Improvements
Security improvements were added for all Oxygen products to help protect
against XXE attacks and vulnerabilities. For example, Oxygen comes with a built-in
firewall that controls the access to external resources and a warning is issued for
documents that are detected as coming from an untrusted source.
Choose Various Settings to Save at Project Level
A new Project Level Settings preferences page was added where
you can choose whether certain settings are saved in the project configuration file or
globally.
Hide all Toolbars
A new Hide all toolbars toggle action was added in the
Window menu. If toggled on, all toolbar buttons are hidden to give you
more vertical room in the interface. You can use this action along with the
Maximize Editing Area action to create a full-screen editing
environment.
NVDA Officially Supported
API
Show or Hide Certain Views in a Specified Perspective
The Workspace Access plugin extension now supports an optional
perspective element inside the view element. It allows
a plugin-contributed view to be shown or hidden for a specific perspective.
Decide if a UI Perspective is Allowed
Open or Reload a Project
The
ro.sync.exml.workspace.api.standalone.project.ProjectController
API class now has the new
loadProject(File) method that can be used to
open a project file. The new method can also be used to reload the current project by
using the
getCurrentProjectURL() method to create the file object to pass
as its parameter.
Save Complex Persistent Objects
Decide Where to Add Profiling Attributes
The
shouldAddProfilingDirectlyOnElement(AuthorElement) method was
added in the
ro.sync.ecss.extensions.api.ProfilingConditionalTextProvider
API and it can be used to decide if profiling attributes should be added to the given
element or to an XML fragment that will wrap the content of the element.
Control how URLs are Compared
Configure Editor Actions Based on the Content Type
A new
getContentType method was added to the
ro.sync.exml.workspace.api.editor.WSEditor API and it
provides the ability to retrieve the content type. For example, it is useful if you want
to contribute an editor action for a specific type of document.
Contribute Multi-Line Tooltips
Control the Addition or Removal of Comments
Get Notified when Editor is Reloaded
Reset Cache When DITA Maps Manager is Refreshed
Access Text Content for a Node
Expand Ask Editor Variable
Accept or Deny Access to Certain Hosts
A new ro.sync.exml.plugin.workspace.security.TrustedHostsProviderExtension
plugin extension can be used to accept or deny access to certain web hosts.
Component Updates
Eclipse 4.12, 4.13, 4.14
Updated the Eclipse plugin to support versions 4.12, 4.13, and
4.14.
DITA Open Toolkit 3.4
The DITA Open Toolkit version bundled with Oxygen was updated to
3.4.
Saxon 9.9.1.5
Updated the Saxon library that is distributed with Oxygen to version
9.9.1.5.
Xerces 2.12.0
Updated the Apache Xerces library to version 2.12.0.
EpubCheck 4.2.2
Updated the EpubCheck library to version 4.2.2.
eXist 5.0
Oxygen officially supports the eXist database version 5.0.
TEI Schemas 3.6 and TEI Stylesheets 7.48
Updated the bundled TEI schemas to version 3.6 and the TEI stylesheets to
version 7.48.
XSpec 1.5.0
Updated the XSpec library to version 1.5.
JSON Everit Validation Engine 1.12.0
Updated the JSON Everit validation engine to 1.12.0.
Apache PDFBox 2.0.16
Updated the Apache PDFBox library to version 2.0.16.
Apache FontBox 2.0.16
Updated the Apache FontBox library to version 2.0.16.
Apache HTTP Client 4.5.9
The Apache HTTP Client libraries have been updated to version
4.5.9.
Rhino 1.7.11
Updated the Rhino JavaScript library to version 1.7.11.
Calabash 1.1.30-99
Updated the Calabash engine to version 1.1.30-99.
Apache Ant 1.10.7
Updated the bundled Apache Ant libraries to version 1.10.7.
Apache FOP 2.4
Updated Apache FOP to version 2.4.
Apache Batik 1.12
Updated the Apache Batik SVG toolkit to version 1.12.
focheck 0.7.4
The bundled focheck framework that is used for enhanced XSL-FO
validation was updated to version 0.7.4.
Apache XML Security 2.1.4
Updated the Apache XML Security library to version 2.1.4.
JavaScript ECMAScript 6
Limited support was added for JavaScript version ECMAScript 6.
Guava 28.1
Updated the Guava Google Core Libraries to version 28.1.
Lucene 8.4.1
Updated the Lucene libraries to version 8.4.1.