Preferences

Once <oXygen/> is installed you can use the Preferences dialog accessed from Options->Preferences to customize <oXygen/> for your requirements and network environment.

A restricted version of the Preferences dialog is available at any time in editors of the <oXygen/> plugin by right-clicking in the editor panel and selecting Preferences:

Figure 12.1. Eclipse Preferences dialog - restricted version

Eclipse Preferences dialog - restricted version

Global

Figure 12.2. The Global preferences panel

The Global preferences panel
License

This panel presents the data of the license key which enables the <oXygen/> plugin: registration name, category and number of purchased licenses, encrypted signature of the license key. Clicking on the Register button opens the <oXygen/> XML Editor License dialog that allows you to insert a new license key:

Figure 12.3. <oXygen/> XML Editor License dialog

<oXygen/> XML Editor License dialog
Default Internet browser

The path to a web browser executable to be used to open XSLT or PDF transformation results.

Editor

Use these options to configure the visual aspect, formatting parameters, and behaviour of the content assistant. The same options panel is available in the restricted version of the Preferences dialog.

Figure 12.4. The Editor preferences panel

The Editor preferences panel
Editor background color

Use this option to set the background color of the editor.

Completion proposal background

Use this option to set the background color for the content completion window.

Completion proposal foreground

Use this option to set the foreground color for the content completion window.

Documentation window background

Use this option to set the background color for the window containing documentation for the content completion elements.

Documentation window foreground

Use this option to set the foreground color for the window containing documentation for the content completion elements.

Change Fonts

Use this option to select the font family and size used to display text in the editor.

Line Wrap (disables folding)

This option will do a soft wrap of long lines, that is automatically wrap lines in edited documents. When this option is checked line folding will be disabled.

Highlight matching tag

This option enables highlight for the tag matching the one on which the caret is situated.

Enable folding when opening a new editor

If checked, it enables folding when a new editor is opened.

Minimum fold range (only for XML)

If "Enable folding when opening a new editor" is checked, you can specify the minimum number of lines for folding. If you modify this value, you'll notice the changes when you open/reopen the editor.

Format

Figure 12.5. The Format preferences panel

The Format preferences panel
Detect indent on open

The editor tries to detect the indent settings of the opened XML document. In this way you can correctly format (pretty-print) files that were created with different settings, without changing your options. More than that you can activate the advanced option for detecting the maximum line width to be used for formatting and hard wrap. These features were designed to minimize the differences created by the pretty print operation when working with a versioning system, like CVS for example.

Indent with tabs

When checked enables 'Indent with tabs' to sets the indent to a tab unit. When unchecked, 'Indent with tabs' is disabled and the indent will measure as many spaces as defined by the 'Indent size' option.

Indent size

Sets the number of spaces or the tab size that will equal a single indent. The Indent can be spaces or a tab, select the preference using the Indent With Tabs option. If set to 4 one tab will equal 4 white spaces or 1 tab with size of 4 characters depending on which option was set in the Indent With Tabs option.

Indent on paste

Indent paste text corresponding to the indent settings set by the user. This is useful for keeping the indent style of text copied from other document.

Hard line wrap

This feature saves time when writing a reach text XML document. You can set a limit for the length of the lines in your document. When this limit is exceeded the editor will insert a new line before the word that breaks the limit, and indent the next line. This will minimize the need of reformatting the document.

Enable Smart Enter

If checked, it inserts a new indented line between start and end tag.

Detect line width on open

If checked, it detects the line width automatically when the document is opened.

Line width - pretty print

Defines the point at which the "Format and Indent" (Pretty-Print) function will perform hard line wrapping. So if set to 100 Pretty-Print will wrap lines at the 100th space inclusive of white spaces, tags and elements.

XML Format

Figure 12.6. The XML format preferences panel

The XML format preferences panel
Format and indent the document on open

When checked, the Format and indent the document on open operation will format and indent the document before opening it in the editor panel.

Preserve empty lines

When checked the Format and Indent operation will preserve all empty lines found in the document on which the pretty-print operation os applied.

Expand empty elements

When checked the Format and Indent operation will output empty elements with a separate closing tag, ex. <a atr1="v1"></a>. When not checked the same operation will represent an empty element in a more compact form: <a atr1="v1"/>

Add space before slash in empty elements

When checked the Format and Indent operation will add a space before the closing slash of an empty element, for instance an empty br will appear as <br />.

Sort attributes

When checked the Format and Indent operation will sort the attributes of an element alphabetically. When not checked the same operation will leave them in the same order as before applying the operation.

Break line before attribute's name

If checked, the "Format and Indent" (Pretty-Print) function will break the line before the attribute's name.

Preserve line breaks in attributes

If checked, the "Format and Indent" (Pretty-Print) function will preserve the line breaks found in attributes. When this option is checked, Break long lines option will be disabled.

Preserve text as it is

If checked, the "Format and Indent" (Pretty-Print) function will preserve text nodes as they are without removing or adding any whitespace.

Break long attributes

If checked, the "Format and Indent" (Pretty-Print) function will break long attributes.

Preserve space elements (XPath)

This list contains simplified XPath expressions for the names of the elements for which the contained white spaces like blanks, tabs and newlines are preserved by the Format and Indent operation exactly as before applying the operation. The allowed XPath expressions are of one of the form:

  • author
  • //listing
  • /chapter/abstract/title
  • //xs:documentation

The namespace prefixes like xs in the previous example are treated as part of the element name without taking into account its binding to a namespace.

Strip space elements (XPath)

This list contains the names of the elements for which contiguous white spaces like blanks, tabs and newlines are merged by the Format and Indent operation into one blank.

Indent (when typing) in preserve space elements

