The
Oxygen XML Editor is a multi-platform
XML editorAn XML editor is a markup language editor with added functionality to facilitate the editing of XML. This can be done using a plain text editor, with all the code visible, but XML editors have added facilities like tag completion and menus and buttons for tasks that are common in XML editing, based...
,
XSLTXSLT is a declarative, XML-based language used for the transformation of XML documents. The original document is not changed; rather, a new document is created based on the content of an existing one. The new document may be serialized by the processor in standard XML syntax or in another format,...
/
XQuery- Features :XQuery provides the means to extract and manipulate data from XML documents or any data source that can be viewed as XML, such as relational databases or office documents....
debugger and profiler with
UnicodeUnicode is a computing industry standard for the consistent encoding, representation and handling of text expressed in most of the world's writing systems...
support. It is a
JavaJava is a programming language originally developed by James Gosling at Sun Microsystems and released in 1995 as a core component of Sun Microsystems' Java platform. The language derives much of its syntax from C and C++ but has a simpler object model and fewer low-level facilities...
application, so it can run in
WindowsMicrosoft Windows is a series of operating systems produced by Microsoft.Microsoft introduced an operating environment named Windows on November 20, 1985 as an add-on to MS-DOS in response to the growing interest in graphical user interfaces . Microsoft Windows came to dominate the world's personal...
,
Mac OS XMac OS X is a series of Unix-based operating systems and graphical user interfaces developed, marketed, and sold by Apple Inc. Since 2002, has been included with all new Macintosh computer systems...
, and
LinuxLinux is a Unix-like computer operating system assembled under the model of free and open source software development and distribution. The defining component of any Linux system is the Linux kernel, an operating system kernel first released October 5, 1991 by Linus Torvalds...
. It also has a version that can run as an
EclipseEclipse is a multi-language software development environment comprising an integrated development environment and an extensible plug-in system...
plugin.
XML editing features
Oxygen XML offers a number of features for editing XML documents. Documents can be checked for proper XML form. They can also be validated against a schema. For validation purposes, the documents can be validated against
DTDDocument Type Definition is a set of markup declarations that define a document type for SGML-family markup languages...
, W3C XML Schema,
RELAX NGIn computing, RELAX NG is a schema language for XML, based on Murata Makoto's RELAX and James Clark's TREX. A RELAX NG schema specifies a pattern for the structure and content of an XML document...
,
SchematronIn markup languages, Schematron is a rule-based validation language for making assertions about the presence or absence of patterns in XML trees...
,
NRLIn its simplest form, a Namespace Routing Language schema consists of a mapping from namespace URIs to schema URIs. An NRL schema is written in XML.DSDL Part 4 , NVDL is based on NRL.- External links :**...
and
NVDLNamespace-based Validation Dispatching Language is an XML schema language for validating XML documents that integrate with multiple namespaces. It is an ISO/IEC standard, and it is Part 4 of the DSDL schema specification. Much of the work on NVDL is based on the older Namespace Routing Language.-...
schemas. The editor can also validate the XML as it is entered. For additional schema types, a validation scenario can be generated, which allows oXygen to call out to 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 specifies one.
Oxygen XML comes with schemas for popular XML formats including
DocBookDocBook is a 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 documentation....
(versions 4.0 and 5.0),
TEIThe Text Encoding Initiative is a text-centric community of practice in the academic field of digital humanities. The community runs a mailing list, meetings and conference series, and maintains a technical standard, a wiki and a toolset....
format, and
XHTMLXHTML is a family of XML markup languages that mirror or extend versions of the widely-used Hypertext Markup Language , the language in which web pages are written....
.
The program is aware of
XIncludeXInclude is a generic mechanism for merging XML documents, by writing inclusion tags in the "main" document to automatically include other documents or parts thereof. The resulting document becomes a single composite XML Information Set...
, 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 schemaAn 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...
, Oxygen XML offers
tag completionWord completion is a common feature in web browsers and similar text entry contexts. When a user begins the entry of a frequently-used word, the computer automatically completes it, or proposes a list of choices....
. Oxygen XML can use a number of XML schema languages, including
DTDDocument Type Definition is a set of markup declarations that define a document type for SGML-family markup languages...
, W3C XML Schema,
RELAX NGIn computing, RELAX NG is a schema language for XML, based on Murata Makoto's RELAX and James Clark's TREX. A RELAX NG schema specifies a pattern for the structure and content of an XML document...
(both compact and full). Both W3C XML Schema and RELAX NG schemas can include embedded Schematron rules. It also can use the
NRLIn its simplest form, a Namespace Routing Language schema consists of a mapping from namespace URIs to schema URIs. An NRL schema is written in XML.DSDL Part 4 , NVDL is based on NRL.- External links :**...
and
NVDLNamespace-based Validation Dispatching Language is an XML schema language for validating XML documents that integrate with multiple namespaces. It is an ISO/IEC standard, and it is Part 4 of the DSDL schema specification. Much of the work on NVDL is based on the older Namespace Routing Language.-...
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
tooltipThe tooltip or infotip is a common graphical user interface element. It is used in conjunction with a cursor, usually a mouse pointer. The user hovers the cursor over an item, without clicking it, and a tooltip may appear—a small "hover box" with information about the item being hovered...
s for the elements that those annotations apply to.
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 as to which schemas to use.
For documents that do not have a schema, Oxygen can analyze the structure of the document and generate a schema.
Grid view
The grid view shows the XML document in a
spreadsheetA spreadsheet is a computer application that simulates a paper accounting worksheet. It displays multiple cells usually in a two-dimensional matrix or grid consisting of rows and columns. Each cell contains alphanumeric text, numeric values or formulas...
-like fashion. The left-most column shows the elements, including comments and processing instructions, at the root level. 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 all 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 useful for certain XML formats that resemble spreadsheets.
With the exception of 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, the author view provides a
WYSIWYMWYSIWYM is an acronym for What You See Is What You Mean, and refers to a paradigm for document editing...
view of the XML document. This view is based on providing a
CSS-Computing:*Cascading Style Sheets, a language used to describe the style of document presentations in web development*Central Structure Store in the PHIGS 3D API*Closed source software, software that is not distributed with source code...
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 formats like DITA, DocBook, and TEI.
XML tags and attributes in this view can be completely disabled or can be shown in various combinations.
Editing in this view is an intermediate step between true
WYSIWYGWYSIWYG is an acronym for What You See Is What You Get. The term is used in computing to describe a system in which content displayed onscreen during editing appears in a form closely corresponding to its appearance when printed or displayed as a finished product...
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 tool-tip 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 shows 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 set to be non-visible, an indication for an empty element is always displayed using that element's name.
Attributes on XML elements cannot directly be edited. However, Oxygen XML does have an attribute panel that, when content completion information is available, can be used to both see and set the value of attributes on the current element.
Editing of specialized XML formats
Though Oxygen XML can edit any XML document, providing content completion for documents with a schema binding, it is able to recognize certain XML documents innately.
Oxygen XML provides schema editing features for both W3C XML Schema and RELAX NG's XML form. It offers visual editing support for both, as well as schema-less syntax highlighting and content completion.
Oxygen XML offers support for
XSLTXSLT is a declarative, XML-based language used for the transformation of XML documents. The original document is not changed; rather, a new document is created based on the content of an existing one. The new document may be serialized by the processor in standard XML syntax or in another format,...
documents, both version 1.0 (with
EXSLTEXSLT is a community initiative to provide extensions to XSLT, which are broken down into a number of modules, listed below.The creators of EXSLT aim to encourage the implementers of XSLT processors to use these extensions, in order to increase the portability of stylesheets.Downloadable packages...
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
XPathXPath is a language for selecting nodes from an XML document. In addition, XPath may be used to compute values from the content of an XML document...
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 visual editing features for it.
Editing of non-XML files
Though Oxygen XML is primarily an XML editor, it does come with the ability to edit a number of non-XML textual formats. It has syntax completion for DTD, RELAX NG's compact format,
XQuery- Features :XQuery provides the means to extract and manipulate data from XML documents or any data source that can be viewed as XML, such as relational databases or office documents....
,
CSS-Computing:*Cascading Style Sheets, a language used to describe the style of document presentations in web development*Central Structure Store in the PHIGS 3D API*Closed source software, software that is not distributed with source code...
and regular
HTMLHyperText Markup Language is the predominant markup language for web pages. HTML elements are the basic building-blocks of webpages....
. It also provides basic syntax highlighting support for a number of common web scripting languages to a degree, such as
PythonPython is a general-purpose, high-level programming language whose design philosophy emphasizes code readability. Python claims to "[combine] remarkable power with very clear syntax", and its standard library is large and comprehensive...
,
PerlPerl is a high-level, general-purpose, interpreted, dynamic programming language. Perl was originally developed by Larry Wall in 1987 as a general-purpose Unix scripting language to make report processing easier. Since then, it has undergone many changes and revisions and become widely popular...
, and
JavaScriptJavaScript is a prototype-based scripting language that is dynamic, weakly typed and has first-class functions. It is a multi-paradigm language, supporting object-oriented, imperative, and functional programming styles....
, among others.
Document transformation
XSLT-based document transformation is a common operation on XML files, and Oxygen XML provides support for these operations. It allows the user to define a transformation scenario which specifies that a particular XSLT file will be applied to the current XML document. Transformation scenarios are aware of all of the parameters of the XSLT file in question and provides for visual editing of those parameters for a particular scenario.
Additionally, the results of the transformation scenario can be piped through an XSL-FO processor, whether the packed-in FOP processor or another one that was set up to be used. Command line parameters can be added as part of the scenario.
The final output filename, path and extension can be specified for a transform scenario.
Transform scenarios can be local to a particular Oxygen XML project workspace or global to all projects. Oxygen XML comes with a number of standard global transform scenarios for common tasks, like transforming DocBook documents into HTML, PDF through XSL-FO and FOP, and so on. It also comes with a recent version of the
DocBook XSLThe DocBook XSL stylesheets are a set of XSLT stylesheets for the XML-based DocBook language.- Purpose :DocBook is a semantic markup language. That is, it specifies the meaning of the elements in a document, not how they are intended to be presented to the end user. It provides separation between...
XSLT transformation suite. Oxygen XML comes with
DITA Open ToolkitThe DITA Open Toolkit, or dita-ot, is an open-source publishing system for publishing DITA content to multiple formats. It was developed by IBM, and released as a public standard in 2001, along with DITA.The dita-ot reference implementation uses Ant and Java....
, which allows publishing entire DITA document structure to different output formats, including PDF, WebHelp, and
EPUBEPUB is a free and open e-book standard by the International Digital Publishing Forum...
.
XSLT debugger
Oxygen XML provides comprehensive debugging facilities for XSLTs. It offers features comparable to source code debuggers like
gdbThe GNU Debugger, usually called just GDB and named gdb as an executable file, is the standard debugger for the GNU software system. It is a portable debugger that runs on many Unix-like systems and works for many programming languages, including Ada, C, C++, Objective-C, Free Pascal, Fortran, Java...
. This includes breakpoints, the ability to look at the current context and "memory", single-stepping through the XSLT, and so forth. It can debug both XSLT version 1.0 and 2.0.
Other products
As of version 9.2, a smaller version of the Editor is available, called
Oxygen XML Author. Author is centered around general XML document editing. It does not provide full XSLT editing and debugging support or schema editing support, among other missing features.
Licensing
The Oxygen license is "Named User"-based so one purchased license entitles the named user to install and use any distribution of Oxygen on any platform as long as the named user will use that license.
External links