• 2002

    1
    Version 1.0 - April the 15th, 2002
    Version 1.1 - May the 15th, 2002
    Version 1.1.5 - May the 20th, 2002
    Version 1.1.6 - May the 24th, 2002
    Version 1.1.7 - May the 27th, 2002
    Version 1.1.8 - June the 5th, 2002
    Version 1.1.9 - June the 15th, 2002
    Version 1.2 - June the 27th, 2002
    Version 1.2.1 - September the 27th, 2002
    Version 1.2.2 - October the 22nd, 2002
    Version 1.2.3 - November the 27th, 2002
    Version 1.2.4 - December the 17th, 2002
  • 2003

    2
    Version 2.0 - April the 2nd, 2003
    Version 2.0.1 - May the 15th, 2003
    Version 2.0.2 - June the 9th, 2003
    Version 2.0.3 - August the 14th, 2003
    Version 2.0.4 - September the 19th, 2003
  • 2004

    3
    Version 3.0 - January the 14th, 2004
    Version 3.1 - February the 6th, 2004
    4
    Version 4.0 - April the 30th, 2004
    Version 4.1 - June the 10th, 2004
    Version 4.2 - July the 15th, 2004
    5
    Version 5.0 - October the 15th, 2004
    Version 5.1 - January the 18th, 2005
  • 2005

    6
    Version 6.0 - May the 22nd, 2005
    Version 6.1 - July the 19th, 2005
    Version 6.2 - September the 19th, 2005
  • 2006

    7
    Version 7.0 - January the 13th, 2006
    Version 7.1 - March the 2nd, 2006
    Version 7.2 - June the 6th, 2006
    8
    Version 8.0 - November 20th, 2006
    Version 8.1 - January 25th, 2007
    Version 8.2 - May 7th, 2007
  • 2007

    9
    Version 9.0 - November 2nd, 2007
    Version 9.1 - December 18, 2007
    Version 9.2 - May 9, 2008
    Version 9.3 - July 2, 2008
  • 2008

    10
    Version 10.0 - October 23, 2008
  • 2009

    11
    Version 11.0 - October 9, 2009
    11.1
    Version 11.1 - December 17, 2009
  • 2010

    11.2
    Version 11.2 - March 16, 2010
    12
    Version 12.0 - September 14, 2010
  • 2011

    12.1
    Version 12.1 - January 12, 2011
    12.2
    Version 12.2 - May 19, 2011
    13
    Version 13.0 - August 29th, 2011
    13.1
    Version 13.1 - October 26th, 2011
  • 2012

    13.2
    Version 13.2 - January 12th, 2012
    14
    Version 14.0 - June 27, 2012
    14.1
    Version 14.1 - October 19, 2012
  • 2013

    14.2
    Version 14.2 - February 13, 2013
    15
    Version 15.0 - June 7, 2013
    15.1
    Version 15.1 - October 7, 2013
  • 2014

    15.2
    Version 15.2 - January 22, 2014
    16
    Version 16.0 - May 20, 2014
    16.1
    Version 16.1 - October 7, 2014

What's new in oXygen XML Editor 15.2

Related Versions: 15.015.115.2

January 22, 2014

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.
Editing Schematron Schemas

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 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 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.

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 definitions.
Search and Refactoring Actions for Schematron 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.
Custom Schematron Code Templates

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.
Custom Icons for Schematron Outline

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.
Support for the CALS colsep and rowsep Attributes

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.
Text Area Form Control

Intelligent Schema-aware Paste

When you paste content oXygen checks if that is valid at the caret 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 caret in the exact location where an element is accepted, you can insert it also if the caret 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 more

JPEG with Embedded CMYK Support

The Author editing mode in oXygen can properly render JPEG images that have an embedded CMYK profile.
read more

TIFF Images Support

The Author editing mode in oXygen offers support for rendering TIFF images.
read more

CSS Support

Support for CSS Level 3 Structural Pseudo-classes

All the CSS Level 3 structural pseudo-classes are now 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 caret position over the document by using the ":hover" and ":focus" CSS pseudo-classes.

Localize Static Content in CSS

You can use constructs like ${i18n(key.name)} directly in the CSS content of a "before:" or "after:" pseudo-element to refer to keys which can be translated to multiple languages through the built-in oXygen internationalization support.
read more

Pass CSS References Through XML Catalog

Import instructions from CSS documents are passed through the XML catalog URI mappings.
read more

Add 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 more

CSS 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 more

Properties 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. This allows for example placing element specific actions on an element and executing them to perform actions at the caret position, if the care 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 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 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 more
Control the XML Schema Version at XML Schema Document Level

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.
Flatten XML Schema

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.
CMS Integration and Connectivity

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 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.

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. 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 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 more

Additional 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

Added the API method AuthorDocumentController.refreshNodeReferences(AuthorNode) to refresh references on a certain node for developers who implement a custom AuthorContentReferencesResolver.

Actions Provider Access from DITA Map Editor Page

Added the API method WSDITAMapEditorPage.getActionsProvider() to obtain actions defined in the DITA Map Editor Page and mount them to custom controls.

Obtain the Existing Unique Attributes Processor

You can obtain in your extension Java operations the current unique attributes processor in order to check if certain attributes should be removed when copying content using the API AuthorDocumentController.getUniqueAttributesProcessor().

API to Show Multiple Files Chooser

The API method WorkspaceUtilities.chooseFiles(File, String, String[], String) allows you to show a file chooser having multiple selection enabled.

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 Alternates Drop-Down in the Author Component

The CSS alternates drop-down button defined in the document type can now be added to the toolbar of an Author Component application using the API WSAuthorComponentEditorPage.createCSSAlternativesToolbar().

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

When the custom InputURLChooserCustomizer gets called to edit an attribute value you can find out more details about the current element and the current edited attribute: AttributeEditingContextDescription.getElementContext().

Open an Editor with an Imposed Content Type

If a URL does not have an extension but the developer knows beforehand the type of resource (XML, DITA Map, etc) in order to avoid the application asking the end user what type of resource is being opened this API can be used instead: ro.sync.exml.workspace.api.Workspace.open(URL, String, String).

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 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.
Video Tutorials
Upcoming Events
DITA-OT Day 2014
DITA-OT Day 2014
November 20, 2014
Munich, Germany
" oXygen XML Editor is the premier text editor for XML geeks, and an indispensable tool for O'Reilly's Production group. My team uses oXygen XML Editor for everything from simple XML editing to Schema validation and XSLT transformations. The digital production staff especially loves oXygen's built-in EPUB support, which eliminates a great deal of the grunt work that is usually entailed in editing EPUB files. The more we use oXygen, the more realize what a powerful tool it can be in digital and XML-based workflows."
Adam Witwer
Director of Content and Publishing Operations
O'Reilly Media