If checked, automatic tags indentation while editing will take place for all elements including the ones that are excluded from Pretty Print (default behaviour). When unchecked, indentation while editing will not take place in elements that have the 'xml:space' attribute set on 'preserve' or are in the list of Preserve Space Elements.

CSS Format

Figure 12.7. The CSS format preferences panel

The CSS format preferences panel
Indent class content

If checked, the class content is indented during a "Format and Indent" (Pretty-Print) operation.

Class body on new line

If checked, the class body (including the curly brackets) are placed on a new line after a Pretty-Print operation.

Add new line between classes

If checked, an empty line is added between two classes after a Pretty-Print operation is performed.

Save

Figure 12.8. The Save preferences panel

The Save preferences panel
Check well-formedness on save

If selected the <oXygen/> plugin will perform a well-formed check every time the user saves a document.

Save all files before transformation or validation

Save all opened files before validating or transforming an XML document. In this way the dependencies are resolved, for example when modifying both the XML document and its XML Schema.

Code Templates

Code templates are small document fragments that can be reused in other editing sessions. We have defined a large set of ready-to use templates for XSL and XML Schema stored in a file named code_templates.xml located in the <oXygen/> Preferences folder (folder Application Data\com.oxygenxml on Windows / .com.oxygenxml on Linux of the user home directory). So you can even share the templates from this file with your colleagues using the import function. To obtain the template list you have use the Content Completion on request shortcut key (usually CTRL-SPACE).

Figure 12.9. The Code Templates preferences panel

The Code Templates preferences panel
New

Define a new code template.

Edit

Edit the selected code template.

Delete

Delete the selected code template.

Import

Import a file with code templates.

Export

Export a file with code templates.

Default Schema Association

When no schema is specified in the edited document, <oXygen/> will try to use one of the default association rules set. It will try to use the association rules in the order presented in the Editor/Default Schema Association pane.

Figure 12.10. The Default Schema Association preferences panel

The Default Schema Association preferences panel
Namespace

Specifies the namespace of the root element from the association rules set (any by default).

Root local name

Specifies the local name of the root element (any by default).

File name

Specifies the name of the file (any by default).

Schema type

Specifies the type of schema to be used in the association rules for the document.

Schema URI

Specifies the location from where to load the schema to be used in the current association rule. The macro ${frameworks} can be used and it will be expanded to the path of the subdirectory frameworks of the <oXygen/> installation directory.

New

Opens a new dialog allowing you to specify a new association rule.

Figure 12.11. The Schema mapping dialog

The Schema mapping dialog
Edit

Opens a new dialog allowing you to edit an existing association rule.

Delete

Deletes one of the existing association rule.

Up

