Hubbry Logo
search
logo

Oxygen XML Editor

logo
Community Hub0 Subscribers

Wikipedia

from Wikipedia
Oxygen XML Editor
DeveloperSyncRO Soft Ltd. Romania
Stable release
24.1[1] Edit this on Wikidata / 10 March 2022
Written inJava
Operating systemCross-platform
TypeXML editor, HTML editor
LicenseProprietary
Websitewww.oxygenxml.com Edit this on Wikidata

The Oxygen XML Editor (styled <oXygen/>) is a multi-platform XML editor, XSLT/XQuery debugger and profiler with Unicode support. It is a Java application so it can run in Windows, Mac OS X, and Linux.[2] It also has a version that can run as an Eclipse plugin.[2]

Release cycle

[edit]

Oxygen XML has three types of releases, excluding betas and development versions. Major releases (most recently release 26 as of 2024) occur on average once per year. Minor releases (most recently 26.1 as of March 2024) are made at least once every few months after a major release, occasionally twice a year. Incremental build releases are provided on an as-needed basis, usually in response to bugs or security issues. Build numbering is based on the build's date and time (to the hour). As of the end of 2015, the current full version and build number are "Oxygen XML Editor 17.1, build 2015121117" with a full release history available online.[3]

XML editing features

[edit]

Oxygen XML offers several features for editing XML documents. Documents can be checked in proper XML form. They can also be validated against a schema. For validation purposes, the documents can be validated against DTD, W3C XML Schema, RELAX NG, Schematron, NRL and NVDL schemas. The editor can also validate the XML as it is entered. A validation scenario can be generated for additional schema types, which allows Oxygen to call out arbitrary programs to perform validation.

Also, the program has support for XML catalogs. An XML catalog is an XML file of a specific format that maps a schema definition string to an actual file name on the disk or web. Using catalogs allows the user to specify a web address for a schema but allows Oxygen to find a file form of the address if the catalog identifies one.

Oxygen XML comes with schemas and DTDs for popular or major XML and XSL formats including DocBook (versions 4.0 and 5.0), TEI format, XSLT (versions 1.0, 2.0 and 3.0), DITA, XHTML and HTML 5. Extending to new XML dialects or specializations is achieved by adding the relevant framework or implementation to the software or loading the document type or schema, thus enabling an adaptable environment that is itself configured entirely by XML, which draws parallels with Emacs and its ability to edit itself while implementing the Lisp dialect it runs in.

The program is aware of XInclude, and all validation and transformation services can follow the XInclude statements to their included files. Oxygen XML offers three views designed for editing XML documents. These views are text, grid, and author.

Text view

[edit]

The text view is the default view for editing an XML document. As the name suggests, this view shows the XML text as text.

For documents that are associated with an XML schema, Oxygen XML offers tag completion. Oxygen XML can use a number of XML schema languages, including DTD, W3C XML Schema, RELAX NG (both compact and full). Both W3C XML Schema and RELAX NG schemas can include embedded Schematron rules. It also can use the NRL and NVDL routing languages, which allow multiple schemas of different types to be applied to different files.

In addition to tag completion, annotations in the schema will be displayed as tooltips for the elements that those annotations apply.

For schema formats that do not have a standard mechanism to bind the schema to the XML file, Oxygen XML provides a processing instruction that instructs the program on which schemas to use. For documents that do not have a schema, Oxygen can analyze the document's structure and generate a schema.

Grid view

[edit]

The grid view shows the XML document in a spreadsheet-like fashion. The left-most column shows the elements at the root level, including comments and processing instructions. The next column shows attributes of root elements and every unique first child of the root XML element. If the root element has six children named "section," then the grid view will show only one section element and a notation that there are six of them. This iteration continues for the next column.

This view is not often useful for HTML or other document-like formats, but it can be helpful in specific XML formats that resemble spreadsheets. Except for spaces, this view shows the entire structure of the XML file. All of the textual information in the file will be presented in this view.

Author view

[edit]

New to Oxygen XML v9.x was an author view providing a WYSIWYM view of the XML document. This smaller version of the editor called oXygenXML Author is provided as a cheaper option in the commercial options where the full feature set may not be required. Author is centered on general XML document editing.[4]

This view is based on providing a CSS file for the document that specifies the data type for each element in the document's schema. Oxygen XML comes with document CSS files for DITA, DocBook, and TEI formats.

XML tags and attributes in this view can be completely disabled or shown in various combinations.

Editing in this view is an intermediate step between true WYSIWYG and editing in the regular text view in terms of complexity for the author. The XML elements are made more human-readable and intuitive, but the nesting and semantics of the XML document are still clear. The cursor can be placed between any elements, and when the cursor's position is ambiguous, a tooltip window will appear showing a local view of the XML tree and the cursor's position in it. A bar along the top of the view offers the list of elements from the document root to the element under the cursor.

XML elements are never implicitly inserted into the document. However, a common action in editing document-like XML files is to create a new element of the same name following the current one. The author view will perform this operation if the user presses the enter key twice (pressing it once brings up a dialog of possible elements to add if tag competition is available).

Inserting elements can be done through oXygen's XML refactoring commands to insert an element at the current cursor location. Even if XML tags are non-visible, an indication for an empty element is always displayed using that element's name.

