Oxygen XML Editor 15.2
Version 15.2 of Oxygen XML Editor improves the support for developing Schematron and
XML Schema schemas and adds support for working with modules to the Eclipse plugin.
Editing XML documents visually is a lot easier in Oxygen XML Author version 15.2
with the intelligent content completion assistance and paste functionality while additional
CSS 3 and CSS 4 features allow for creating more interactive and user-friendly
interfaces.
This version features updated components, debuts the DITA 1.3 support by introducing the
troubleshooting specialization and makes available a large number of API additions in
response to feedback provided by our partners which integrated the Oxygen XML authoring
technology into their solutions.
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 Assistant 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 included schema.
Editing Schematron Modules in Master Files Context
The Master Files support allows Oxygen to provide better support when
working with modules that are referenced 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 assistance, provides the scope for search and refactoring actions, updating
references of moved or renamed resources.
Hierarchy/Dependencies View
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 box.
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 referenced. When the cursor 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 definitions.
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, through 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 Schematron
Rules
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 rules.
Custom Icons for Schematron Outline
The Outline view helps you find Schematron components easily by decorating them
with distinct icons.
XML Visual Editing
Support for the CALS colsep and rowsep
Attributes
The defined row and column separators are rendered in Oxygen for the cells
in CALS tables (a table model used by DocBook, DITA and other XML frameworks) so you can
see immediately how the table will be rendered when the document is published. You can
also easily edit the values for columns using two checkboxes that appear in the column
specification
area.
Text Area Form Control
To be able to create user-friendly interfaces for editing XML, Oxygen
provides support for binding text or attribute values to form controls such as drop-down
lists, checkboxes, lists, etc. A text area form control is available starting with version
15.2. This is useful for editing larger attribute or element values and you can also
benefit from syntax highlight capabilities.
Intelligent Schema-Aware Paste
When you paste content Oxygen checks if that is valid at the cursor
position and if that fails then recovery strategies are proposed in order to keep the
document valid. Version 15.2 includes a strategy that automatically analyzes nearby
positions to determine a valid location for that content.
Content Completion Assistant Flexible Insert Location
You can choose to insert an element that is not valid at the current position
and Oxygen will trigger automatically recovery strategies to place that element in a
valid location. This removes the requirement to position the cursor in the exact location
where an element is accepted, you can insert it also if the cursor is positioned in a
near-by location.
PDF Images Support
The
Author editing mode in Oxygen offers support for
rendering PDF images by installing a third-party library.
read
moreJPEG with Embedded CMYK Support
The
Author editing mode in Oxygen can properly render JPEG
images that have an embedded CMYK profile.
read moreTIFF Images Support
The
Author editing mode in Oxygen offers support for
rendering TIFF images.
read
moreCSS Support
Support for CSS Level 3 Structural Pseudo-Classes
All the CSS Level 3 structural pseudo-classes are supported
(:root, :last-child, :first-child,
:nth-child, :nth-of-type, :not(),
:empty, etc.)
Support for the Experimental CSS Level 4 Subject Selector
The experimental
subject
selector from CSS Level 4 is now supported. It can match an element by taking
into account its children (for instance, "
chapter! > title" will match
any chapter that contains at least a title).
Support for :hover and :focus CSS
Pseudo-Classes
You can style your XML documents depending on the mouse and cursor position
over the document by using the :hover and :focus CSS
pseudo-classes.
Localize Static Content in CSS
You can use constructs such as
${i18n(key.name)} directly in
the CSS content of a
'before:' or
'after:'
pseudo-element to reference keys which can be translated to multiple languages through the
built-in Oxygen internationalization support.
read
morePass CSS References Through XML Catalog
Import instructions from CSS documents are passed through the XML catalog URI
mappings.
read moreAdd a Custom CSS to the Predefined Ones Using XML Catalog Mappings
By adding a URI mapping to map a specific URI to a CSS file you can contribute
a CSS to be used when rendering any XML document in the
Author editing
mode. This allows you to enforce some specific styles on any XML file without the need to
modify the CSS documents which come with existing document type configurations.
read
moreCSS Content Properties: -oxy-append-content and
-oxy-prepend-content
The content used for the ":before" and ":after" pseudo-elements can be created
incrementally from the content specified by these properties. This reduces the complexity
of selectors when the content depends on multiple conditions.
read
moreProperties for the oxy_button Form Control
Two additional boolean properties are available allowing to display the
associated action's text and/or icon on the button form control (showText
and showIcon).
In-Place Actions Can be Executed Preserving the Current Context
Using the actionContext property, available on the
oxy_button and oxy_button_group form controls, the
author actions associated with these form controls can be executed either in the context
of the element that contains the form controls or in current context, if that is included
in the element that contains the form control. For example, this allows you to place
element specific actions on an element and execute them to perform actions at the cursor
position (if the cursor is inside that element).
Form Controls Can Edit Attributes from a Specified Namespaces
If the attribute edited through a form control is from a specific namespace
then you can specify it in the edit property as a QName.
The CSS must contain a namespace declaration mapping the QName prefix to
the attribute namespace.
XML Schema
Control the XML Schema Version at XML Schema Document Level
Now that XML Schema 1.1 is a W3C Recommendation, people started 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 and
vc:maxVersion 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
moreFlatten 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.
Text Mode
Refactoring Highlighted Content
You can easily manage the occurrences of the text found through executing an
XPath expression or a find operation, using 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 "well-formed".
DITA Support
Syntax Highlight in Published Code Blocks Sections
You can add syntax highlight to the codeblock and
pre sections from your published PDF and XHTML-based outputs by setting
specific programming language values to the outputclass
attribute.
Generate Index Page in PDF Using Apache FOP
If you are using index terms in your DITA content, the PDF output generated
with the default bundled PDF processor (Apache FOP) will also contain the index page at
the end of the PDF.
DITA 1.3: Troubleshooting Specialization
You can create new troubleshooting topics based on the included experimental
DITA 1.3 Troubleshooting DTD specialization plugin.
Edit codeblock Sections with Syntax Highlight Support
An alternate CSS was introduced, so you can now edit codeblock
sections using the Text Area form control. Thus, you benefit from syntax highlight for a
variety of document types.
DocBook 5 Support
Edit Program Listings with Syntax Highlight Support
An alternate CSS was introduced, so you can now edit program
listings using the Text Area form control. Thus, you benefit from syntax
highlight for a variety of document types.
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 account.
MarkLogic Support
MarkLogic 7
Oxygen offers support for MarkLogic 7.
Eclipse Plugin
Master Files Support in the Oxygen 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 referenced 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 of 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.
Component Updates
Calabash 1.0.16
The Calabash XProc engine was updated to version 1.0.16.
TEI XSL Update
TEI XSL was updated to version 7.7.0.
Saxon 9.5.1.3
The bundled Saxon Enterprise Edition XSLT processor from Saxonica was updated
to version 9.5.1.3.
Other
Bundled Java 7 JRE in the Mac OS X Installation Kit
The Oxygen installation kit for mac OS X (10.7, 10.8, and 10.9) includes
Java 7.
Improved Layouts
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. Therefore, 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 fails.
Extended API
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
moreAdditional Calls to the Custom URI Resolvers
The custom URI resolvers set with the pre-existing API
XMLUtilAccess.addPriorityURIResolver(URIResolver) are 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
Obtain the Existing Unique Attributes Processor
API to Show Multiple Files Chooser
API to Create Input Stream over Editor's Content
The 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 Alternatives Toolbar 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 API:
PluginWorkspace.saveGlobalOptions().
More Context Information for Editing Attribute Values
Open an Editor with an Imposed Content Type
DITA Map Content Type for a URL Connection
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
Runnable containing the edit to the application in order to integrate
better in the editing flow using the API
EditingEvent.customEdit.
Operation Capable of Running a Sequence of Other Actions
The
ExecuteMultipleActionsOperation 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.