Hi everyone,
We are excited to announce that Oxygen XML Developer/Editor version 25
is now available!
Listing below some new features which may be useful for the XSL community:
XSLT/XQuery
==================================
* The Saxon built-in XSLT processor used for XSLT transformations and
debugging has been updated to version 11.4. The Saxon 11 release is
currently considered as the most stable and reliable release. For the
complete list of changes see
https://www.saxonica.com/documentation11/#!changes.
* Updated the Saxon XQuery processor used for XQuery transformations and
debugging to version 11.4.
* Saxon added more extension functions that are now supported and
included in the list of proposals of the content completion assistant.
Some examples include: saxon:analyze-uri($string),
saxon:characters($string), saxon:EQName($string),
saxon:in-scope-namespaces($element), saxon:array-member,
saxon:function-annotations, saxon:new-element, and many more. For
details, see
https://www.saxonica.com/documentation11/index.html#!functions/saxon.
* The saxon:path() function has been dropped, but you can use the
standard fn:path() function instead. The undocumented and untested
functions saxon:pause-tracing() and saxon:resume-tracing() have also
been dropped. Some extension functions in the Saxon namespace have not
been carried forward to the SaxonCS product, either because they are
obsolete, or because implementation is non-trivial. These include
saxon:compile-query, saxon:is-defaulted, saxon:key-map,
saxon:last-modified, saxon:parse-dateTime, saxon:send-mail, saxon:query,
saxon:unparsed-entities.
* Syntax highlights are now rendered in text value templates when used
inside the xsl:package element.
* When using the XSLT Stylesheet Documentation generator tool, the
priority of the template is now generated in the template reference from
the index (that is also sorted by priority).
* Validation and transformation support was added for XSLT 4.0
documents. Also, the content completion assistant now includes proposals
for XSLT 4.0 elements, attributes, and XPath functions.
Scripting
==================================
* It is now possible to validate files or directories from a command
line interface. You can check that your documents are valid from an
integration server and you can generate reports in several formats
(text, XML, JSON, or an HTML visual format). The scenarios and
configurations that you use to validate files from Oxygen can be used
from a command line script:
- You can specify a certain schema file to validate against.
- You can validate using the schema(s) that are internally associated
within files.
- You can validate using the default Oxygen validation scenarios for
respective file types.
- You can specify a validation scenario name to be referenced from
either a scenarios file or a project file.
JSON
==================================
* Support was added for the latest JSON schema version 2020-12. This
includes:
- Validating JSON schemas version 2020-12 accordingly to the specification.
- Content completion proposals when editing JSON schemas version 2020-12.
- Validating JSON/YAML documents against a JSON schema version 2020-12.
- Converting older JSON schemas to version 2020-12.
- A specific framework that will allow you to edit JSON schema documents
in Author mode.
* You can now associate a JSON schema with a set of documents by
defining it in the Document Type configuration dialog box. The
associated schema will automatically be used for validation and content
completion when opening a file that matches the particular document
type. This allows users to create a framework for any type of JSON/YAML
documents and automatically provide validation and content completion
support based on the associate JSON Schema.
* A new version of the JSON Schema Documentation generator tool is
available. This tool (available after installing the add-on) includes
support to generate documentation for JSON schema version 2020-12 and
2019-09, as well as various fixes and improvements.
* The Generate Sample JSON Files tool now supports JSON schemas with the
version 2020-12 and 2019-09. This means that it now handles properties,
such as: $defs, minContains, maxContains, prefixItems, dependentSchemas,
unevaluatedItems, unevaluatedProperties.
* You can now generate a JSON schema version 2020-12 from a JSON
instance using the Generate JSON Schema tool.
* A new Convert JSON Schema action is now available in the Tools->JSON
Tools menu. It provides a simple tool for converting older versions of
JSON schema documents to the latest versions (Draft 2019-09 or Draft
2020-12).
* The content completion support was improved for JSON documents based
on the JSON schema when pattern properties are used. Oxygen now
determines the definition to be used in the content completion even if
the pattern property does not match the property exactly.
* Multi-line values are now allowed and preserved when editing JSON
schema documents in the Author visual editing mode. Previously, if you
edited values that contained a new line character (\ n) and then
switched to Author mode, the values were not preserved.
JSON Schema Design
==================================
* Support was added for the latest JSON schema versions (Draft 2019-09
and Draft 2020-12) in Design mode. This includes automatic detection of
the version, validation, contextual menu actions were updated with the
new components, and the Palette view was updated to include the new
components.
* New search and refactoring actions were added in the contextual menu
of the JSON schema Design mode to improve the handling of JSON
definition type components. The new actions are:
- Search References - Searches all references of the selected definition
in a scope determined by the schemas referenced in the file and the main
schemas declared in validation scenarios.
- Search References in - Searches for all references of the selected
definition in a defined scope.
- Search Occurrences in file - Searches all occurrences of the currently
selected definition in the current file.
- Rename Component in - Allows you to rename the selected component
name. You can preview the files being affected and these files are
identified by searching the references of the selected component in the
scope provided.
- Extract definition in another file - Extracts a definition to a new
file. If the file does not already exist, the action will create a new
file. If the file does exist, the action will find a corresponding group
(or create one) to append the extracted definition.
* When building a JSON schema, you can now use a reference ($ref) in
conjunction with other type-specific keywords (such as properties or
items) for stricter validation.
* When dragging and dropping a property/definition or pattern property
from the Palette view to the JSON schema editor, if the component does
not have the corresponding group component (properties, definitions,
patternProperties), it will automatically be created.
OpenAPI/AsyncAPI/JSON-LD
==================================
* Oxygen now offers built-in support for automatic validation, content
completion, and editing OpenAPI documents (versions 2.0, 3.0, and 3.1)
in Text or Author mode. This is based upon the OpenAPI specification
JSON schema associated with each of the three versions. New document
templates are also available for OpenAPI documents.
* Specific support for AsyncAPI documents is now provided with the
addition of a new framework. This includes support for content
completion, automatic validation, and editing AsyncAPI documents in Text
or Author mode. New document templates are also available for AsyncAPI
1.x and AsyncAPI 2.x documents.
* A specialized framework was added for working with JSON-LD files. This
support includes automatic validation, new document templates, the
content completion mechanism offers valid proposals for these types of
documents, and when editing these types of documents, you have access to
the various editing features and actions that are available for normal
JSON documents.
* The OpenAPI Documentation Generator tool can be used for generating
documentation for OpenAPI documents in HTML format, including
annotations and cross references. Various improvements where added in
the new version:
- Redesign - The documentation output has a new design to make it easier
to read and understand the OpenAPI specification.
- OpenAPI 3.1 Support - Support was added to generate documentation for
OpenAPI 3.1 documents.
- Supports for YAML Files - The input file used for generating the
documentation can be in either YAML or JSON format.
* Various improvements were made to the OpenAPI Tester add-on:
- A new Run OpenAPI Test Scenario tool is available in the Tools->JSON
Tools menu. It provides you with the capability of running a test suite
for an OpenAPI document.
- Syntax highlights are now rendered in the Request body and Response
area to help make the code more readable.
- Undo/redo support was added in the Request body and Response area.
* A new framework for OpenAPI test scenario files was added. This helps
you to create and edit test scenarios more easily by offering automatic
validation, content completion, and a visual editing interface in the
Author visual editing mode.
* When editing OpenAPI or AsyncAPI documents in Author mode, a new
Markdown Syntax Highlight CSS style can be selected from the Styles
drop-down menu (available on the toolbar). It makes it easier for you to
visualize descriptions with Markdown style syntax highlights.
Add-ons
==================================
* Some improvements were made to the Git Client add-on:
- A new Validate each file before committing option was added in the Git
Client preferences page. Selecting this option enables automatic
validation of each file before each commit.
- A new Validate all files from the project's "Main Files" folder before
pushing option was added in the Git Client preferences page. Selecting
this option enables automatic validation of the files located in the
Main Files folder before the push operation processes.
- The integrated JGit library was upgraded to version 6.3, which brings
support for ssh-agent forwarding.
* Various improvements were made to the Batch Documents Converter add-on:
- You can now convert JSON or YAML files that use and conform to the
OpenAPI specification (versions 2.0, 3.0, or 3.1) to DITA documents and
there is a Create DITA maps from OpenAPI documents option that can be
selected to instruct the converter to split the documents into separate
topics that are referenced in a DITA map.
- Word to DITA or HTML conversion improvements:
- The Word styles mapping configuration was improved by inheriting the
style configuration of the custom style from the base style.
- SVG images embedded in Word documents are preserved as SVG.
-IDs that result from image and table bookmarks are now handled better
to find the correct location.
- IDs generation was improved for topics and sections by using the text
from headings.
- Handling of tables was improved by preserving header row information
during the conversion when converting Word to DITA or HTML.
- For HTML to DITA conversions:
B - Conversion of object elements from HTML was improved by adding a
proper @outputclass attribute in the DITA result.
B - An option was added in the conversion dialog box that allows you to
decide whether or not the <div> elements will be ignored.
- For Markdown to DITA conversions, support was added for Markdown
abbreviations.
- For HTML to XHTML conversions, the formatting of <pre> elements is
prevented.
* Various improvements were added to the Terminology Checker add-on:
- XPath Context - You can define simple XPath expressions for particular
defined rules to match or skip specific elements.
- Part of Speech Tagging - When scanning for terminology problems, the
problem is presented only if the term's part of speech matches the one
specified in the defined rule (available only for the English language).
- Phases - In the terminology configuration file, you can set the phase
in which incorrect terms are detected (editing/validation/always).
Performance improvements were also implemented when checking files.
- Load Terms Provided by Other Add-ons - Any Oxygen add-on (plugin) can
now contribute terminology files to be used by the Terminology Checker.
The contributed terminology files will be loaded and used if the
contributor add-on is enabled.
Other
==================================
* Syntax highlights now appear in Docbook-based WebHelp Classic output
when publishing <programlisting> elements that contain JSON, XQuery,
YAML, PowerShell, DTD, or CMD (Windows-style command script) content.
* Basic editing support and syntax highlights are now provided for
working with PowerShell files in Oxygen.
* Normal folders can now be added to the Main Files directory when the
Main Files Support is enabled. Previously, only logical folders and
files could be added.
* It is now easier to add indentation in code blocks by using the Tab or
Shift+Tab keyboard shortcuts.
* The speed for the XPath in Files mechanism was greatly improved when
running XPath over XML documents with associated DTDs, XML Schema, or
Relax NG Schemas.
Component Updates
==================================
* Starting with Oxygen version 25.0, Java 8 is no longer officially
supported. Java 11 is now the minimum officially supported version.
* Starting with Oxygen version 25.0, the Windows 11 operating system is
officially supported.
* The version of OpenJDK that is bundled with the installation kits for
providing the Java Runtime Environment was updated to version 17.0.4.1
from Eclipse Adoptium.
* The OpenJDK distribution of Oxygen for macOS is now universal, as the
same distribution now runs on both Intel Macs and Apple Silicon Macs.
* The Windows ZIP distribution of Oxygen XML Editor/Author/Developer now
bundles the 64-bit version of the OpenJDK (17+) JRE. Previously, the
Java 8u202 32-bit version was bundled.
* Updated the Eclipse plugin to support version 4.25.
* The Eclipse plugin now requires a minimum of Eclipse version 4.5.
* Support for using MathFlow when rendering and editing MathML equations
in the Author visual editing mode is officially deprecated. It will be
replaced soon by a new integration with MathType, developed by Wiris.
* The DITA Open Toolkit version that is bundled with Oxygen has been
updated to version 3.7.3.
* Updated the bundled TEI schemas to version 4.4.0.
* Updated the bundled TEI XSLT stylesheets to version 7.53.0.
* Updated the Apache FOP library to version 2.7.
* Updated the Apache Batik toolkit to version 1.15.
* Updated the Calabash engine to version 1.5.1-110.
* Updated the JSON Schema Validator library from Everit to version 1.14.1.
* Updated the third-party Jackson libraries to version 2.13.2 to help
prevent vulnerability issues. Specifically, the jackson-annotations,
jackson-core, and jackson-dataformat-yaml libraries were updated to
version 2.13.2 and the jackson-databind library was updated to version
2.13.2.2.
* Updated the JSON-Java (org.json) package to version 20220320.
* Updated the built-in Saxon processor that is used for XSLT and XQuery
transformations and debugging to version 11.4.
* Updated the XML Resolver component to version 4.5.0.
* Updated the saxon-sql library to version 11.4.
* The Saxon 10 transformer add-on was updated to version 10.8. This
allows you to validate and transform XSLT and XQuery documents with the
Saxon 10.8 engine.
* Updated the Xerces XPath 2.0 processor to version 1.2.1.
* Updated the Mozilla Rhino JavaScript engine to the latest stable
1.7.14 version.
* The XProc Calabash engine has been updated to version 1.5.0 for Saxon 11.
* The SnakeYAML library was updated to version 1.31.
For the complete list of features, go to
https://www.oxygenxml.com/xml_editor/whats_new.html
We hope you will enjoy Oxygen 25 as much as we enjoyed developing it.
As always, thank you for your support and feedback is welcome!
Best regards!
Octavian
--
Octavian Nadolu
<oXygen/> XML Editor
http://www.oxygenxml.com