Attributes on XML elements cannot be directly edited. However, Oxygen XML has an attribute panel that can be used to both see and set the value of attributes on the current element when content completion information is available.

Editing of specialized XML formats

[edit]

Though Oxygen XML can edit any XML document, providing content completion for documents with a schema binding, it can recognize certain XML documents innately.

Oxygen XML provides schema editing features for W3C XML Schema and RELAX NG's XML form. It offers visual editing support for both schema-less syntax highlighting and content completion.

Oxygen XML offers support for XSLT documents, both version 1.0 (with EXSLT extensions) and 2.0. XSLT elements are recognized and drawn in a different color from non-XSLT XML elements. It also provides special validation services for XSLT documents. For example, it can validate that an attribute containing an XPath string is a valid XPath. oXygen XML automatically assumes that documents with the .xsl and .xslt extensions are XSLT files, and it treats them accordingly.

It also offers support for editing XSL-FO documents, though it does not provide its visual editing features.

Editing of non-XML files

[edit]

Though Oxygen XML is primarily an XML editor, it does come with the ability to edit many non-XML textual formats. It has syntax completion for DTD, RELAX NG's compact format, XQuery, CSS and regular HTML. It also provides basic syntax highlighting support for several common web scripting languages to a degree, such as Python, Perl, and JavaScript, among others.

Document transformation

[edit]

XSLT-based document transformation is a typical operation on XML files, and Oxygen XML supports these operations. It allows the user to define a transformation scenario that specifies the application of a particular XSLT file to the current XML document. Each transformation scenario is aware of all of its designated XSLT file parameters and provides for editing them graphically.

Additionally, the results of the transformation scenario can be piped through an XSL-FO processor, whether that be the built-in FOP processor or an external one. The final output filename, path, and extension can be specified for a transform scenario as command-line parameters.

Transform scenarios can be local to a particular Oxygen XML-project workspace or global to all projects. Oxygen XML comes with several standard global-transform scenarios for common tasks, e.g., from DocBook documents into PDF through XSL-FO and FOP or HTML. It also comes with a recent version of the DocBook XSL XSLT transformation suite. Oxygen XML comes with DITA Open Toolkit, which allows publishing (exporting) entire DITA-document structures to different output formats, including PDF, WebHelp, and EPUB.

XSLT debugger

[edit]

Oxygen XML provides comprehensive debugging facilities for XSLTs. It offers features comparable to source-code debuggers like gdb, including breakpoints, the ability to look at the current context and "memory," and single-stepping through the XSLT. It can debug both XSLT version 1.0 and 2.0.

Licensing

[edit]

A choice of either "Named User" or server-based floating licensing. The former favors small businesses or individual developers, who may install it anywhere as long as it is just the specific named user utilizing it. The latter favors larger teams that can benefit by sharing licenses across a global network spanning multiple time zones. An additional group license is available for the academic version only.[5]

Academic licenses are available to academic staff, students, and educational institutions. Still, the license limits the use of the software to academic or research purposes only and cannot be used for commercial purposes.[6]

Commercial licenses are available in a Professional stream and an Enterprise stream for both the author-only edition and the full Editor edition.[7] Either the user or floating licenses are available for each stream, with value gaining for the latter with a larger number of users. The chief differences between the Enterprise edition and the Professional edition are the high-end databases are directly supported. Though the Professional edition still provides direct support for Berkeley DB, MySQL, PostgreSQL, JDBC connections and generating an XML schema from a relational database structure.[8]

Additionally, there is a Personal edition for independent developers or freelancers paying for it themselves rather than their employer. The Personal edition is identical to the Professional edition with regards to features; the only differences are the much lower price, though higher than a single academic license, and providing the full Editor edition rather than just the Author component.[9]

An optional support and maintenance subscription is available, including full upgrades including major releases during the maintenance period. With 17 major releases across 13 years of operation, the annual maintenance offers (averaging around 20% of the full license cost) are cost-effective. The maintenance term can be extended effectively indefinitely by renewing before the expiration date.[10]

See also

[edit]

References

[edit]
[edit]

Grokipedia

from Grokipedia
Oxygen XML Editor is a cross-platform XML authoring and development tool developed by SyncRO Soft SRL, a Romanian software company founded in 1998 with expertise in XML technologies and single-source publishing.[1] It serves as a comprehensive suite for editing, validating, transforming, and publishing XML documents, supporting all major XML schema languages including DTD, XML Schema, Relax NG, and Schematron.[2] Designed for users ranging from beginners to experts, it features intelligent content completion, visual editing modes (Text, Grid, and Author), and integration with frameworks like DITA, DocBook, XHTML, and TEI.[2] The software is available in multiple editions to cater to different needs: the full Oxygen XML Editor (in Enterprise, Professional, Academic, and Personal variants) for advanced editing and development; Oxygen XML Author for visual XML authoring; Oxygen XML Developer for specialized development tasks; Oxygen JSON Editor for JSON handling; and Oxygen Web Author for browser-based collaboration.[3] Key capabilities include single-source publishing to formats such as PDF, ePUB, and HTML; debugging for XSLT, XQuery, and XProc; connectivity to XML databases, CMS systems, and WebDAV; and extensibility through plugins and frameworks.[2] It runs as a standalone application, an Eclipse plugin, or in web environments, ensuring versatility across Windows, macOS, and Linux platforms.[2] Notable enhancements in recent versions, such as the 27.1 release in March 2025, include AI-powered features like the Positron Assistant for content generation and editing assistance, alongside improved support for large files and security protocols.[4] With a large customer base encompassing universities, Fortune 500 companies, and Nasdaq 100 firms, Oxygen XML Editor has established itself as an industry-leading solution for XML workflows.[1]

