Oxygen XML Editor
The Premier All-In-One XML Editing Suite
Oxygen XML Author
Single-Source XML Authoring and Multi-Channel Publishing
Oxygen XML Developer
The Required Tools for Designing XML Schemas and Transformation Pipelines
Oxygen JSON Editor
The Perfect Tool to Simplify Your JSON Editing Experience
Oxygen Publishing Engine
The Complete DITA Publishing Solution for WebHelp and PDF Output
Oxygen PDF Chemistry
Chemistry Converts HTML and XML to PDF Using CSS
Oxygen XML WebHelp
Publish DITA and DocBook Content to WebHelp Output
Oxygen Styles Basket
Customize the Look and Feel of Your PDF and WebHelp Output
Oxygen XML Web Author
Engage Your Whole Organization In Content Creation
Oxygen Content Fusion
The Web-based Collaboration Platform to Craft Tomorrow's Content
Oxygen Feedback
Modern Commenting Platform
Cloud
Enterprise
Oxygen AI Positron
Enhance Your Productivity with the Power of AI
Oxygen Scripting
Automate and Run Oxygen Utilities from the Command-Line Interface
Oxygen SDK
Specifically designed for application developers and integrators
Shop
Pricing and licensing for businesses, Academic and individuals
A "Well-Formed" XML document means that it has a correct XML syntax. The Check Well-Formedness action checks that your document conforms to the XML syntax rules.
A valid XML document is "Well-Formed", and also conforms to the rules of a Document Type Definition (DTD) , XML Schema, or other type of schema that defines the structure of an XML document.
When creating XML documents, errors can be introduced. Working with large projects or a vast number of files increases the probability that errors will occur. Identifying and resolving errors in your project can be time consuming and frustrating. Fortunately, Oxygen provides functions that make error identification fast and easy.
Oxygen integrates the latest version of the Xerces-J XML parser to validate documents against XML Schemas. Xerces is widely considered the best open-source XML parser and is used in many enterprise servers.
The Oxygen Validation Scenarios are very powerful and solve numerous important issues when working with XML markup and XML-related technologies. They also allow you to work with modules and perform multiple validations with one action.
By default, the validation of a document is done by using a processor (XML parser, XSLT transformer, XQuery engine, etc.) to analyze the current file. The validation scenario allows you to specify a set of files to validate, the processor to use for each file, and whether or not to perform continuous validation. When working with a module, you can perform the validation on the Main File (the file that references that module) and you can also perform multiple validations on various files or with various processors.
Suppose that you are working with a large XML document that you decide to split into multiple files and use external entities to merge those files into a main document. If you edit one of those files then you would want to check that the main document is valid. Oxygen Validation Scenarios allow you to validate the main document instead of only validating the current file. Thus, the current file is validated in the context of its Main File.
XSLT stylesheets, as is the case with many other XML-related technologies (XQuery, Relax NG, etc.), can be invalid by themselves, yet valid in the context of being imported or included in other files. For instance, you can have an XSLT stylesheet that makes a reference to a named template or variable that is not defined in the current file, but it is defined in the Main File that includes the XSLT stylesheet. In this case, if you validate the XSLT module by itself, you will get an error that no template or variable exists with that name. However, you can use custom validation scenarios in Oxygen to validate the main XSLT stylesheet that includes this module and there will be no such error.
Some XML technologies are complicated, as is the case with XML Schema or XSLT processors. When you edit documents that are intended to be public or should work no matter what engine is used, it is best to check them against all engines they will be used with. The Oxygen Validation Scenarios allow you to specify multiple validations to be performed and which engine to use for each validation. For example, when editing a schema, there are 6 XML Schema processors that Oxygen supports and others can also be added as external processors. Oxygen validates your schema against all of the processors in one action. Therefore, you can easily check to see that your schema will work no matter what processor is used.
Suppose that you have a set of XML instance documents and you want to change their schema while ensuring that they are still valid. The Oxygen Validation Scenarios allow you to configure multiple validations (on each instance document and on the schema file) and is performed in a single action. This allows you to make sure that the schema is valid and your instance documents are valid against the updated schema.
When you work with modules, it is also common to re-use them in various contexts (main files). Oxygen allows you to validate a module in all the contexts from which it is used since the validation scenarios allow you to set multiple files for validation. Therefore, you can specify all the main files that use the module, and in a single action, check that the module is valid in all its contexts.
Oxygen can be configured to continuously report validation errors in an edited document as you modify it. By selecting the Enable automatic validation option, validation errors will automatically be displayed as you type, after a configurable delay.
At the bottom of the editing area, a message is displayed that describes the error that is closest to the cursor position.
The location of errors, including those that are generated by continuous validation, are marked in-place with an underline. The error locations are also marked in red on the right side of the editing view, in an overview ruler that allows you to quickly navigate between the errors.
Oxygen has built-in support for various external validation engines, including Xerces, LIBXML, XSV, Saxon SA, MSXML4.0, MSXML .NET and SQC.
In addition to these engines that are pre-configured, you can also add your own custom validation engine.
Oxygen can validate XML documents using Schematron schemas, XML Schemas, or Relax NG schemas that contain embedded Schematron rules. Editing and validation support is also included for Schematron schemas.
For validation, Oxygen uses the Skeleton XSLT processor that is Schematron 1.5 compliant.
For schemas that define various validation phases, Oxygen automatically shows a dialog box where the validation phase can be selected.
Oxygen also includes support for Schematron Quick Fixes and ISO Schematron.
Schematron Quick Fixes (SQF) help you resolve errors that appear in XML documents that are validated against Schematron schemas by offering you solution proposals. The Schematron Quick Fixes are an extension of the Schematron language and they allow you to define fixes for Schematron error messages. You can customize Schematron Quick Fixes by editing them directly in a Schematron file or in a separate file.
Oxygen has a Schematron editor that analyzes the namespace and automatically detects if the edited Schematron schema is ISO Schematron. It offers continuous validation as well as a Content Completion Assistant with suggestions for the ISO Schematron elements, attributes, and values.
When editing XML Schemas, Oxygen offers proposals, using the Content Completion Assistant, inside xs:annotation and xs:appinfo ISO Schematron. This makes Schematron embedded rules easier to edit.
Oxygen supports validation against ISO Schematron schemas, including validation on request, continuous validation, and batch validation.
ISO Schematron rules can be embedded in other schemas. Oxygen offers validation against ISO Schematron rules embedded in Relax NG schemas or XML Schema.
Oxygen also supports ISO Schematron schemas that contain abstract patterns or references to other ISO Schematron files through sch:include.
The diagnostics messages reported by Schematron schema are displayed along with other validation errors. Schematron report messages are displayed as warnings.
XPath 2.0 checks, used in an ISO Schematron schema or Schematron 1.5 schema, can optionally be executed with Saxon EE, instead of Saxon B, in order to access the schema-aware features of Saxon EE. The Saxon EE processor is an extension of the Saxon B processor and is bundled with the Oxygen software packages.
An XML Catalog defines mappings between schema locations and local copies of the schema documents. For example, default DocBook documents use the DTDs that are located on the Oasis website. This means that each validation will take time since the DTDs need to be downloaded each time. To speed up this process, Oxygen uses several catalogs for its default frameworks that are set up automatically the first time you run the application.
The catalog list can be managed from the XML Catalog preferences page, as seen below.
The lack of support for external entities is a known weakness of XML Schema. There are documents that reference a schema but also contain a DTD declaration that allows external entities to be defined. Oxygen allows XML schema and external entities to co-exist since you can configure the validation to be performed against the specified XML schema even if a DTD is also specified.
You can use Oxygen to validate an XML document instance against a specified DTD.
With Oxygen, you can easily validate documents against Relax NG (in both XML syntax and compact syntax) and Namespace Routing Language (NRL) schemas.
Multiple files that are currently selected in the Project view can be validated against a schema file with a single action from the toolbar or contextual menu. The supported schemas include XML Schema, Relax NG, NVDL, Schematron, or XML Schema/Relax NG schema with embedded Schematron rules. This makes it easy to group the files in your project and validate them as a batch.
The following image shows the dialog box for choosing a validation schema.
Errors are reported in an informational pane, indicating the severity of the problem, location information (line number, file path), and a descriptive message. You can track document errors by simply double-clicking the error in the Errors pane. The editor opens the corresponding file and jump to and highlights the location of the error.
Oxygen allows you to control some of the parser settings used for validation. The XML Parser features can be configured from the XML Parser preferences page.
You can use the Associate Schema action to open a wizard that allows you to associate a schema with a document.
This modifies the document so that it contains the declared schema location.