Oxygen XML Editor 4
April 30, 2004
Debugging Perspective
Provides a special layout when entering in debugging mode to show the source
and the stylesheet documents side by side and to show also the results and special
debugging views.
Multiple XSLT engine Support for Debugging
Debugging can be done using Saxon 6.5.5 or Xalan 2.5.1 transformation
engines
Full Control over the Debugging Process
All debugger capabilities are provided (step into, step over, step out, run,
run to cursor, run to end, pause, stop).
Pause the Debugger Execution with Breakpoints
Breakpoints can be set on both XML or XSL documents used in the
transformation.
Call Stack Debugger View
The current stack containing both stylesheet and source nodes can be seen at
any time during debugging. The advantage of this approach is that the source scope on
which a stylesheet instruction is being executed (the last red colored node on the stack)
is easily visible.
Trace History Debugger View
Entering and leaving node events are logged and made available in a view to
show the history of the processor execution.
XPath Watch Debugger View
XPath expressions are evaluated automatically during debugging. The debugger
will update their values dynamically as the processor changes its source context.
Debugger Support for Imported/Included Stylesheets and for XML Entities
Once a node from an XML entity or an imported/included stylesheet is processed
by the transformation engine, will open that resource in order to highlight the current
node location.
Templates Debugger View
The list with all the templates used during the transformation and their
corresponding number of calls are presented in the Templates view. This allows to spot
unused templates and also most frequently used templates as they are ordered based on the
hits count.
Variables Debugger View
The debugger lists all variables and parameters visible in the current context
together with their scope and actual value.
Dynamic Output Generation During Debugging
The output is dynamically presented as it is generated by the transformation
process.
Multiple Debugger Output Views
The output can be seen both as text/xml and as rendered XHTML.
DocBook with XInclude Support
A mod file was added in docbook/dtd in the distribution that adds XInclude
support to the DocBook DTD. There are also document templates (New from templates action)
that allow easy creation of a DocBook document with XInclude support. Also a ready-to-use
sample is provided in the samples/docbook directory giving you a head start when working
with DocBook and XInclude.
Increased Scenario Re-Use with Editor Variables
The re-use of transformation scenarios increased dramatically by allowing
variables in the transformation configuration dialog box. For instance, it is possible to
configure a scenario once and use it to convert any DocBook document to a PDF file.
Another example is if you have an XML file called test.xml and a stylesheet called
test.xsl and you want the output to be test.html (all in the same directory), then you can
generically define a transformation scenario using editor variables, specify the XSL
(${cfd}/${cfn}.xsl) and the result file (${cfd}/${cfn}.html), and re-use the same scenario
to convert sample.xml using the sample.xsl stylesheet into sample.html.
Transformation Scenarios Allow Multiple Stylesheets
It is possible to define complex scenarios that involve more than a single
stylesheet, thus a single action can execute multiple XSLT transformations and eventually
also a FOP transformation.
Support for XML Stylesheet Processing Instruction
The transformation scenarios dialog box allows to specify to fetch the XSL
automatically from the xml-stylesheet processing instruction. If an XML file does not have
an associated transformation scenario then a default scenario will be created on the Apply
Transformation action configured to use the stylesheet specified by the xml-stylesheet
processing instruction.
Full Content Completion Support for the XSLT Target Schema
Presents the elements defined in a target schema (Options/Preferences/Content
Completion/XSL) as possible substitutes for xsl:element. Also, these elements will present
the possible attributes, and where available, possible attribute values according to the
target schema.
Select the XSLT Engine to be Used for XSLT Validation
It is possible to select the XSLT engine to be used for XSLT validation (Saxon,
Xalan or the one plugged in through JAXP). Saxon SA is bundled with Oxygen so Schema
Aware XSLT 2.0 is available out of the box.
Improved Support for Tagging Text
The support for tagging text was improved, the surround in tag action has a
keyboard (configurable) shortcut, CTRL+E by default, and offers a combo box with the
allowed elements where an element will be selected automatically based on the typed
prefix. This together with the surround in last tag action (CTRL+/) can be productively
used to markup unstructured text.
Improvement of the Relax NG-Driven Content Completion Assistant
The Content Completion Assistant driven by a Relax NG schema will offer only
the elements that can be children of the current element instead of all schema specified
elements. In the future the Content Completion Assistant will display only the elements
that keep the document valid in that context - as it does for XML Schemas and
DTDs.
Automatically Learn Document Structure
If a schema or a DTD is not specified for a document, Oxygen will
automatically learn its structure and use it to drive the Content Completion
Assistant.
Control Cursor Position After Inserting Elements
After inserting elements through the Content Completion Assistant the cursor is
positioned differently depending whether the inserted element has attributes or not.
Sometimes it is useful to have the cursor always between tags regardless the element
attributes. This is possible by enabling the "cursor position between tags" option.
Outline View Improvements
The Outline view used to select and expand automatically the node containing
the document change. With version 4.0 the user can select from tree synchronization
options for the Outline view selection: the node at cursor position, the node containing
the document change or no update. Also on the contextual menu there are available expand
and collapse actions.
Smart Home Behavior
When Home key is pressed for the first time on a line the cursor moves at the
beginning of the text on that line. When Home is pressed again the cursor moves at the
beginning of the line, that is position 0. This behavior is repeated at every Home key
pressing.
Open Resources at Cursor (Eclipse only)
Along with Open file at cursor, a new Open resource at
cursor action is also provided that looks for fully specified Java classes and
opens their source files. This is useful, for instance, when editing/browsing
configuration files that contain references to Java classes.
Search/Replace in Files Improvement
The Search/Replace dialog box has a filter that allows the action to be
performed only on the selected project files.
Tree Editor Can be Launched as a Separate Application
The Tree Editor can now be launched as a standalone application. It can also be
configured to enter in a read-only mode if the user wants to use it only for
browsing.
Choosing the Line Separator
When working across operating systems (for instance, sharing a Linux drive to
Windows machines and editing the same file from both Windows and Linux) it is possible for
different line separator characters to appear. It is also possible to ignore the system
default line separator and choose from Unix (\n) and Windows (\r\n) line separators in the
Preferences dialog box.
Open in Browser Option on Project Files
To easily view a file in the configured browser a contextual action, Open in
browser, was added in the Project view.
Easily Associate New File Types with Editors
When a file with an unknown extension is being opened, a dialog box asking for
what editor (XML, XSL, XSD, etc.) should be used appears. It is possible to permanently
associate the file extension with the selected editor by just selecting the "associate
file type with the editor" option in the same dialog box.
New Plugins
New plugins are available to help text processing: convert text to uppercase,
to lowercase, capitalize lines, capitalize the first letter on every selected line, form
words to capitalize the first letter of every word and form sentences to capitalize the
first letter of the first word in every sentence. All these work on the current editor
selection.
Copy Location Option for Project Files
In the Project contextual menu an action has been added: "Copy location". This
allows copying the URL of the selected file into clipboard.
Better Presentation for the Result Messages
A tool tip has been added to the Results panel showing the whole message
content.
More Font Options
The font used in editors can be configured to enable text anti aliasing and
also to make it bold.
Better Support for Adding Files to Project
Adding directories/files to the current project now supports multiple
selections. There are also two contextual actions on the editor tabs that allow adding the
current edited file and all the edited files to the current project.
Emacs-like Shortcuts
There are some Emacs key bindings that have been added: cut next word -
CTRL(META) + D, cut previous word - CTRL + W (only on Mac), cut to end of line - CTRL +
K.
Digest Authentication
The editor can work with files located on HTTP servers that use digest
authentication.
Changed Content Completion Internals
This is an internal change that is not necessary visible at first but it speeds
up the editor and also makes it more robust. The Content Completion Assistant will work
even if part of the document before the cursor position is not well formed.