History and Development

Founding and Early Versions

Syncro Soft SRL was founded in 1998 in Craiova, Romania, by George Bina and other developers with a primary focus on creating tools for XML technologies and single-source publishing.[1][5] The company, initially known as Syncro Soft Ltd., aimed to address the growing needs of XML developers through innovative software solutions, leveraging Romania's emerging tech ecosystem.[1] The first public release of Oxygen XML Editor, version 1.0, occurred on April 15, 2002, introducing a basic XML editor built on a Java-based architecture that ensured cross-platform compatibility with Windows, macOS, and Linux.[6][7] This initial version provided essential text-based editing capabilities along with validation against Document Type Definitions (DTDs) to check for well-formed and valid XML documents.[6] Early evolution continued with version 2.0, released on April 2, 2003, which added support for XSLT transformations, enabling users to process and style XML documents more effectively.[8] Building on this, version 3.0 launched on January 14, 2004, incorporating full Unicode support to facilitate international XML workflows and handling multilingual content robustly.[4] These updates solidified Oxygen's position as a versatile tool for XML development during the mid-2000s.[9]

Release Cycle and Milestones

Oxygen XML Editor follows a structured release cycle consisting of annual major versions, typically released in October or November, followed by minor updates around March or April, and periodic maintenance builds to address bug fixes and minor improvements.[4] For example, version 27.0 was released on November 27, 2024, as the latest major release, while version 27.1 followed on March 24, 2025, providing incremental enhancements.[10][11] This pattern ensures regular delivery of significant new features in major releases, with minors focusing on refinements and compatibility updates.[4] Key milestones from 2010 onward highlight the evolution of editing capabilities. Version 9.0, released in 2007, introduced the Author view, enabling visual editing for non-technical users. Version 10, released in 2008, brought enhancements such as schema-aware debugging for XSLT 2.0 and XQuery. Version 16, launched on May 20, 2014, provided full support for DITA, including advanced table property editing and integration with the DITA Open Toolkit.[12] In 2018, version 20 on March 16 integrated JSON editing, expanding support for non-XML formats alongside XML workflows.[8] More recently, version 26 on October 11, 2023, added the AI Positron Assistant add-on, leveraging artificial intelligence for content assistance and validation.[13] Specific timeline highlights include version 24, released on October 18, 2021, which improved XQuery profiling with detailed reports for performance optimization.[14] Version 25 in October 2022 enhanced EPUB publishing tools, streamlining output generation for digital books.[15] Version 27.1 on March 24, 2025, introduced history and blame features in the DITA Maps Manager, allowing users to track changes and modifications via Git integration.[11] The end-of-life policy supports each major version for approximately three years from its general availability date, including maintenance until the end of maintenance milestone and help desk support until end of support.[16] For instance, version 24 reached end of support on November 27, 2024, after which no further technical assistance is provided, though the software remains usable.[16] This policy ensures long-term stability while encouraging upgrades to access ongoing innovations.[16]

Core Editing Features

XML Editing Views

Oxygen XML Editor provides three primary editing modes for XML documents: Text, Grid, and Author views, each tailored to different user needs and workflows. These views enable users to manipulate XML content in raw code, structured tables, or visual formats, respectively, while maintaining document integrity through integrated features like validation.[17] The Text view serves as the default interface for raw XML editing, offering a syntax-highlighted code editor that color-codes elements, attributes, and text to enhance readability. It includes the Content Completion Assistant for intelligent auto-completion of tags, attributes, and values based on associated schemas, helping to ensure content remains valid during entry. Additional functionalities encompass search and replace operations across the document, code folding to collapse expandable XML sections for easier navigation of complex structures, and support for Unicode and XPath expressions, making it suitable for developers performing precise markup adjustments. In version 27.1 and later, AI-powered actions such as Annotate Code allow automatic addition of XML comments to documents like XSLT, Schematron, and XSD files using the Positron Assistant.[18][4] In contrast, the Grid view presents XML in a table-based layout resembling a spreadsheet, ideal for editing repetitive or structured data without directly interacting with markup. This schema-aware mode displays elements as nested, expandable tables, with drag-and-drop support for reorganizing nodes and cell-level validation to enforce schema constraints in real time. Users can insert, delete, or sort rows and columns efficiently, and the view integrates with the Content Completion Assistant to suggest required elements automatically, streamlining data entry for large datasets.[19] The Author view offers a WYSIWYG (What You See Is What You Get) editing experience, rendering XML content visually with CSS styling to mimic the final output, which is particularly beneficial for non-technical users focused on content creation rather than code. It supports drag-and-drop insertion of elements, smart paste mechanisms that adapt content to the schema, and content templates via the Content Completion Assistant to guide structured authoring. In version 27.1, the Content Completion Assistant in Author mode has been enhanced for better support of required content insertion, and new AI features include the Formula/Equation action, which generates MathML equations using the Positron Assistant based on natural language descriptions. Features like image maps, media embedding, and tag visibility controls allow for intuitive manipulation, while preset and alternate CSS styles ensure consistent presentation across edits. The Positron Assistant provides AI-powered editing assistance, such as content generation and review of proposed changes before saving.[20][4] Seamless switching between Text, Grid, and Author views occurs via dedicated tabs at the bottom of the editing pane, with actions like undo/redo shared across modes for consistent workflow management. The Outline view complements these interfaces by providing a hierarchical overview of the XML structure, synchronizing in real time with edits in any mode—such as highlighting selected nodes or updating on content changes—to facilitate quick navigation and structural modifications. Validation feedback, including error highlights and tooltips, integrates across views to alert users to issues during editing.[19][21]