Moves the selected association rule one level up (the order is important because the first schema mapping in the list that can be associated with the document will be associated.

Down

Moves the selected association rule one level down.

Content Completion

The Content Completion feature enables inline syntax lookup and Auto Completion of mark-up elements and attributes to streamline mark-up and reduce errors while editing.

These settings define the operating mode of the content assistant.

Figure 12.12. The Content Completion Features preferences panel

The Content Completion Features preferences panel
Use Content Completion

This option enables Content Completion feature. When unchecked, all Content Completion features are disabled.

Case sensitive search

When it is checked the search in the content completion window when you type a character is case sensitive ('a' and 'A' are different characters).

Close the inserted element

When inserting elements from the Content Completion assistant, both start and end tags are inserted.

If it has no matching tag

When checked, the end tag of the inserted element will be automatically added only if it is not already present in the document.

Auto close the last opened tag

If the Use Content Completion option is not checked and if this option is checked, <oXygen/> will close the last opened tag when </ is typed.

Cursor position between tags

When checked, <oXygen/> will set the cursor automatically between tags. Even if the auto-inserted elements have attributes that are not required, the position of cursor can be forced between tags.

Show all entities

When checked, <oXygen/> will display a list with all the internal and external entities declared in the current document when the user types the start character of an entity reference (i.e. &).

Add element content

When checked, <oXygen/> will insert automatically the required elements from the DTD or XML Schema.

Add optional content

When checked, <oXygen/> will insert automatically the optional elements from the DTD or XML Schema.

Add first Choice particle

When checked, <oXygen/> will insert automatically the first Choice particle from the DTD or XML Schema.

Insert the required attributes

When checked, <oXygen/> will insert automatically the required attributes from the DTD or XML Schema for an element inserted with the help of the Content Completion assistant.

Insert the fixed attributes

When checked, <oXygen/> will insert automatically any FIXED attributes from the DTD or XML Schema for an element inserted with the help of the Content Completion assistant.

Show annotations

When checked, <oXygen/> will display the annotations that are present in the used schema for the current element, attribute or attribute value.

Show annotations as tooltip

If checked, it shows the annotations of elements and attributes as tooltips.

Use DTD comments as annotation

When checked, <oXygen/> will use all DTD comments as annotation.

Show recently used items

When checked, <oXygen/> will remember the last inserted items from the Content Completion window. The number of items to be remembered is limited by Maximum number of recent items shown combo box. These most frequently used items are displayed on the top of Content Completion window and their icon is decorated with a small red square.

Learn attributes values

When checked, <oXygen/> will display a list with all attributes values learned from the current document.

Learn on open document

When checked, <oXygen/> will automatically learn the document structure when the document is opened.

XSL/XPath

These settings define what elements are suggested by the content assistant in addition to the XSL ones.

Figure 12.13. The Content Completion XSL/XPath preferences panel

The Content Completion XSL/XPath preferences panel
None

The Content Completion will offer only the XSL information.

XHTML transitional

Includes XHTML Transitional elements as substitutes for xsl:element.

Formating objects

Includes Formating Objects elements as substitutes for xsl:element.

Other

Includes elements from a DTD file, a XML Schema file or a RNG Schema file specified from a URL as substitutes for xsl:element.

Enable content completion for XPath expressions

Disables and enables content completion in XPath expressions entered in the XSL attributes match, select and test and also in the XPath toolbar.

Options are available to allow the user to include XPath functions, XSLT functions or axes in the content completion suggestion list.

Diagram

If operation is slow for very large schemas disabling the schema diagram view will improve the speed of navigation through the edited schema.

Figure 12.14. Schema diagram preferences panel

Schema diagram preferences panel
Show XML Schema diagram

If this option is disabled the schema diagram for XML Schemas will not be generated and displayed.

Show Relax NG diagram

If this option is disabled the schema diagram for Relax NG schemas will not be generated and displayed.

Location relative to editor
The location of the diagram panel in the editing area can be: North, East, South, West. For example North means that the diagram panel takes the North part of the editing area and the text editor panel takes the rest of the editing area.

Spell Check

Figure 12.15. Spell check preferences panel

Spell check preferences panel
Automatic Spell Check

When checked, the spell checker is activated. Spell errors will be highlighted as you type.

Apply spell checking on whole document

When checked, a spell check action will be performed on entire document, highlighting all encountered errors.

Note

On large documents, spell checking the entire content may take a lot of time.

Dictionary

The dictionary combo allows you to choose the dictionary you need.

XML spell checking in

These options allow the user to specify if the spell checker will be enabled inside Comments, Attribute values, Text and CDATA sections.

Case sensitive

When checked, operations ignore capitalization errors.

Ignore mixed case words

When checked, operations do not check words containing case mixing (e.g. "SpellChecker").

Ignore words with digits

When checked, the Spell Checker does not check words containing digits (e.g. "b2b").

Ignore Duplicates

When checked, the Spell Checker does not signal two successive identical words as an error.

Ignore URL

When checked, ignores words looking like URL or file names (e.g. "www.oxygenxml.com" or "c:\boot.ini") .

Check punctuation

When checked, punctuation checking is enabled: misplaced white space and wrong sequences, like a dot following a comma, are detected.

Enable auto replace

Enables the "Replace Always" feature.

Allow compounds words

When checked, all words formed by concatenating two legal words with an hyphen are accepted. If the language allows it, two words concatenated without hyphen are also accepted.

Allow general prefixes

When checked, a word formed by concatenating a registered prefix and a legal word is accepted. For example if "mini-" is a registered prefix, accepts "mini-computer".

Allow file extensions

When checked, accepts any word ending with registered file extensions (e.g. "myfile.txt", "index.html" etc.).

Suggestion

This option indicates the type of spell checker accuracy, which may be: "Favour speed over quality", "Normal" and "Favour quality over speed".

Document Checking

Figure 12.16. Document checking preferences panel

Document checking preferences panel
Validate as you type

Validation of edited document is executed as the document is modified by editing in <oXygen/>.

Delay after the last key event (s)

The period of keyboard inactivity which starts a new validation (in seconds).

Maximum number of errors reported per document

If there are many validation errors the process of marking them in the document is long. You should limit the maximum number of reported errors with this setting to keep the time for error marking short

Clear validation markers on close
When a document edited with the <oXygen/> plugin is closed all the error markers added in the Problems view for the validation errors obtained for that document are removed.

Custom Validation

Figure 12.17. Custom validation preferences panel

Custom validation preferences panel
Name

The name of the custom validation tool displayed in the External Validation toolbar

Executable path

The path to the executable file of the external validation tool. The following macros can be used:

${home}

The path to user home directory

${pd}

Project directory

${oxygenInstallDir}

Oxygen installation directory

Working directory

The working directory of the external validation tool. The following macros can be used:

${home}

The path to user home directory

${pd}

Project directory

${oxygenInstallDir}

Oxygen installation directory

Associated editors

The editors which can perform validation with the external tool.

Command line arguments for detected schemas

Command line arguments used to validate the current edited file against different types of schema (W3C XML Schema, Relax NG full syntax, Relax NG compact syntax, Namespace Routing Language, Schematron, DTD, other schema type). The arguments can include any custom switch (like -rng) and the macros:

${cf}

The path of the currently edited file

${cfu}

Path of current file (URL)

${ds}

The path of detected schema file

${dsu}

The path of detected schema file (URL)

CSS Validator

Figure 12.18. CSS Validator preferences panel

CSS Validator preferences panel
Profile

Choose one of the available validation profiles: CSS 1, CSS 2, CSS 2.1, CSS 3, SVG, SVG Basic, SVG Tiny, Mobile, TV Profile, ATSC TV Profile

Media Type

Choose one of the available mediums: all, aural, braille, embossed, handheld, print, projection, screen

Warning Level

Set the minimum severity level for reported validation warnings. It is one of: all, normal, most important, no warnings.

XML

XML Catalog

Figure 12.19. The XML Catalog preferences panel

The XML Catalog preferences panel

When using catalogs it is sometimes useful to see what catalog files are parsed, if they are valid or not, and what identifiers are resolved by the catalogs. The Verbosity option is used to control the output of such messages. By default it is not selected.

If the Use default catalog option is checked the first XML catalog which <oXygen/> will use to resolve system IDs at document validation and URI references at document transformation will be a default built-in catalog which maps such references to the built-in local copies of the local DocBook and TEI frameworks and the schemas for XHTML, SVG and JSP documents.

The Prefer option is used to specify if <oXygen/> will try to resolve first the PUBLIC or SYSTEM reference using the specified XML catalogs. If a PUBLIC reference is not mapped in any of the catalogs then a SYSTEM reference is looked up.

When you add/delete an XML catalog to/from the list you must restart the application so that the changes take effect.

XML Parser

Figure 12.20. The XML Parser preferences panel

The XML Parser preferences panel
Maximum number of problems reported per file

Limit the number of errors reported at validation or well-formed check. Use this option when the total number of errors is big and the time of displaying is too large.

http://apache.org/xml/features/validation/schema - This option sets the 'schema' feature to true.

http://apache.org/xml/features/validation/schema-full-checking - This option sets the 'schema-full-checking' feature to true.

http://apache.org/xml/features/validation/honour-all-schema-location - This option sets the 'honour-all-schema-location' feature to true. This means all the schemas that are imported for a specific namespace are used to compose the validation model. If this is false, only the first schema import is taken into account.

Ignore the DTD for validation if a schema is specified

This option forces validation against a referred schema (XML Schema, Relax NG schema, Schematron schema) even if the document includes also a DTD declaration. It is useful when the DTD declaration is used to declare entities and the schema reference is used for validation.

Enable XInclude processing

Enable XInclude processing - if checked the XInclude support in <oXygen/> is turned on.

Base URI fix-up

[Xerces XML Parser documentation:] According to the specification for XInclude, processors must add an xml:base attribute to elements included from locations with a different base URI. Without these attributes, the resulting infoset information would be incorrect.

Unfortunately, these attributes make XInclude processing not transparent to Schema validation.

One solution to this is to modify your schema to allow xml:base attributes to appear on elements that might be included from different base URIs.

If the addition of xml:base and/or xml:lang is undesired by your application, you can disable base URI fix-up.

Language fix-up

[Xerces XML Parser documentation:]The processor will preserve language information on a top-level included element by adding an xml:lang attribute if its include parent has a different [language] property.

If the addition of xml:lang is undesired by your application, you can disable the Language fix-up.

Check ID/IDREF

Checks the ID/IDREF matches when the Relax NG document is validated.

Check feasibly valid

Checks the Relax NG to be feasibly valid when this document is validated.

Schematron XPath Version

1.0 - Allows XSLT 1.0 expressions for Schematron assertion tests.

2.0 - Allows XSLT 2.0 expressions for Schematron assertion tests.

2.0 - Allows XSLT 2.0 expressions for Schematron assertion tests.

XSLT/FO/XQuery

XSLT

Figure 12.21. The XSLT preferences panel

The XSLT preferences panel

If you want to use an XSLT transformer different than the ones that ship with <oXygen/> namely Apache Xalan and Saxon all you have to do is to specify the name of the transformer's factory class which <oXygen/> will set as the value of the Java property "javax.xml.transform.TransformerFactory". To perform an XSLT transformation with Saxon 7 for instance you have to place the Saxon 7 jar file in the <oXygen/> libraries directory (the lib subdirectory of the installation directory), set "net.sf.saxon.TransformerFactoryImpl" as the property value and select JAXP as the XSLT processor in the transformation scenario associated to the transformed XML document.

Value

Allows the user to enter the name of the transformer factory Java class.

XSLT 1.0 Validate with

Allows the user to set the XSLT Engine used for validation of XSL 1.0 documents.

XSLT 2.0 Validate with

Allows the user to set the XSLT Engine used for validation of XSL 2.0 documents.

Saxon6

The XSLT options which can be configured for the Saxon 6 transformer are:

Figure 12.22. The Saxon 6 XSLT preferences panel

The Saxon 6 XSLT preferences panel
  • Line numbering: If checked line numbers are maintained for the source document.

  • Allow calls on extension functions: If checked external functions called is allowed. Not checking this is recommended in an environment where untrusted stylesheets may be executed. Also disables user-defined extension elements, together with the writing of multiple output files, all of which carry similar security risks.

  • Policy for handling recoverable errors in the stylesheet: Allows the user to choose how dynamic errors will be handled. Either one of the following options can be selected: recover silently, recover with warnings or signal the error and do not attempt recovery.

Saxon8

The XSLT options which can be configured for the Saxon 8 transformer (both the Basic and the Schema Aware versions) are:

Figure 12.23. The Saxon 8 XSLT preferences panel

The Saxon 8 XSLT preferences panel
  • Version warnings: If checked a warning will be output when running an XSLT 2.0 processor against an XSLT 1.0 stylesheet. The XSLT specification requires this to be done by default.

  • Allow calls on extension functions: If checked external functions called is allowed. Not checking this is recommended in an environment where untrusted stylesheets may be executed. Also disables user-defined extension elements, together with the writing of multiple output files, all of which carry similar security risks.

  • DTD based validation of the source file: If checked XML source documents are validated against their DTD.

  • Line numbering: If checked line numbers are maintained for the source document.

  • Policy for handling recoverable errors in the stylesheet: Allows the user to choose how dynamic errors will be handled. Either one of the following options can be selected: recover silently, recover with warnings or signal the error and do not attempt recovery.

  • Strip whitespaces feature can be one of the three options: All, Ignorable, None.

    All
    strips all whitespace text nodes from source documents before any further processing, regardless of any xsl:strip-space declarations in the stylesheet, or any xml:space attributes in the source document.
    Ignorable
    strips all ignorable whitespace text nodes from source documents before any further processing, regardless of any xsl:strip-space declarations in the stylesheet, or any xml:space attributes in the source document. Whitespace text nodes are ignorable if they appear in elements defined in the DTD or schema as having element-only content.
    None
    strips no whitespace before further processing. (However, whitespace will still be stripped if this is specified in the stylesheet using xsl:strip-space).

Saxon8SA specific options

  • Schema based validation of the source file: This determines whether source documents should be parsed with schema-validation enabled.

  • Lax schema based validation of the source file: This determines whether source documents should be parsed with schema-validation enabled.

  • Validation errors in the result tree treated as warnings: If checked, all validation errors are treated as warnings, otherwise they are treated as fatal.

XSLTProc

Figure 12.24. The XSLTProc preferences panel

The XSLTProc preferences panel

The options of the XSLTProc processor are the same as the ones available in the command line for the XSLTProc processor:

Enable XInclude processing

If checked XInclude references will be resolved when XSLTProc is used as transformer in the transformation scenario.

Skip loading the document's DTD

If checked the DTD specified in the DOCTYPE declaration will not be loaded.

Do not apply default attributes from document's DTD

If checked the default attributes declared in the DTD and not specified in the document are not included in the transformed document.

Do not use Internet to fetch DTD's, entities or docs

If checked the remote references to DTD's and entities are not followed.

Maximum depth in templates stack

If the limit of maximum templates is reached the transformation ends with an error.

Verbosity

If checked the transformation will output detailed status messages about the transformation process in the Warnings view.

Show version of libxml and libxslt used

If checked <oXygen/> will display in the Warnings view the version of the libxml and libxslt libraries invoked by XSLTProc.

Show time information

If checked the Warnings view will display the time necessary for running the transformation.

Show debug information

If checked the Warnings view will display debug information about what templates are matched, parameter values, etc.

Show all documents loaded during processing

If checked <oXygen/> will display in the Warnings view the URL of all the files loaded during transformation.

Show profile information

If checked <oXygen/> will display in the Warnings view a table with all the matched templates, and for each template: the match XPath expression, template name, number of template modes, number of calls, execution time.

Show the list of registered extensions

If checked <oXygen/> will display in the Warnings view a list with all the registered extension funtions, extension elements and extension modules.

Refuses to write to any file or resource

If checked the XSLTProc processor will not write any part of the transformation result to an external file on disk. If such an operation is requested by the processed XSLT stylesheet the transformation ends with a runtime error.

Refuses to create directories

If checked the XSLTProc processor will not create any directory during the transformation process. If such an operation is requested by the processed XSLT stylesheet the transformation ends with a runtime error.

MSXML

Figure 12.25. The MSXML preferences panel

The MSXML preferences panel

The options of the MSXML 3.0 and 4.0 processors are the same as the ones available in the command line for the MSXML processors:

Validate documents during parse phase

If checked and either the source or style sheet document has a DTD or schema against which its content should be checked, validation is performed.

Do not resolve external definitions during parse phase

By default, MSXSL instructs the parser to resolve external definitions such as document type definition (DTD), external subsets or external entity references when parsing the source and style sheet documents. If this option is checked the resolution is disabled.

Strip non-significant whitespaces

If checked strip non-significant white space from the input XML document during the load phase. Enabling this option can lower memory usage and improve transformation performance while, in most cases, creating equivalent output.

Show time information

If checked the relative speed of various transformation steps can be measured: time to load, parse, and build the input document; time to load, parse, and build the style sheet document; time to compile the style sheet in preparation for the transformation; time to execute the style sheet.

Start transformation in this mode

Although style sheet execution usually begins in the empty mode, this default may be changed by specifying another mode. Changing the start mode allows execution to jump directly to an alternate group of templates.

MSXML.NET

Figure 12.26. The MSXML.NET preferences panel

The MSXML.NET preferences panel

The options of the MSXML.NET processor are the same as the ones available in the command line for the MSXML.NET processor:

Enable XInclude processing

If checked XInclude references will be resolved when XSLTProc is used as transformer in the transformation scenario.

Validate documents during parse phase

If checked and either the source or style sheet document has a DTD or schema against which its content should be checked, validation is performed.

Do not resolve external definitions during parse phase

By default MSXML.NET resolves external definitions such as DTD external subsets or external entity references when parsing source XML document and stylesheet document. Using this option you can disable this behaviour. (Note, that it may affect also the validation process.)

Strip non-significant whitespaces

If checked strip non-significant white space from the input XML document during the load phase. Enabling this option can lower memory usage and improve transformation performance while, in most cases, creating equivalent output.

Show time information

If checked the relative speed of various transformation steps can be measured: time to load, parse, and build the input document; time to load, parse, and build the style sheet document; time to compile the style sheet in preparation for the transformation; time to execute the style sheet.

Forces ASCII output encoding

There is a known problem with .NET 1.X XSLT processor (System.Xml.Xsl.XslTransform class) - it doesn't support escaping of characters as XML character references when they cannot be represented in the output encoding. That means that when you output a character that cannot be represented in output encoding, it will be outputted as '?'. Usually this happens when output encoding is set to ASCII. With this option checked the output is forced to be ASCII encoded and all non-ASCII characters get escaped as XML character references (&#nnnn; form).

Allow multiple output documents

This option allows to create multiple result documents using the exsl:document extension element.

Use named URI resolver class

This option allows to specify a custom URI resolver class to resolve URI references in xsl:import/xsl:include instructions (during XSLT stylesheet loading phase) and in document() function (during XSL transformation phase).

Assembly file name for URI resolver class

The previous option specifies partially or fully qualified URI resolver class name, e.g. Acme.Resolvers.CacheResolver. Such name requires additional assembly specification using this option or the next option, but fully qualified class name (which always includes an assembly specifier) is all-sufficient. See MSDN for more info about fully qualified class names. This option specifies a file name of the assembly, where the specified resolver class can be found.

Assembly GAC name for URI resolver class

This option specifies partially or fully qualified name of the assembly in the global assembly cache (GAC), where the specified resolver class can be found. See MSDN for more info about partial assembly names. Also see the previous option.

List of extension object class names

This option allows to specify extension object classes, whose public methods then can be used as extension functions in an XSLT stylesheet. It is a comma-separated list of namespace-qualified extension object class names. Each class name must be bound to a namespace URI using prefixes as when providing XSLT parameters.

Use specified EXSLT assembly

MSXML.NET supports rich library of the EXSLT and EXSLT.NET extension functions via embedded or plugged in EXSLT.NET library. EXSLT support is enabled by default and cannot be disabled in this version. If you want to use an external EXSLT.NET implementation instead of a built-in one use this option.

Credential loading source xml

This option allows to specify user credentials to be used when loading XML source documents. The credentials should be provided in the "username:password@domain" format (all parts are optional).

Credential loading stylesheet

This option allows to specify user credentials to be used when loading XSLT stylesheet documents. The credentials should be provided in the "username:password@domain" format (all parts are optional).

XQuery

Figure 12.27. The XQuery preferences panel

The XQuery preferences panel
XQuery validate with

Allows you to select the XSLT Processor to validate the XQuery

Format transformer output

When checked the transformer's output is formatted and indented (pretty printed).

Create structure indicating the type nodes

If checked, <oXygen/> takes the results of a query and creates an XML document containing copies of all items in the sequence, suitably wrapped.

Saxon

Figure 12.28. The Saxon XQuery preferences panel

The Saxon XQuery preferences panel

Saxon8 options:

Allow calls on extension functions

If checked external functions called is allowed. Not checking this is recommended in an environment where untrusted stylesheets may be executed. Also disables user-defined extension elements, together with the writing of multiple output files, all of which carry similar security risks.

Policy for handling recoverable errors in the stylesheet

Allows the user to choose how dynamic errors will be handled. Either one of the following options can be selected: recover silently, recover with warnings or signal the error and do not attempt recovery.

Strip whitespaces

Can have one of the three values: All, Ignore, None. All - strips all whitespace text nodes from source documents before any further processing, regardless of any xml:space attributes in the source document. Ignore - strips all ignorable whitespace text nodes from source documents before any further processing, regardless of any xml:space attributes in the source document. Whitespace text nodes are ignorable if they appear in elements defined in the DTD or schema as having element-only content. None - strips no whitespace before further processing.

Saxon8SA specific options:

Schema based validation of the source

This determines whether source documents should be parsed with schema-validation enabled.

Lax schema based validation of the source

This determines whether source documents should be parsed with schema-validation enabled.

Validation errors in the result tree treated as warnings

If checked, all validation errors are treated as warnings, otherwise they are treated as fatal.

eXist

Figure 12.29. The eXist preferences panel

The eXist preferences panel

eXist options:

XML DB URI

URI to the installed eXist engine. If you like to set a default collection you have to first press the Refresh button in order for the Collection list to be populated.

User

User name to access the eXist database engine

Password

Password to access the eXist database engine

Collection

eXist organizes all documents in hierarchical collections. Collections are like directories. They are used to group related documents together. This combo box is populated after pressing the Refresh button and allows the user to set the default collection name.

Berkeley DB XML

Figure 12.30. The Berkeley DB XML preferences panel

The Berkeley DB XML preferences panel

Berkeley DB XML options:

Environment home directory

Path to the Berkeley DB XML's home directory.

Verbosity

The user can choose between four levels of verbosity: DEBUG, INFO, WARNING, ERROR.

X-Hive/DB

Figure 12.31. The X-Hive/DB preferences panel

The X-Hive/DB preferences panel

X-Hive/DB options:

xhive.bootstrap

URI to the installed X-Hive/DB engine.

User

User name to access the X-Hive/DB database engine.

Password

Password to access the X-Hive/DB database engine.

Database

The name of the database to access from the X-Hive/DB database engine.

MarkLogic

Figure 12.32. The MarkLogic preferences panel

The MarkLogic preferences panel

MarkLogic options:

Host

The hostname or ip address of the installed MarkLogic engine.

Port

The port number of the MarkLogic engine.

User

User name to access the MarkLogic engine.

Password

Password to access the MarkLogic engine.

TigerLogic

Figure 12.33. The TigerLogic preferences panel

The TigerLogic preferences panel

TigerLogic options:

Host

The hostname or ip address of the installed TigerLogic engine.

Port

The port number of the TigerLogic engine.

User

User name to access the TigerLogic engine.

Password

Password to access the TigerLogic engine.

Database

The name of the database to access from the TigerLogic engine.

Debugger

Figure 12.34. The Debugger preferences panel

The Debugger preferences panel

The following settings are available:

Enable XHTML output

Enable or disable rendering of output to the XHTML Output document View during the transformation process. For performance issues, it is advisable to disable XHTML output for large jobs. Also, the XHTML area is only able to render XHTML documents. In order to view the output result of other formats, such as HTML, save the Text output area to a file and use the required external browser for viewing.

Show xsl:result-document output

If checked, the debugger presents the output of xsl: result-document instruction into the debugger output view.

Infinite loop detection

Set this option to receive notifications when an infinite loop occurs during transformation.

Maximum depth in templates stack

How many templates (<xsl:templates>) instructions can appear on the current stack. This setting is used by the infinite loop detection.

Profiler

This section explains the settings available for XSLT Profiler mode. To display settings select Window->Preferences->oXygen->XML->XSLT/FO+Profiler (see the section called “Debugger”).

Figure 12.35. The Profiler preferences panel

The Profiler preferences panel

The following settings are available:

Show time

Show the total time that was spent in the node.

Show inherent time

Show the inherent time that was spent in the node.

Show invocation count

Show how many times the node was called in this particular call sequence.

Time scale

The time scale options determine the unit of time measurement, which may be milliseconds (ms) or microseconds (µs).

Hotspot threshold

The threshold below which hot spots are ignored is entered in milliseconds (ms).

Ignore invocation less than

The threshold below which invocations are ignored is entered in microseconds (µs).

Percentage calculation

The percentage base determines against what time span percentages are calculated.

  • Absolute: Percentage values show the contribution to the total time.

  • Relative: Percentage values show the contribution to the calling node.

FO Processors

Besides the built-in formatting objects processor (Apache FOP) the user can use other external processors. <oXygen/> has implemented an easy way to add RenderX XEP as external FO processor if the user has the XEP installed.

Figure 12.36. The FO Processors preferences panel

The FO Processors preferences panel
Enable the output of the built-in FOP

When checked all FOP output will be displayed in a results pane at the bottom of the editor window including warning messages about FO instructions not supported by FOP.

Memory available to the built-in FOP

If your FOP transformations fail with an "Out of Memory" error select from this combo box a larger value for the amount of memory reserved for FOP transformations.

Configuration file for the built-in FOP

You should specify here the path to a FOP configuration file, necessary for example to render to PDF using a special true type font a document containing Unicode content.

The users can configure the external processors for use with <oXygen/> in the following dialog.

Figure 12.37. The external FO processor configuration dialog

The external FO processor configuration dialog
Name

The name that will be displayed in the list of available FOP processors on the FOP tab of the Transforming Configuration dialog.

Description

The description of the FO processor displayed in the Preferences->FO Processors option.

Working directory

The directory in which the intermediate and final results of the processing will be stored. Here you can use one of the following macros:

${home}

The path to user home directory.

${cfd}

The path of current file directory.

${pd}

The project directory.

Command line

The command line that will start the FO processor, specific to each processor. Here you can use one of the following macros:

${method}

The FOP transformation method (pdf, ps, txt).

${fo}

The input FO file.

${out}

The output file.

XPath

Figure 12.38. The XPath preferences panel

The XPath preferences panel
Unescape XPath expression

When checked, unescapes the entities found in the XPath expression. For example the expression

//varlistentry[starts-with(@os,'&#x73;')]

is equivalent with

//varlistentry[starts-with(@os,'s')]

.

No namespace

If checked <oXygen/> will consider unprefixed element names in XPath expressions evaluated in the XPath console as belonging to no namespace.

Use the namespace of the root

If checked <oXygen/> will consider unprefixed element names in XPath expressions evaluated in the XPath console as belonging to the same namespace as the root element of the document.

Only if it is declared as default

If checked the namespace of the root element will be applied to the unprefixed elements in the XPath console only if it is set as default namespace on the root element.

Other

The user has the possibility to enter here the namespace of the unprefixed elements used in the XPath console

Default prefix-namespace mappings

Associates prefixes to namespaces. These mappings are useful when applying an XPath in XPath console and you don't have to define these mappings for each document separately.

The New button creates an editable prefix-namespace mapping.

The Remove button deletes the selected mapping.

Custom engines

One can configure other transformation engines than the ones which come with the <oXygen/> distribution. Such an external engine can be used for XSLT / XQuery transformations within <oXygen/>, in the Editor perspective, and is available in the list of engines in the dialog for editing transformation scenarios. However it cannot be used in the Debugger perspective.

Figure 12.39. Configuration of custom transformation engines

Configuration of custom transformation engines

The following parameters can be configured for a custom engine:

Figure 12.40. Parameters of a custom transformation engine

Parameters of a custom transformation engine
Engine type
Combo box allowing you to choose the transformer type. There are two options: XSLT engines and XQuery engines.
Name
The name of the transformer displayed in the dialog for editing transformation scenarios
Description
Text description of the transformer
Working directory
The start directory of the transformer executable program. The following macros are available for making the path to the working directory independent of the input XML file:
  • ${home} - the user home directory in the operating system
  • ${cfd} - the path to the directory of the current file
  • ${pd} - the path to the directory of the current project
  • ${oxygenInstallDir} - the <oXygen/> install directory
Command line
The command line that must be executed by <oXygen/> to perform a transformation with the engine. The following macros are available for making the items of the command line (the transformer executable, the input files) independent of the input XML file:
  • ${xml} - the XML input document as a file path
  • ${xmlu} - the XML input document as a URL
  • ${xsl} - the XSL / XQuery input document as a file path
  • ${xslu} - the XSL / XQuery input document as a URL
  • ${out} - the output document as a file path
  • ${outu} - the output document as a URL

Database

Here you can configure the JDBC Drivers for the Import from Database action. Any database server that supports JDBC connectivity can be configured. You can check the list of JDBC drivers (http://www.oxygenxml.com/database_drivers.html) available for the major database servers. Before configuring a new JDBC driver for your database server in the following dialog you have to copy the jar file containing the driver in the lib subfolder of the <oXygen/> installation folder and restart the <oXygen/> application.

Figure 12.41. The JDBC Drivers preferences panel

The JDBC Drivers preferences panel
New

Opens the JDBC Drivers dialog, allowing you to configure a new driver that will appear in in the list from "Select database table" dialog.

Figure 12.42. The JDBC Drivers dialog

The JDBC Drivers dialog
Name

Provide the name for the JDBC Driver

URL:

Provide the URL for the JDBC Driver

Driver Class

Provide the Driver Class for the JDBC Driver

Add

Adds the JDBC driver class library.

Remove

Removes driver class library from the list.

Detect

Detects JDBC driver candidates.

Stop

Stops the detection of the JDBC driver candidates.

Edit

Opens the JDBC Drivers dialog, allowing you to edit the selected driver. See above the specifications for the JDBC Drivers dialog.

Delete

Deletes the selected JDBC Driver.

Import

Here it is configured how empty values and null values are handled when they are encountered in an import operation.

Figure 12.43. The Database import preferences panel

The Database import preferences panel
Create empty elements for empty values

If this option is enabled an empty value from a database column will be imported as an empty element.

Create empty elements for null values

If this option is enabled a null value from a database column will be imported as an empty element.

Add annotations for generated XML Schema

If checked, the generated XML Schema will contain an annotation for each of the imported table's columns. The documentation inside the annotation tag will contain the remarks of the database columns (if available) and also information about the conversion between the column type and the generated XML Schema type.

Date/Time format

If Data base specific Date/Time format is checked, the date and time formats specific to the database will be used for import. The type used in the generated XML Schema will be xs:string.

If XSL Schema specific Date/Time format is checked, the ISO8601 format ( yyyy-MM-ddTHH:mm:ss ) will be used for imported date/time data. The types used in the generated XML Schema will be xs:datetime, xs:date and xs:time.

HTTP / FTP / Proxy Configuration

Some networks use Proxy servers to provide Internet Services to LAN Clients. Clients behind the Proxy may therefore, only connect to the Internet via the Proxy Service. The Proxy Configuration dialog enables this configuration. If you are not sure whether your computer is required to use a Proxy server to connect to the Internet or the values required by the Proxy Configuration dialog, please consult your Network Administrator.

Open the Proxy Configuration dialog by selecting Options->Preferences->HTTP / Proxy Configuration.

Figure 12.44. The Proxy Configuration preferences panel

The Proxy Configuration preferences panel

Complete the dialog as follows:

Use proxy server

When checked enables <oXygen/> to use the specified Proxy Server. When unchecked, Proxy Server is disabled.

Web Proxy (HTTP)

The IP address or Fully Qualified Domain Name (FQDN) of the Proxy Server.

Port

The TCP Port Number, normally set to 80 or 8080.

User

The Name of the user if required. Can be empty.

Password

The Password for authentication. Can be empty.

No proxy for

Specify domains for which no proxy should be used.

SOCKS

When checked enables SOCKS using the specified host and port for the server. When unchecked, SOCKS is disabled.

Host

The SOCKS host you wish to connect to.

Port

The SOCKS port you wish to connect to.

Read Timeout (s)

The period in seconds after which <oXygen/> will consider a HTTP server is unreachable if it does not receive any response to a request sent to that server.

A change to this setting takes effect only after the Eclipse platform is restarted.

The Proxy settings are first looked up in the options. If there were no previous options set then the settings are loaded from the "servers" file located in the "%HOME%\Application Data\Subversion\" folder on Windows and %HOME%\.subversion\ folder on Linux and Mac OS X.

Certificates

In <oXygen/> there are provided two types of Keystores: Java KeyStore (JKS) and Public-Key Cryptography Standards version 12 (PKCS-12). A keystore file is protected by a password.

Figure 12.45. The Certificates preferences panel

The Certificates preferences panel
Keystore type

Represents the type of keystore to be used.

Keystore file

Represents the location of the file to be imported.

Keystore password

The password which is used to protect the privacy of the stored keys.

Certificate alias

The alias to be used to store the key entry (the certificate and /or the private key) inside the keystore.

Private key password

It is only necessary in case of JKS keystore. It represents the certificate's private key password.

Validate

Verifies the entries from the fields; assures that the certificate is valid.

Scenarios Management

Figure 12.46. The Scenarios Management preferences panel

The Scenarios Management preferences panel
Import transformation scenarios

Allows you to import all transformation scenarios from a scenarios properties file. Their names will appear in the "Configure Transformation Scenario" dialog followed by "(import)". This way there are no scenarios' names conflicts.

Export transformation scenarios

Allows you to export all transformation scenarios available in the "Configure Transformation Scenario" dialog.

View

Figure 12.47. The View preferences panel

The View preferences panel
Enable outline drag and drop

When drag and drop is disabled for the tree displayed by the outline view there is no possibility to accidentally change the structure of the document.

Fixed width console

When checked, a line in the Console view will be hard wrapped after Maximum character width characters.

Limit console output

When checked the content of the Console view will be limited to a configurable number of characters.

Console buffer - specifies the maximum number of characters that can be written at some point in the Console view.

Tab width - specifies the number of spaces used for depicting a tab.

Syntax Highlight

<oXygen/> supports Syntax Highlight for XML, DTD, Relax NG (XML and Compact Syntax), Java, JavaScript, XQuery, C++, C, PHP,CSS, Perl, Properties, SQL, Shell and Batch documents. While <oXygen/> provides a default color configuration for highlighting the tokens, you may choose to customize, as required, using the Colors dialog.

Figure 12.48. The Colors preferences panel

The Colors preferences panel

Open the Syntax Highlight panel by selecting Window->Preferences->oXygen->Syntax Highlight and choose one of the supported Document Types. Each document type contains a set of Tokens. When a Document Type node is expanded, the associated tokens are listed. Selecting a token displays the current color properties and enables you to modify them. You can also select a token by clicking directly in the preview area on that type of token.

Elements by Prefix

Figure 12.49. The Elements by Prefix preferences panel

The Elements by Prefix preferences panel

One row of the table contains the association between a namespace prefix and the color used to mark start tags and end tags in that prefix. Note that the marking mechanism does not look at the namespace bound to that prefix. If the prefix is bound to different namespaces in different XML elements of the same file all the tags with the prefix will be marked with the same color.

One can choose that only the prefix to be displayed in the chosen color by checking the Draw only the prefix with a separate color option.