What's New in Oxygen XML Developer 23.0
Version 23.0 of Oxygen XML Developer boasts the most substantial and
comprehensive set of new features, productivity enhancements, and customization
possibilities in the history of the most powerful XML development tool available on the
market.
This major release introduces lots of improvements for CSS,
HTML, JSON, and XSLT document types, as
well as an impressive list of improvements and updates to Add-ons and
command-line scripts. As usual, you can also find new
API entry points, various bug fixes, component
updates, and much, much more.
There are changes in:
Diff and Merge Support for Eclipse
Compare XML Content in Oxygen's Text-based Diff Mode
The Oxygen diff and merge support in the Eclipse plugin now includes a
text-based mode with all the features and options that are available in the Standalone
version of Oxygen. Thus, XML-related content can now be compared in either the text-based
mode or the visual comparison mode and it is very easy to switch back and forth between
the two modes.
Compare DTD Documents
The diff and merge support in the Oxygen Eclipse plugin now includes the
possibility of comparing DTD documents.
HTML/XHTML
Batch Convert HTML to Well-formed XML
The HTML to XML Well-formed action is now also available in
the context menu of the Project view when you have selected multiple
project resources. It converts the selected HTML documents into well-formed XML, by
automatically closing unclosed tags, properly quoting attribute values, and more.
Validate XHTML with W3C Nu HTML Checker
A new built-in validator engine called
W3C XHTML Validator,
based upon the
W3C Nu HTML
Checker, can now be used to validate XHTML documents in Oxygen. More
information about this validator engine is available in the
user
guide.
JSON
Generate Documentation for a JSON Schema
Oxygen now provides the
JSON Schema Documentation action
that allows you to
generate HTML documentation for a JSON Schema file. This functionality is
provided as an add-on and it is installed automatically the first time you invoke the
action from the
Tools->Generate Documentation menu.
Choose Version in JSON Schema Generator Tools
There is now an option in both the Generate JSON Schema and
XSD to JSON Schema tools where you can choose the version of the
resulting JSON Schema. You can choose between: Draft 4, Draft
6, Draft 7, or Draft 2019-09.
Control Upper/Lower Case in the XSD to JSON Schema Tool
The XSD to JSON Schema tool now includes an option to preserve the case of
names from the XSD. You can enable this option if you want the names from the XSD to
remain unchanged in the resulting JSON Schema. Otherwise, the default JAXB naming
algorithm will be applied.
Improvements to Conversions Between XML and JSON
Improvements were made to the processes that convert XML to JSON and JSON to
XML. Some of the changes include:
- Elements with the same name in mixed content are now handled
properly.
- Empty XML tags that are not self-closing are converted to empty JSON objects
and vice versa.
- Whitespaces are now preserved.
- Empty arrays, single element arrays, and nested arrays are now properly
converted.
- The
/
, '
, "
,
>
characters are no longer escaped from XML text values. - The colon (
:
) character is escaped from XML tag names to avoid
namespace conflicts.
XSLT
XSLT 3.0 Content Completion Improved
The required attributes in an XSLT 3.0 stylesheet are now
automatically added when elements are inserted from the content completion
window.
Content Completion for Text Value Templates Improved
The content completion list for XSLT 3.0 Text Value Templates
now proposes elements and attributes from the XML instance.
Emmet Plugin Automatically Installed for XSL
The
Oxygen Emmet Plugin is now automatically installed for XSL documents when you
right-click anywhere in the editor pane and select
Emmet from the pop-up
menu.
Add-ons
Oxygen provides access to a variety of add-ons that extend the functionality
of the application.
Git Client Improvements
Various improvements were made to the
Git Client add-on
since the last major release:
- The Git Client now contributes a new side-view, called the Git Branch Manager,
which presents all the local and remote branches as a tree. Actions were added to the
tree's contextual menu to make it very easy to check out branches, and to create or
delete branches.
- You can now easily switch between local branches using a drop-down menu from
the top-right corner of the Git Staging view or by using the
Git Branch Manager.
- The JGit component included in the Git Client was updated to version
5.9.0.
- Some editor variables are now supported, including:
${git(working_copy_name)}
,
${git(working_copy_path)}
,
${git(short_branch_name)}
,
${git(full_branch_name)}
. - You can now undo changes by moving the HEAD of the current branch to the
selected commit using the new Reset "[branch_name]" to this commit
action.
- Various actions and options were added to enhance the Git Client. For example,
you can amend the last commit, automatically push changes to the remote repository,
compare two revisions of the same file, reset stored credentials, and more options to
create a new branch.
For a complete list of updates added in version 2.2.0 of the Git Client, see
https://github.com/oxygenxml/oxygen-git-plugin/releases/tag/2.2.0.
For
a complete list of updates added in version 2.3.0 of the Git Client, see https://github.com/oxygenxml/oxygen-git-plugin/releases/tag/2.3.0.
Convert Sections in a Word Document to DITA Topics
A new option (Create DITA maps from Word documents containing multiple
sections) was added for the Batch Converter add-on. When
selected, all sections from your Word document marked by titles or headings will be
separated into individual DITA topics and their references will then be added in the DITA
map.
Translator Helper
The
Translator
Helper add-on is now available in Oxygen to provide experimental support to
authors working in the localization industry. Once the add-on is installed, you can use
Google Translate to create a translation for your XML content into a new
language.
Vale Validation for Markdown and HTML Files
A new add-on,
Vale
Validation, allows you to run the
Vale Linter
validation tool over the currently edited Markdown or HTML file. It automatically verifies
specific rules against your code or documentation. This is useful for enforcing a style
guide or for catching commonly mistaken branding issues.
Scripting
The all platforms distribution of Oxygen is bundled with a
scripts
sub-folder that contains scripts for automating and running
various utilities from a command line. To run any of these scripts, you are required to
purchase a
special scripting commercial
license.
Validate DITA-OT Project Files
The DITA Map Validation and Check for Completeness command
line script was improved to support validating DITA-OT project files. The DITA-OT project
is specified using the -i
argument, while the context is specified using
the -c
argument.
New Command Line Launcher for the DITA Translation Package Builder
The Oxygen
DITA Translation Package Builder can now be launched from a command line.
It requires a
special scripting commercial
license. This
DITA Translation Package Builder contributes
context menu actions that help you build a translation package for DITA files that can be
sent to translators. You can also extract the changed files back into your project once
you receive the package back from the translators.
New Command Line Launcher for the Batch Converter
The Oxygen
Batch Converter tool can now be launched from a command line. It requires
a
special scripting commercial license.
This
Batch Converter script helps you to convert files between various
formats, such as
Word to DITA,
HTML to DITA,
XML
to JSON,
Markdown to DocBook, and many more.
New Command Line Launcher for Transformation Scenarios
It is now possible to run transformation scenarios from a command line
interface. The
Transform script requires a
special scripting commercial license and it
allows you to run transformation scenarios.
Other
Quickly Find and Invoke Actions
Oxygen now includes a Find action feature (available in
the Help menu) that provides a very quick way to find actions that are
available throughout the application. You can also assign shortcuts for particular actions
and you can invoke actions using this feature.
Create New Projects from a Template
The
New Project action now opens a wizard (similar to the
New document wizard) that allows you to create a new project from an
existing template. For more details, see
Creating a New
Project.
Profiling Attributes/Condition Text Options Pages Fine-Tuned
The options pages specific to profiling attributes and conditional text were
fine-tuned to provide a better control at project level and smoother user interaction.
Also, a performance issue was fixed. It involved the project file being continuously
modified by Oxygen when the profiling options were temporarily changed.
Content Completion Feature Now Considers Sibling Elements
A new option (Consider subsequent sibling elements) was added
in the Options->Preferences->Editor->Content Completion settings page.
When this option is selected (the default behavior), subsequent siblings of the current
element are taken into account when using the Content Completion Assistant. For example,
in DITA, if you invoke the Content Completion Assistant before an already inserted
required title
element, it will not offer a proposal to insert a
title
(since it already exists).
Enable Spell Checking in Processing Instructions
In the Spell Check preferences page, processing
instructions was added to the list of the XML Spell Checking
In option. It is disabled by default. Enabling it means that the
spell checker will detect spelling errors in XML processing instructions.
Reuse XPath Expressions and Operations When Defining External Actions
API
Call the BatchOperationsListener API When Multiple Referenced Files
are Saved
When a document that contains multiple references to other documents is saved
and the referenced content is modified and also saved, the
BatchOperationsListener
API will get called for each saved
document content.
Create Custom URL Choosers
Determine if Keyboard Focus is Inside an Editing Mode
The
hasFocus()
method was added to the
WSEditorPage
API. It can be used to determine if the current
editing mode has the keyboard focus.
Get Details About a Fragment of Text
The
getNode()
and
inSpacePreserve()
methods
were added to the
TextContext
API and they can be used to find out more details
about an iterated fragment of text.
Match URL Based on its Parameters
Terms of Use Changes
Saxon PE and EE Limitations
The API for creating XSLT and XQuery transformers (using the
XMLUtilAccess
interface) can no longer be used to create processors for
Saxon Professional Edition (PE) or Saxon Enterprise Edition (EE).
Content Fusion Connector Add-on no Longer Bundled with Oxygen
The Oxygen Content Fusion Connector add-on is no longer
bundled with Oxygen XML Editor/Author, but it can be installed as an
optional add-on.
Command Line Scripts Now Only Bundled with the All Platforms Distribution
Command line scripts (e.g. the WSDL documentation generator, the XSLT
documentation generator, etc.) are now only bundled with the Oxygen All Platforms
distribution and require a
special scripting
license.
Certain Validation Processors Now Deprecated
The MSXML 4.0, MSXML .NET, .NET
1.0, .NET 2.0, XSV, and SQC
processors used for validation and publishing are now deprecated and will be removed in
the next major version.
Injecting a License Key in the Author Component Now Deprecated
The ability to register a fixed license key in the Author Component is now
deprecated and will be completely removed from the code in the next major
release.
Apache Xalan Now Deprecated
The Apache Xalan XSLT processor is now deprecated and will be completely
removed from the code in the next major release.
Component Updates
Antenna House FOChecker 0.7.8
Updated the bundled Antenna House FOChecker to version 0.7.8.
Apache Ant 1.10.9
Updated Apache Ant to version 1.10.9.
Apache Batik 1.13
Updated the Apache Batik SVG toolkit to version 1.13.
Apache FOP 2.5
Updated Apache FOP to version 2.5.
Apache Commons IO Library 2.8.0
Updated the Apache commons-io
library that is bundled inside
FOP to version 2.8.0.
Apache POI 3.17
Updated the Apache POI library to version 3.17.
Apache XML Graphics 2.4
Updated the Apache XML Graphics Commons library to version 2.4.
Calabash 1.2.5-99
Updated the Calabash engine to version 1.2.5-99.
DITA Open Toolkit 3.5.4
The DITA Open Toolkit version bundled with Oxygen was updated to
3.5.4.
Eclipse 4.17
Updated the Eclipse plugin to support version 4.17.
Eclipse 4.4 is Now the Minimum Required Version
The Eclipse plugin now requires a minimum of Eclipse version 4.4.
EPUBCheck 4.2.4
Updated the EpubCheck library to version 4.2.4.
TEI Schemas 4.1.0 and TEI XSL Stylesheets 7.50
Updated the bundled TEI schemas to version 4.1.0 and the TEI XSL stylesheets to
version 7.50.
Java Native Access Libraries (JNA) 5.6.0
Updated the bundled Java Native Access (JNA) libraries to version
5.6.0.