Schema-Driven Editing and Validation

Oxygen XML Editor provides schema-driven editing and validation to ensure XML documents conform to defined structures, leveraging various schema languages for robust enforcement during authoring. It supports validation against Document Type Definitions (DTD), XML Schema Definition (XSD), Relax NG (RNG), Schematron, and NVDL schemas, enabling comprehensive checks for syntax, structure, and business rules directly within the editing environment.[3][7] A key feature is as-you-type validation, which performs real-time error detection and highlighting as users edit XML content, marking invalid elements or attributes with visual cues such as red underlines or borders to indicate non-conformance with schema constraints. This is complemented by a schema-driven Content Completion Assistant that proposes valid elements, attributes, and values based on the associated DTD, XSD, Relax NG, or NVDL schema, including required items and documentation hints to guide accurate input. Quick fixes are integrated to resolve common issues, such as adding missing attributes or correcting invalid references, accessible via tooltips, contextual menus, or keyboard shortcuts like Alt+1, with proposals dynamically updating after document changes. In version 27.1, a new Fix Validation Problems action uses AI to suggest and apply fixes for validation issues via the Positron Assistant.[22][23][24][4] For schema development, Oxygen includes dedicated editors for XSD and Relax NG files, featuring graphical diagram views that synchronize with the source code for visual design and analysis. The XSD editor offers Full Model and Logical Model diagrams, allowing in-place editing, component expansion, and highlighting of references, while the Relax NG editor provides a side-by-side source-diagram interface with intuitive symbols for patterns. Refactoring tools support renaming components across files or projects with impact previews and flattening schemas to consolidate imports, enhancing maintainability without manual propagation of changes.[25][26] Advanced validation capabilities extend beyond real-time checks, including batch validation of multiple documents or entire projects via the Document > Validate menu, which compiles all errors in the dedicated Errors tab for systematic review. Custom validation rules can be implemented using Schematron, allowing assertion-based checks for complex business logic integrated with XSD or Relax NG schemas. Oxygen also handles XInclude for modular documents, resolving inclusions during validation to ensure consistency across referenced files without disrupting the editing workflow. In version 27.1, validation has been improved with better XProc error messaging and support for XProc 3.1 schemas in content completion and validation.[27][28][29][4] These mechanisms are particularly evident in schema-aware views like the Grid editing mode, where input fields and structures are dynamically generated from the schema to enforce constraints visually.

Specialized Content Support

XML Frameworks and Formats

Oxygen XML Editor provides built-in frameworks for several industry-standard XML vocabularies, enabling specialized editing, validation, and transformation capabilities tailored to each format. These frameworks leverage the editor's Author mode for visual, WYSIWYG-like editing, along with schema-driven content completion and contextual actions to streamline authoring workflows.[30] For DITA (Darwin Information Typing Architecture), Oxygen offers comprehensive support for topic-based authoring, including full editing of maps, topics, and ditamaps. Key features include conref (content reference) management, which allows reusable content modules via direct or indirect references, with the Reusable Components view facilitating easy insertion and updates.[31] The editor integrates the DITA Open Toolkit (OT) for validation, building, and publishing projects, detecting connections between DITA resources and supporting conditional processing through profiling attributes to filter content based on audience, product, or platform.[32] Authors can push content updates via conref push mechanisms and use keys for conkeyref to reference elements across topics.[33][34] DocBook support in Oxygen includes WYSIWYG editing in Author mode, driven by CSS stylesheets for a visual presentation, with framework-specific toolbars for actions like inserting sections, lists, tables, images, and multimedia.[35] Entity resolution is handled through XML catalogs to manage external references, ensuring seamless validation and content completion based on DocBook schemas.[36] Transformation presets are provided via built-in XSL stylesheets for converting DocBook to HTML, PDF, or PostScript, including support for MathML rendering and CALS/HTML table operations such as joining or splitting cells.[35] Similarly, TEI (Text Encoding Initiative) editing benefits from included DTDs, XML catalogs, and XSL stylesheets for immediate setup, with Author mode offering WYSIWYG capabilities and toolbars for text emphasis, image insertion, and table management.[37] Entity resolution via catalogs supports complex TEI structures, while predefined templates and transformation scenarios enable outputs to PDF, XHTML, or EPUB.[38] Specific actions in the TEI menu and contextual menus assist with elements like discontinuous selections for multi-range editing.[39] Oxygen also supports other XML formats with dedicated features. For XHTML, the Author mode provides visual editing akin to a word processor, with content completion and actions for inserting images in formats like GIF, JPG, PNG, and SVG.[40][41] SVG editing integrates the Apache Batik library for rendering and validation via XML catalogs, including a standalone viewer and preview pane for XSLT-generated graphics.[42] WSDL (Web Services Description Language) editing features schema-driven content completion, a specialized Outline view for structure navigation, and refactoring tools, though it primarily uses text-based editing with SOAP schema integration.[43][44] Custom frameworks can be configured in Oxygen using CSS for visual styling in Author mode and XSLT for custom actions or transformations, allowing users to extend support for proprietary or specialized XML vocabularies.[30] Across these frameworks, features like profiling attributes in DITA and reusable content modules promote modular authoring and conditional content handling.[31]

