What's new in <oXygen/> XML Developer 15.2
January 22, 2014
Version 15.2 of <oXygen/> XML Developer improves the support for developing
Schematron and XML Schema schemas, adds support for working with modules to the
Eclipse plugin and keeps updates many components to their latest versions.
There are changes in:
Editing Schematron Schemas
Improved Schematron Validation and Accurate Error Locations
Validating Schematron schemas is a complex process that involves
multiple steps, thus it is not easy to trace errors that can appear at later
stages in this complex process back to the initial schema files. <oXygen/>
improved the error checking by validating the entire schema hierarchy, resolving
included schemas and it is the only XML editor that can locate the errors from any
processing stage, including errors in the XPath expressions, highlighting them in
the editing area.
The Content Completion Proposes Components from the Schema Hierarchy
The Content Completion Assistant proposes Schematron components in
accordance with the editing context, collected from the entire schema hierarchy.
For example, when you edit the active pattern of a phase, the Content Completion
Assistant displays all the defined patterns, even if these are defined in an
Editing Schematron Modules in Master Files Context
The Master Files support allows <oXygen/> to provide better support
when working with modules that are referred from the defined master files. This
support includes not only Schematron schemas, <oXygen/> allowing to easily
determine the master files (top level Schematron files) from a set of files. Once
defined the Schematron master files allow you to edit a Schematron module in
context, improves validation, content completion, provides the scope for search
and refactoring actions, updating references of moved or renamed
The relationships between Schematron modules can be viewed and analyzed
with the help of the Hierarchy/Dependencies view.
Renaming or Moving a Schematron Module Updates Its References
When you rename or move a Schematron resource, <oXygen/> automatically
updates the references to that module. The changes about to be made can be
reviewed in the Preview dialog.
Search and Refactoring Actions for Schematron Components
<oXygen/> allows you to search and modify the names of Schematron
components such as patterns, phases or diagnostics, the change being applied in
all places where those components are referred. When the caret is placed within a
Schematron component, that component declaration and its references are
highlighted in the editor and location markers are displayed in the overview ruler
at the right of the editor. You can navigate to the declaration of a component
using the CTRL/CMD + Click navigation feature - holding the CTRL (CMD on Mac) the
component names become links that can be clicked to navigate to the components
Handle Subject Attribute
The default location for an error reported when a Schematron check
fails is the context of the Schematron rule that contains that check. However,
sometimes that context is different than the actual error location and Schematron
provides a way to point to the actual location of the issue, though the
subject attribute that specifies an XPath relative to the context
node. <oXygen/> takes into account the subject attribute
available on Schematron assert or report elements when the
location of the Schematron message is computed.
Custom Schematron Code Templates
Code templates or abbreviations allow you to type a short name and
expand that to a code fragment. Schematron specific code templates covering the
most frequent code fragments were added so you can take immediate advantage of
this functionality to quickly enter Schematron constructs. The templates are
displayed by the Content Completion Assistant where you can see the list of
specific Schematron code templates, filter them by typing a prefix and select them
to get the expanded code fragments.
Default Validation Scenarios for XML Schema or Relax NG with Embedded
When you work with XML Schema or Relax NG documents that have embedded
Schematron rules, <oXygen/> provides two built-in validation scenarios:
"Validate XML Schema with embedded Schematron" for XML schema, and
"Validate Relax NG with embedded Schematron" for Relax NG. You can
use one of these scenarios to validate also the embedded Schematron
Custom Icons for Schematron Outline
The Outline view helps you find Schematron components easily by
decorating them with distinct icons.
Control the XML Schema Version at XML Schema Document Level
Now that XML Schema 1.1 is a W3C Recommendation people start to use
both XML Schema version 1.0 and XML Schema version 1.1. While <oXygen/> provides
a default XML Schema version as an option it is useful to be able to control also
what version will be used for each XML Schema file. <oXygen/> 15.2 supports the
use of vc:minVersion
attributes on the schema root element, allowing you to set the XML Schema version
for that XML Schema document. New document templates are also provided so you can
easily create XML Schema 1.0 or XML Schema 1.1 documents.read
Flatten XML Schema
The Flatten Schema operation allows you to flatten an entire hierarchy
of XML schemas. Starting with the main XML schema, <oXygen/> calculates the
schema hierarchy by processing the "xs:include" and "xs:import" statements and
then it generates one schema file for each different namespace.
Refactoring Highlighted Content
You can easily manage the occurrences of the text found through
executing an XPath expression or a find operation, using the new actions that act
on all highlights. You have the option to remove all highlighted content, modify
or surround the content with a specific tag.
Select Attribute in Text Mode
You are able to quickly select an attribute and its value using triple
click on the attribute's name in the <oXygen/> stand-alone, and double click
right before the attributes name in the <oXygen/> Eclipse plugin.
Automatically Comment a Matching Tag
<oXygen/> automatically applies the same action on the matching end
tag when you comment a start tag. You can comment one or more start tags and their
matching end tags are also commented so the document remains
CMS Integration and Connectivity
Accessing Microsoft Office 365 Documents
You can access documents stored on a SharePoint site from your Office
365 account using the "Open URL" action from <oXygen/>.
Integrating the Author Applet on a SharePoint Site
The Author Component can be embedded in a SharePoint site as a Java
applet. This is a simple and convenient way for you to retrieve, open, and save
XML and XML related documents stored on your company's SharePoint server, directly
from your web browser. You can embed the applet either on a site that is located
on a standalone SharePoint server, or on your company's Microsoft Office 365
<oXygen/> offers support for MarkLogic 7.
Master Files Support in the Eclipse Plugin
To deal with difficult tasks developers split complex files into
multiple modules. Sometimes these modules taken as standalone files are invalid
and to be able to work with them you need to take into account the entry point,
the master file that includes the modules. <oXygen/> allows defining the entry
points or master files and automatically provides support for editing modules
referred from those master files. Starting with version 15.2, the <oXygen/>
Eclipse plugin offers full support to work with modular XML, XSLT, XML Schema,
WSDL, Schematron and Relax NG files, providing module editing, validation, search
and refactoring actions, modules connections overview, etc. - all these in the
context of the defined master files.
Syncro SVN Client
Support for SVN 1.8 Servers
Subversion 1.8 repositories are now supported, excepting FSFS-backed
repositories accessed through the "file://" protocol. Working copies having SVN
1.8 format are not yet supported.
Copy/Move Operation Improvements
The SVN Client does its best to copy/move items within the working
copy. In cases when the operation would not normally work in Subversion, a simple
file system copy/move operation is performed. Also, valid destination directories
are detected automatically and presented to you.
Drag and Drop Improvements in the Working Copy View
The Drag ad Drop support was extended to all the Working Copy view
modes. Also, compatibility between the SVN Client and external applications was
improved for dragging and dropping items from one to another.
Drag and Drop Support in the Repositories View
Copying and moving repository items is made easy through the drag and
drop support added in the Repositories view.
The Calabash XProc engine was updated to version 1.0.16.
TEI XSL Update
TEI XSL was updated to version 7.7.0.
The bundled Saxon Enterprise Edition XSLT processor from Saxonica was
updated to version 188.8.131.52.
Bundled Java 7 JRE in the Mac OS X Installation Kit
The new <oXygen/> installation kit for mac OS X (10.7, 10.8, and 10.9)
includes Java 7.
You can choose to keep a separate layout for each project, thus when
you move between projects you get not only the last opened files specific to that
project restored but also the exact layout of views, editors and toolbars. In this
way when you come back to a project you continue exactly from the state in which
you left that project.
Maven 4.0 Framework
A new document type configuration is available allowing to create and
edit Maven 4.0 POM documents.
Distinct Sounds Depending on the Status of the Current Operation
Success and failure of the validation or transformation actions can be
signaled also with a sound. The beep signal has a higher audio frequency when the
operation is successful, and a lower audio frequency when the operation
A detailed list of all changes to the Java API can be found here.
Support for Setting Custom Pseudo-classes
You can set your custom CSS pseudo-classes on the nodes from the
AuthorDocument. These are similar to the normal XML attributes, with the important
difference that they are not serialized, and by changing them the document does
not create undo and redo edits - the document is considered unmodified. You can
use custom pseudo-classes for changing the style of an element (and its children)
without altering the document. read
Additional Calls to the Custom URI Resolvers
The custom URI resolvers set with the pre-existing API XMLUtilAccess.addPriorityURIResolver(URIResolver)
now called to resolve image and content references even if the resources are
placed on the local drive. This is useful for indirecting the application to
resolve resources in other places.
Obtain an Existing AuthorDocumentFilter implementation
If you have both a plugin and a framework which need to set an
AuthorDocumentFilter, you can obtain the existing filter implementation and wrap
it in your own filter implementation using the API AuthorDocumentController.getDocumentFilter()
Refresh References in Document Controller
Actions Provider Access from DITA Map Editor Page
Obtain the Existing Unique Attributes Processor
API to Show Multiple Files Chooser
API to Create Input Stream over Editor's Content
The new API method WSEditorBase.createContentInputStream()
allows you to
create an input stream over the contents of the editor. The implementation will
take care of using the proper character encoding.
Create CSS Alternates Drop-Down in the Author Component
Save Global Preferences
Usually the application saves its global preferences when it is closed.
You can force save the global options to their storage location by calling this
new API: PluginWorkspace.saveGlobalOptions()
More Context Information for Editing Attribute Values
Open an Editor with an Imposed Content Type
DITA Map Content Type for an URLConnection
If a DITA Map URL does not have an extension and a custom URL
Connection is implemented for it in the application the method
URLConnection.getContentType()can return the value
application/ditamap to identify it as such.
Better Integration for Form Controls with Custom Edit
If a custom form control performs a custom edit, it can pass the
containing the edit to the application in order to
integrate better in the editing flow using the new API EditingEvent.customEdit
Operation Capable of Running a Sequence of Other Actions
can execute a
sequence of actions, defined as a list of IDs. The actions must be defined by the
corresponding framework, or one of the common actions for all frameworks supplied
by <oXygen/>. ExecuteMultipleActionsOperation