Oxygen XML Editor
Encyclopedia
The Oxygen XML Editor is a multi-platform XML editor
XML editor
An 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...

, XSLT
XSLT
XSLT 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
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 Unicode
Unicode
Unicode 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 Java
Java (programming language)
Java 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 Windows
Microsoft Windows
Microsoft 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 X
Mac OS X
Mac 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 Linux
Linux
Linux 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 Eclipse
Eclipse (software)
Eclipse 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 DTD
Document Type Definition
Document Type Definition is a set of markup declarations that define a document type for SGML-family markup languages...

, W3C XML Schema, RELAX NG
RELAX NG
In 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...

, Schematron
Schematron
In markup languages, Schematron is a rule-based validation language for making assertions about the presence or absence of patterns in XML trees...

, NRL
Namespace Routing Language
In 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 NVDL
Namespace-based Validation Dispatching Language
Namespace-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 DocBook
DocBook
DocBook 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), TEI
Text Encoding Initiative
The 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 XHTML
XHTML
XHTML 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 XInclude
XInclude
XInclude 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 schema
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...

, Oxygen XML offers tag completion
Word completion
Word 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 DTD
Document Type Definition
Document Type Definition is a set of markup declarations that define a document type for SGML-family markup languages...

, W3C XML Schema, RELAX NG
RELAX NG
In 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 NRL
Namespace Routing Language
In 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 NVDL
Namespace-based Validation Dispatching Language
Namespace-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 tooltip
Tooltip
The 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 spreadsheet
Spreadsheet
A 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 WYSIWYM
WYSIWYM
WYSIWYM 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
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 WYSIWYG
WYSIWYG
WYSIWYG 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 XSLT
XSLT
XSLT 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 EXSLT
EXSLT
EXSLT 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 XPath
XPath
XPath 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
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
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 HTML
HTML
HyperText 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 Python
Python (programming language)
Python 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...

, Perl
Perl
Perl 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 JavaScript
JavaScript
JavaScript 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 XSL
DocBook XSL
The 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 Toolkit
DITA Open Toolkit
The 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 EPUB
EPUB
EPUB 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 gdb
GNU Debugger
The 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

The source of this article is wikipedia, the free encyclopedia.  The text of this article is licensed under the GFDL.
 
x
OK