Non-XML and Hybrid File Editing

Oxygen XML Editor provides robust support for editing JSON documents through specialized views that enhance productivity beyond traditional text editing. The editor offers a Text mode with syntax highlighting, content completion, and formatting actions such as pretty-printing to improve readability. Additionally, a Grid mode presents JSON data in a tree-based, tabular structure, allowing users to expand and collapse nodes for intuitive navigation and editing of nested objects and arrays. An Author mode enables visual editing with contextual actions, while schema validation against JSON Schema ensures structural integrity during authoring. Querying capabilities include XPath-like expressions for extracting data, and built-in transformations support converting JSON to XML or HTML via XSLT or XQuery.[45][46] For YAML files, Oxygen includes a dedicated editor with syntax highlighting that recognizes key elements like scalars, sequences, and mappings, along with customizable color schemes for tokens. Validation is performed against associated JSON Schemas, providing real-time error detection for well-formedness and compliance. Editing features encompass auto-completion for keys and values, outline views for document structure, and folding for collapsible sections to manage complex hierarchies. Markdown support extends this with a text editor featuring live preview panels that render content in real-time, syntax highlighting for elements like headers and lists, and validation against custom Schematron rules applied to converted HTML output. Publishing options allow transformation to formats such as WebHelp or PDF directly from Markdown sources.[47][48] Hybrid editing workflows in Oxygen facilitate handling files that mix XML with embedded non-XML content, such as JSON payloads in REST API specifications. Users can edit these embedded sections inline using the appropriate specialized views, like switching to Grid mode for JSON within an XML context, while maintaining overall document validation. Diff and merge tools support comparing changes across hybrid files with multiple algorithms, including three-way merges for collaborative revisions, ensuring accurate tracking of modifications in mixed-format documents.[49][50] Conversion utilities streamline interoperability between formats, with built-in tools for transforming XML to JSON and vice versa, preserving hierarchical structures and attributes for applications like API development. These include batch processing for multiple files, generation of sample instances from schemas, and bidirectional YAML-to-JSON conversions to support diverse data exchange needs.[51]

Transformation and Publishing Tools

Document Transformation Scenarios

Oxygen XML Editor provides built-in and custom transformation scenarios to facilitate the processing of XML documents through various engines, including XSLT, XQuery, and FOProcessor.[52] Built-in scenarios are preconfigured for common operations such as XML to HTML via XSLT or XQuery updates, while custom scenarios allow users to define inputs like XML source files and stylesheets, along with output mappings to specified directories or files.[53] Parameter passing is supported through a dedicated tab in the scenario configuration dialog, where users can set key-value pairs that are injected into the transformation engine, enabling dynamic control over processes like variable substitution in XSLT stylesheets or XQuery modules. Input and output mapping further refines these setups by allowing editor variables, such as ${currentFileURL} for the active document or ${outputdir} for result placement, ensuring flexible handling of file paths across transformations.[54] Batch processing in Oxygen XML Editor enables the application of transformation scenarios to multiple files or entire directories without opening each one individually, primarily through the Project view.[55] Users select files or logical folders, then configure scenarios via the contextual menu, supporting both single-scenario batches and multiple scenarios per item, with editor variables automating input/output adjustments for each file.[55] Logging occurs in the Information view, which captures timestamped status messages, progress updates, and completion details for the entire batch.[56] Error handling is integrated via this view, displaying failure notifications and partial results, allowing users to identify and address issues like invalid inputs or engine exceptions without halting the overall process.[56] XProc support in Oxygen XML Editor allows for pipeline orchestration, where complex workflows combine multiple steps such as validation, transformation, and filtering into a single script.[57] Scenarios for XProc are configured similarly to XSLT or XQuery, specifying the pipeline script as input and defining parameters for ports and options to chain operations like sequential XSLT applications or integrated database queries.[52] The bundled Calabash engine executes these pipelines, with results viewable per output port, and batch execution extends this to directories for scalable orchestration.[57] Version 27.1 added support for XProc 3.1 schemas, improved error messaging, and AI-enabled XSLT stylesheets within pipelines.[11] Integration with external engines enhances transformation capabilities in Oxygen XML Editor, particularly through add-ons and preferences. For XSLT and XQuery, the Saxon transformer add-on installs versions such as Saxon 12.4, selectable in scenario configurations to leverage advanced features like higher-performance processing over the built-in engine.[58] Antenna House integration for FOProcessor is configured via preferences, where users specify the executable path (e.g., AHFCmd.exe) and environment variables, enabling its use in scenarios for handling complex formatting operations within batch or single-file transformations.[59] Transformation errors from these engines can be debugged using the built-in profiler for tracing execution paths.[52]

