The Oxygen XML Editor (styled ''<oXygen/>'') is a multi-platform
XML editor,
XSLT
XSLT (Extensible Stylesheet Language Transformations) is a language originally designed for transforming XML documents into other XML documents, or other formats such as HTML for web pages, plain text, or XSL Formatting Objects. These formats c ...
/
XQuery debugger and profiler with
Unicode
Unicode or ''The Unicode Standard'' or TUS is a character encoding standard maintained by the Unicode Consortium designed to support the use of text in all of the world's writing systems that can be digitized. Version 16.0 defines 154,998 Char ...
support. It is a
Java
Java is one of the Greater Sunda Islands in Indonesia. It is bordered by the Indian Ocean to the south and the Java Sea (a part of Pacific Ocean) to the north. With a population of 156.9 million people (including Madura) in mid 2024, proje ...
application so it can run in
Windows
Windows is a Product lining, product line of Proprietary software, proprietary graphical user interface, graphical operating systems developed and marketed by Microsoft. It is grouped into families and subfamilies that cater to particular sec ...
,
Mac OS X
macOS, previously OS X and originally Mac OS X, is a Unix, Unix-based operating system developed and marketed by Apple Inc., Apple since 2001. It is the current operating system for Apple's Mac (computer), Mac computers. With ...
, and
Linux
Linux ( ) is a family of open source Unix-like operating systems based on the Linux kernel, an kernel (operating system), operating system kernel first released on September 17, 1991, by Linus Torvalds. Linux is typically package manager, pac ...
.
It also has a version that can run as an
Eclipse
An eclipse is an astronomical event which occurs when an astronomical object or spacecraft is temporarily obscured, by passing into the shadow of another body or by having another body pass between it and the viewer. This alignment of three ...
plugin.
Release cycle
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.
XML editing features
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
DocBook is a Semantics (computer science), semantic markup language for technical documentation. It was originally intended for writing technical documents related to computer hardware and software, but it can be used for any other sort of docume ...
(versions 4.0 and 5.0),
TEI format,
XSLT
XSLT (Extensible Stylesheet Language Transformations) is a language originally designed for transforming XML documents into other XML documents, or other formats such as HTML for web pages, plain text, or XSL Formatting Objects. These formats c ...
(versions 1.0, 2.0 and 3.0),
DITA,
XHTML
Extensible HyperText Markup Language (XHTML) is part of the family of XML markup languages which mirrors or extends versions of the widely used HyperText Markup Language (HTML), the language in which Web pages are formulated.
While HTML, pr ...
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
Emacs (), originally named EMACS (an acronym for "Editor Macros"), is a family of text editors that are characterized by their extensibility. The manual for the most widely used variant, GNU Emacs, describes it as "the extensible, customizable, s ...
and its ability to edit itself while implementing the
Lisp
Lisp (historically LISP, an abbreviation of "list processing") is a family of programming languages with a long history and a distinctive, fully parenthesized Polish notation#Explanation, prefix notation.
Originally specified in the late 1950s, ...
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
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
An XML schema is a description of a type of XML document, typically expressed in terms of constraints on the structure and content of documents of that type, above and beyond the basic syntactical constraints imposed by XML itself. These constrai ...
, 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
tooltip
The tooltip, also known as infotip or hint, is a common graphical user interface (GUI) element in which, when hoverbox, hovering over a screen element or component, a text box displays information about that element, such as a description of a ...
s 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
The grid view shows the XML document in a
spreadsheet
A spreadsheet is a computer application for computation, organization, analysis and storage of data in tabular form. Spreadsheets were developed as computerized analogs of paper accounting worksheets. The program operates on data entered in c ...
-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
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.
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
In computing, WYSIWYG ( ), an acronym for what you see is what you get, refers to software that allows content to be edited in a form that resembles its appearance when printed or displayed as a finished product, such as a printed document, web ...
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
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
XSLT (Extensible Stylesheet Language Transformations) is a language originally designed for transforming XML documents into other XML documents, or other formats such as HTML for web pages, plain text, or XSL Formatting Objects. These formats c ...
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
XPath (XML Path Language) is an expression language designed to support the query or transformation of XML documents. It was defined by the World Wide Web Consortium (W3C) in 1999, and can be used to compute values (e.g., strings, numbers, or ...
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
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
Hypertext Markup Language (HTML) is the standard markup language for documents designed to be displayed in a web browser. It defines the content and structure of web content. It is often assisted by technologies such as Cascading Style Sheets ( ...
. It also provides basic syntax highlighting support for several common web scripting languages to a degree, such as
Python,
Perl
Perl is a high-level, general-purpose, interpreted, dynamic programming language. Though Perl is not officially an acronym, there are various backronyms in use, including "Practical Extraction and Reporting Language".
Perl was developed ...
, and
JavaScript
JavaScript (), often abbreviated as JS, is a programming language and core technology of the World Wide Web, alongside HTML and CSS. Ninety-nine percent of websites use JavaScript on the client side for webpage behavior.
Web browsers have ...
, among others.
Document transformation
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
EPUB is an e-book file format that uses the ".epub" file extension. The term is short for ''electronic publication'' and is sometimes stylized as ''ePUB''. EPUB is supported by many e-readers, and compatible software is available for most smart ...
.
XSLT debugger
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
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.
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.
Commercial licenses are available in a Professional stream and an Enterprise stream for both the author-only edition and the full Editor edition. 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
MySQL () is an Open-source software, open-source relational database management system (RDBMS). Its name is a combination of "My", the name of co-founder Michael Widenius's daughter My, and "SQL", the acronym for Structured Query Language. A rel ...
,
PostgreSQL
PostgreSQL ( ) also known as Postgres, is a free and open-source software, free and open-source relational database management system (RDBMS) emphasizing extensibility and SQL compliance. PostgreSQL features transaction processing, transactions ...
,
JDBC
Java Database Connectivity (JDBC) is an application programming interface (API) for the Java (programming language), Java programming language which defines how a client may access a database. It is a Java-based data access technology used for Java ...
connections and generating an XML schema from a relational database structure.
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.
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.
support and maintenance FAQ section (retrieved 20/12/2015).
See also
* Comparison of XML editors
* Comparison of HTML editors
* Office Open XML software
References
External links
*
Oxygen XML Editor download page
(PDF and webhelp links)
Company Web Site
description of Oxygen XML Editor
(German)
{{DEFAULTSORT:Oxygen Xml Editor
XML editors
HTML editors