Output Generation and Publishing

Oxygen XML Editor supports generating a variety of output formats from transformed XML content, including PDF via XSL-FO using Apache FOP or CSS-based methods with engines like Oxygen PDF Chemistry, HTML5/WebHelp Responsive, EPUB, RTF, and DOCX.[60][61][62] These formats enable single-source publishing, where XML documents are converted into multiple deliverables suitable for print, web, or e-book distribution directly from transformation scenarios configured within the editor.[7] The tool integrates publishing engines such as the DITA Open Toolkit (DITA-OT) for DITA content, standard DocBook XSLT stylesheets for DocBook documents, and custom XSLT chains for flexible, single-source workflows across various XML frameworks.[62][63][64] For instance, DITA-OT processes maps to produce outputs like WebHelp or PDF, while DocBook transformations support HTML, EPUB, and PDF generation.[62][63] Advanced publishing capabilities include chunking to manage large documents by dividing them into modular sections for efficient processing and output, accessibility checks aligned with standards like Section 508, and mobile-responsive designs in WebHelp outputs that adapt to different devices.[62][65][49] These features ensure outputs are scalable, compliant, and user-friendly across platforms. Version 27.1 integrated DITA-OT 4.3.0, added custom logging control for DITA to PDF transformations, and supported viewer segments in Zendesk Help Center outputs.[11] Recent enhancements in version 27.1 (March 2025) include improved EPUB 3 validation and output support through updates to EPUBCheck integration to version 5.2.1. The AI Positron Assistant, introduced in version 26 (2023) with further enhancements in versions 27.0 (2024) and 27.1 (2025), supports content optimization tasks such as proofreading, structure improvement, generating alternate text for images, validation fixes, and MathML generation to enhance publishing readiness.[11][10] This AI assistance streamlines the preparation of content for final outputs like EPUB or PDF.[11]

Debugging and Development Tools

XSLT and XQuery Debugging

Oxygen XML Editor provides a robust debugging interface for XSLT stylesheets and XQuery documents, enabling developers to identify and resolve issues in transformations through interactive execution control.[66] The debugger supports step-by-step execution with controls for stepping into, over, or out of code blocks, running to a cursor or end, pausing, and stopping the process, all accessible via a dedicated control toolbar.[67] Breakpoints can be set directly in the editor margins on both source XML and stylesheet/query documents, including conditional breakpoints based on expressions, to halt execution at specific points.[66] Variable inspection is facilitated through a dedicated Variables view that displays current values, scopes, and updates dynamically during execution, while the Call Stack view allows navigation through the execution history for both source and transformation documents.[68] For XSLT debugging, the interface includes specialized visualizations for template matching, where the debugger highlights the selected template and displays a count of matching instances during execution.[66] Output preview is generated dynamically in the Results view, showing transformation results as XML or XHTML with real-time updates, and supports capturing multiple outputs from constructs like xsl:result-document.[69] Override detection is handled by allowing seamless stepping into imported or included stylesheets, ensuring visibility into modular code structures without losing context.[66] These features integrate with reusable transformation scenarios, allowing quick reconfiguration of debugging sessions from predefined setups.[69] XQuery debugging offers tailored support for language-specific constructs, including FLWOR expressions, where the debugger presents node sets and variable values in a tree view for contextual analysis.[68] Sequence tracing is provided via a Trace History view that logs entry and exit events for nodes and sequences, with clickable entries that highlight corresponding code in the editor.[66] Module import resolution is managed through the underlying Saxon processor, enabling breakpoints and stepping across imported modules while resolving dependencies automatically.[68] The dedicated XSLT and XQuery Debugger perspectives organize the workspace with synchronized views: the source XML, stylesheet or query document, and output results are displayed side-by-side, with the current execution node highlighted across all panels for immediate correlation.[70] Additional information views, such as Templates and Stack, provide supplementary details like active templates or instruction sequences, enhancing navigation and troubleshooting efficiency.[70]

Profiling and Performance Analysis

Oxygen XML Editor provides a built-in XSLT and XQuery Profiler to analyze the performance of stylesheet transformations and query executions, helping developers identify bottlenecks and optimize code for better scalability.[71] The profiler is integrated into the debugging perspective and can be enabled via a toggle button in the debugger's control toolbar before starting a transformation or query execution.[71] It supports various processors, including Saxon EE for XSLT 1.0, 2.0, and 3.0, as well as XQuery implementations, allowing for comprehensive tracking of instruction processing.[72] The profiler features two primary views for execution time tracking and hotspot identification: the Invocation Tree view and the Hotspots view. The Invocation Tree view presents a top-down hierarchy of stylesheet or query instructions, displaying the order of processing, total duration for each node, and breakdowns of time spent on child instructions, enabling users to trace the flow and pinpoint slow segments in the code.[71] In contrast, the Hotspots view focuses on inherent execution times by subtracting child instruction durations from totals, highlighting instructions that consume the most resources independently; it includes metrics such as invocation counts, average times, and percentage contributions to overall performance, which aids in prioritizing optimization efforts.[71] These views offer source code backmapping, linking profiled elements directly to the corresponding lines in the XSLT or XQuery document for quick navigation and analysis.[71] For optimization, the profiler's visual representations facilitate the identification of inefficient patterns, such as frequently invoked templates or complex XPath expressions, though it does not provide automated suggestions; developers can use the insights to manually refine code, potentially incorporating caching mechanisms in supported processors like Saxon EE.[72] Note that large transformations may trigger OutOfMemory errors, which can be mitigated by adjusting Java VM heap settings (e.g., via -Xmx options) to handle higher memory demands during profiling.[71] Profiling results can be exported as XML data or rendered HTML reports for further review and sharing; the HTML output applies a default XSLT stylesheet from the installation directory (frameworks/profiler/), which users can customize to tailor the presentation of metrics and visualizations.[71] This reporting capability supports post-execution analysis, often used in conjunction with debugging sessions to correlate performance data with runtime behavior.[71]

Integration and Extensibility

Version Control and Collaboration

Oxygen XML Editor provides built-in integration with Subversion (SVN) for version control, allowing users to browse repositories, synchronize working copies with the server, and commit changes directly from the interface.[73] The SVN client supports multiple repository protocols such as SVN, SVN+SSH, HTTP, and HTTPS, enabling checkout of resources and creation of branches or tags.[73] Although the SVN client is deprecated and no longer maintained, it remains available for legacy workflows.[74] For Git, Oxygen XML Editor offers an add-on that integrates a full Git client, including repository cloning, branch management, and staging views for commits.[75] Users can browse local and remote branches via the Git Branch Manager view, stage changes in the Git Staging view, and perform commits with diff previews using the built-in Compare Files tool.[75] Blame annotation is supported through a contextual menu action that highlights revisions per line in the editor, Project view, or DITA Maps Manager.[75] Merge conflict resolution is handled via three-way diffs comparing local, remote, and base revisions, with options to resolve using "mine" or "theirs" and mark as resolved.[75] The History view in Oxygen XML Editor displays revision details for versioned files or directories, including revision numbers, dates, authors, commit messages, and modified resource trees, accessible from repository or working copy views.[76] Revisions can be grouped by date ranges such as today or this week for easier navigation.[76] For SVN, the Revision Graph provides a visual tree representation of a resource's history, showing nodes for additions (green), modifications (blue), deletions (red), and other changes, with tooltips for details and options to compare revisions or save graphs as images.[77] Git integration includes a dedicated Git History view with a revision graph illustrating commit connections, change sets, and actions like merging or cherry-picking.[75] File comparisons support three-way diffs for merges, and the Directory Change Set view highlights added, modified, or deleted resources across revisions.[75] Collaboration features in Oxygen XML Editor include shareable validation and transformation scenarios, which can be saved at the project level or exported to dedicated files for distribution to team members.[78] This allows consistent application of rules across workflows without reconfiguration.[78] For broader team review, Oxygen integrates with Oxygen Content Fusion, a web-based platform for XML document sharing and collaborative editing.[79] In version 27.1 (released March 2025), the DITA Maps Manager gained enhanced history tracking for Git resources, adding contextual menu actions to show resource history in the Git History view and display blame annotations directly.[11] Plugins are available for additional version control systems.[80]

Plugins, Add-ons, and Customization

Oxygen XML Editor features an extensible architecture that allows users and developers to enhance its functionality through plugins and customizations. The plugin framework is primarily Java-based, providing an API for creating custom actions, views, and validators to tailor the editor to specific workflows. This includes the Workspace Access plugin type, which enables contributions to menus, toolbars, document modifications, and event listeners, supported by the Maven-based Oxygen XML SDK with sample plugins available on GitHub. JavaScript-based plugins are also supported for certain extensions, such as contributing actions to the main menu and toolbars or interacting with the editor's workspace. Plugins can be installed manually by placing them in the editor's plugins directory or automatically via the built-in marketplace accessed through Help > Install new add-ons.[81][82][83] Among key add-ons, the Oxygen AI Positron Assistant, introduced in version 26.0 in 2023, integrates artificial intelligence capabilities to assist with code suggestions, refactoring, and generating content for technical documentation using platforms like OpenAI ChatGPT. This add-on supports actions such as creating new DITA topics, adding structured content, and generating documentation outlines directly within the editor. Another notable add-on is Schematron Quick Fixes, an extension of the Schematron validation language that defines automated fixes for validation errors, allowing users to resolve issues like missing attributes or elements directly from error messages in the editor. These fixes can be embedded in XML Schemas or RELAX NG through annotations, streamlining compliance with custom validation rules.[13][84][85][86] Customization options in Oxygen XML Editor enable users to personalize the interface and editing experience without developing full plugins. Users can define custom toolbars by configuring which actions to display or hide through the Options > Preferences dialog, allowing for streamlined access to frequently used tools. In the Author editing mode, custom CSS stylesheets can be applied to define visual presentations for XML elements, such as styling paragraphs or tables to match branding or readability needs. For repetitive tasks, while a dedicated macro recorder is not available, users can leverage code templates configurable via the Editor > Code templates preferences page to automate insertions of structured XML snippets. Examples of plugins include version control system integrations like the Git Client add-on, which extend the editor's capabilities for source management.[87][88][89][90] The editor also supports integration with XML databases through dedicated perspectives, facilitating direct interaction with native XML stores. The Database perspective provides tools for browsing collections, executing XQuery or SQL queries, and managing resources in databases like eXist-db, which is configured via a built-in wizard or manual data source setup for multiple server connections and WebDAV editing. Similarly, MarkLogic integration, though deprecated in recent versions, offers XQuery execution, debugging, and resource management through configurable connections using the vendor's driver. These perspectives enhance Oxygen's utility for developers working with large-scale XML repositories.[91][92][93][94]

Licensing and Availability

Product Editions

Oxygen XML Editor is available in multiple editions designed to accommodate varying user requirements, from comprehensive development tools to specialized authoring interfaces. The primary variants include the full-featured Oxygen XML Editor, the WYSIWYG-oriented Oxygen XML Author, the enterprise-focused Oxygen XML Developer, the separate Oxygen JSON Editor for JSON handling, and the browser-based Oxygen Web Author for collaborative editing.[3] The Oxygen XML Editor serves as the flagship edition, offering a complete suite for XML development and authoring. It includes all editing views—such as Text, Grid, and Author—along with advanced debugging for XSLT and XQuery, transformation scenarios for outputs like PDF and HTML, schema-aware content completion, and integration with databases and content management systems. Targeted at developers and technical users, this edition supports extensible frameworks for standards like DITA and DocBook, enabling intelligent validation and collaboration features such as version tracking and file comparison. Available in Enterprise, Professional, Academic, and Personal variants.[2][3] In contrast, the Oxygen XML Author edition emphasizes visual, WYSIWYG editing for content creators who prioritize ease of use over code-level manipulation. It focuses on the Author view for structured XML authoring, one-click publishing to formats including ePUB and WebHelp, and connectivity to CMS platforms, while omitting advanced debugging and profiling tools present in the full Editor. This variant is ideal for technical writers and documentation teams working with XML frameworks, providing content assistance and collaboration without requiring deep programming knowledge. Available in Enterprise and Professional variants.[95][3] The Oxygen XML Developer edition caters to enterprise environments, building on core XML tools with enhanced API access for custom framework development and options for server-based deployment. It includes specialized editors for Schemas, RelaxNG, and WSDL, along with robust XSLT/XQuery support, refactoring capabilities, and web services analysis, making it suitable for programmers and organizations needing scalable XML solutions. Unlike the Author edition, it prioritizes technical depth over visual authoring. Available in Enterprise and Professional variants.[96][3] The Oxygen JSON Editor functions as a lightweight, separate option within the Oxygen suite, offering text, grid, and author modes for JSON handling, including schema validation and structure visualization. Available only in standalone form as a Professional edition, it integrates seamlessly with the broader XML ecosystem for users dealing with hybrid XML-JSON workflows.[45][3] The Oxygen Web Author edition provides browser-based XML editing and collaboration, focusing on visual authoring with support for frameworks like DITA, real-time collaboration, and integration with CMS systems. It is designed for teams needing web-accessible tools without local installation, available as a Professional edition.[97][3] Most editions support deployment as standalone applications or plugins for Eclipse, though the Oxygen JSON Editor is standalone only and Oxygen Web Author is browser-based only, with shared licensing models across variants to facilitate upgrades and feature access.[3]

Pricing and Support Models

Oxygen XML Editor is available under flexible licensing models that include both perpetual licenses and annual subscriptions, catering to individual developers, teams, and enterprises. Perpetual licenses come bundled with a one- or two-year Support and Maintenance Pack (SMP), which provides access to software updates, bug fixes, and technical support during that period.[98][99] Annual subscriptions, billed upfront, offer ongoing access to the latest versions without an initial perpetual fee, with renewal options to maintain support and updates.[98] These models apply uniformly across the product's editions, including Professional, Enterprise, and Academic. Personal editions are perpetual licenses for individual, non-reimbursed use.[99] Subscriptions for the Professional edition start at €34 per user per month (billed annually), scaling to €53 per user per month for Enterprise editions as of November 2025, while perpetual licenses with one-year SMP range from €458 to €1,465 depending on the edition and license type (named-user or floating).[98] Volume discounts are offered for enterprise purchases, providing up to 15% off for five or more licenses of the same type.[99] A 30-day free trial with full feature access is available upon online registration, allowing users to evaluate the software without commitment.[99] Additionally, academic and non-commercial licenses are provided for educational institutions and research purposes, restricted to non-profit use and public-domain outputs.[99] Support services are included with all licenses, featuring standard email-based assistance for general inquiries.[100] Users with an active SMP receive priority technical support via email and web submissions, with guaranteed response times based on issue severity: 4 hours for critical problems, 1 business day for high-priority issues, 3 days for normal cases, and 5 days for low-priority ones, though these targets apply during business hours and are not absolute SLAs.[101] Enterprise customers can escalate unresolved issues through dedicated channels, but no distinct phone support or formal SLA tiers beyond SMP priority are specified.[101] SMP renewals, available for one or two years, cost between €42 and €995 depending on the edition and duration.[98] The updates policy ensures free access to all minor version releases and maintenance updates while an SMP or subscription is active; major version upgrades, however, require purchasing a new license, renewing the SMP, or maintaining an active subscription.[99] This structure supports long-term usability while encouraging ongoing maintenance for security and feature enhancements.[16]

References

User Avatar
No comments yet.