Manual

8 — Reference

This chapter tells no story: it recapitulates. Every shortcut, every button, every menu and every gesture in Debug XML Tool, in tables, with the condition that makes each available and the chapter that explains it.

Worth keeping open beside the application while you find your feet.


8.1 Keyboard shortcuts

Global

Active wherever the focus happens to be.

ShortcutActionAvailable
F5Run transformationIDLE
F8Resume executionPAUSED
F10Step OverPAUSED
F11Step IntoPAUSED
Shift+F11Step OutPAUSED
Ctrl+F10Run to cursorPAUSED
Shift+F9Stop executionRUNNING or PAUSED
Ctrl+SSave the active filea tab open
Ctrl+NNew filealways
Ctrl+Shift+FSearch in files (places the cursor in the field)always
Ctrl + + / Ctrl + =Increase the font size by one pointalways
Ctrl + −Decrease the font size by one pointalways
Ctrl + 0Return to the default font sizealways

The three font shortcuts work equally well with the numeric keypad.

In the editor

Active when the cursor is in the code.

ShortcutActionScope
F12Go to definition.xsl / .xslt
Shift+F12Find references.xsl / .xslt
F2Rename symbol.xsl / .xslt
Shift+Alt+FFormat documentall
Ctrl+SpaceCompletion — and history recall in the XPath fieldall
Ctrl+ZUndoall

8.2 The toolbar

In their real order of appearance. Every button is icon-only: hover to read the label given below.

#ButtonActiveChapter
1New file (Ctrl+N)alwaysEditing §2.1
2Open workspace folderalwaysGetting started §0.1
3Close workspaceif a workspace is openGetting started §0.1
4Transformation scenariosalwaysTransforming & exporting §3.7
5Transformation settings (⚙)alwaysTransforming & exporting §3.2
6Run transformation (F5)IDLETransforming & exporting §3.1
7Step Into (F11)PAUSEDDebugging §4.3
8Step Over (F10)PAUSEDDebugging §4.3
9Step Out (Shift+F11)PAUSEDDebugging §4.3
10Run to cursor (Ctrl+F10)PAUSEDDebugging §4.3
11Resume execution (F8)PAUSEDDebugging §4.3
12Stop execution (Shift+F9)RUNNING or PAUSEDDebugging §4.5
13Validate active filealwaysValidating & comparing §7.1
14Validate an XML against a schema (XSD or DTD)always — opens a menu; greyed out while a validation runsValidating & comparing §7.2
15Format document (Shift+Alt+F)alwaysEditing §2.4
16Compare two files (structural XML diff)alwaysValidating & comparing §7.5
17Run with Saxon ProfilerIDLEAnalysing §5.1
18the Language selectoralwaysThe interface §1.8
19Settingsalways§8.7

At the far right: the state badge (IDLE / RUNNING / PAUSED) and the status message.

The menu of the schema button

EntrySubtitleEffect
XSDValidate against an XSD schemaopens XSD Validation — and records the association
DTDValidate against a DTDopens DTD Validation — and records the association
Associate a schemaLink an XSD/DTD to the active filelinks without validating

8.3 When the debugging commands are active

Whether the buttons are enabled tells you on its own where execution stands.

CommandIDLERUNNINGPAUSED
Run transformation (F5)
Run with the Profiler
Step Into / Over / Out
Run to cursor
Resume
Stop

8.4 The explorer context menu

Right-click in the left-hand panel. The menu adapts to what you pointed at.

EntryTargetChapter
Opena fileGetting started §0.2
Set as XML source.xmlGetting started §0.3
Set as main XSL.xsl / .xsltGetting started §0.3
New file…a folderEditing §2.1
New folder…a folder
Deletefile or folderconfirmation required
Validate foldera folderValidating & comparing §7.3
Validate workspacethe empty areaValidating & comparing §7.3
Hierarchy/dependencies.xsl / .xslt / .xsdNavigating & refactoring §6.6
Compare with…a fileValidating & comparing §7.5
Use as XML catalog.xmlValidating & comparing §7.4
Run XSpec tests.xspecValidating & comparing §7.7
Generate XSpec skeleton.xsl / .xsltValidating & comparing §7.7

Deletion asks for confirmation — « Permanently delete "…"? This action cannot be undone. » — and really does act on the disk.


8.5 The editor context menu

Right-click in the code.

EntryShortcutScopeChapter
Go to definitionF12.xslNavigating & refactoring §6.1
Find referencesShift+F12.xslNavigating & refactoring §6.2
Rename symbolF2.xslNavigating & refactoring §6.3
Show generated output.xsl, after a back-mapped transformationAnalysing §5.6

To these are added the standard editor entries: cut, copy, paste, format, command palette.


8.6 Mouse gestures

GestureEffectWhere
Double-click a fileopens it in a tabexplorer
Drag and drop a folderopens it as a workspacewelcome screen
Click in the guttersets or removes a breakpointeditor, .xsl
Ctrl + click a symbolgoes to its definitioneditor, .xsl
Ctrl + click in an outputhighlights the XSLT instruction that produced it, and the source nodeoutput tab
Single click on a panel rowopens the file and selects the lineSearch, References, Problems, XSpec, Watch XPath (node-type value)
Double-click on a panel rowopens the file and highlights the lineCall Stack, XPath, Profiler, Templates, Hierarchy, Comparison, XSL STRUCTURE outline

The navigation gesture is not the same everywhere, and that is not an oversight: the search and diagnostic panels navigate on a single click, like a classic "search in files", because there you run through a list of results. The inspection panels ask for a double-click, because there you first select in order to read.


8.7 The Settings menu

SectionSettingValues
AppearanceThemeDark / Light
AppearanceLanguageFrench, English, Spanish, Russian, Chinese
AppearanceFont Sizenumeric value — also Ctrl + + / Ctrl + − / Ctrl + 0
EditorWord Wraptoggle
EditorMinimaptoggle
EditorHighlight Current Linetoggle
PreferencesLive validationtoggle — Editing §2.5
PreferencesOutput back-mappingtoggle — Analysing §5.7
PreferencesXML Catalogs…opens a dialogue — Validating & comparing §7.4

Changing theme and language is immediate, with no restart.


8.8 The bottom panel tabs

Thirteen tabs, icon-only. Each can be detached to the right by right-clicking its header, and reattached to the bottom the same way — only one detached at a time.

TabWhat it showsWhat fills itChapter
Consolemessages, trace, errorsevery actionThe interface §1.7
VariablesXSLT variables and current nodea debugger pauseDebugging §4.4
XPath Evaluatorevaluation of expressionstyping, at a pause or notDebugging §4.4
Call Stackchain of templatesa debugger pauseDebugging §4.4
Watch XPathexpressions re-evaluated at every stopyour watched expressionsDebugging §4.4
Profilertime per template, hot spots, call treethe ⏱ buttonAnalysing §5.1
Templatestemplates triggered or nota profiled runAnalysing §5.4
Searchresults across the whole workspaceCtrl+Shift+FNavigating & refactoring §6.4
Referencesuses of a symbolShift+F12Navigating & refactoring §6.2
Hierarchygraph of includes / importsthe Hierarchy/dependencies menuNavigating & refactoring §6.6
Problemsfiles with errors from a batchValidate folder / workspaceValidating & comparing §7.3
Comparisondifferences between two filesthe Compare buttonValidating & comparing §7.5
XSpecresults of the unit testsRun XSpec testsValidating & comparing §7.7

An empty panel always says what will fill itRun the profiler (⏱) to analyze performance., Right-click a folder in the explorer to validate it, No variables — the debugger is not paused.


8.9 Where things are displayed

Three areas receive messages, and the distinction is constant:

AreaReceivesExample
Status message (toolbar)configuration diagnostics and the summary of the last actionError: no XML file found in workspace
Console (bottom panel)what the engine does: execution trace, xsl:message, validations, catalogues--- Transformation completed in 136 ms ---
Editor (underlines)errors attributable to the displayed filean unclosed tag

If a run produces nothing, look at the status message before the console: that is where configuration errors go.

An error coming from another file — a broken associated schema, a faulty xsl:include module — does not soil your document: it goes to the console, prefixed [Validation] External diagnostic.


8.10 The most frequent status messages

MessageCauseWhat to do
No workspace openno working folderOpen workspace folder
Error: configure an XSLT file via ⚙ or open a .xsl in the editorthe active tab is not a stylesheetopen the .xsl or designate it by right-clicking
Error: no XML file found in workspaceno .xml in the folderopen a workspace that has one
Error: XSLT file not found — …the designated file has been moveddesignate it again
Open an XML file to associate a schemathe active tab is not an .xmlactivate the document tab
No schema availableneither XSD nor DTD in the workspaceadd the schema to the folder
XSD validation failed: 3 problem(s)the document does not respect its schemathe errors are underlined in the document
Error: a mode name is required for the initial mode."Initial mode" entry point with no nametype the mode, or go back to the source document

8.11 File types

ExtensionEditingAssistance
.xmlschema-driven completion, validation, structure, comparison
.xsl / .xsltXSLT completion, debugging, profiling, navigation, renaming, outline
.xsdvalidation, structure, hierarchy
.dtdvalidation
.xspecrunning the tests
othersyntax highlighting derived from the name, with no dedicated assistance

Neither JSON, nor XQuery, nor graphical Author/WYSIWYG editing.


8.12 Limits, a recapitulation

Gathered here for reference; each is explained in its own place.

Engine

  • Transformation by Saxon-HE: no schema-aware transformation, no streaming.
  • XSD validation follows the W3C XML Schema 1.0 standard.

Debugging and analysis

  • The "go to source" highlight applies to the whole line, not to a range of columns.
  • Template coverage is relative to the input document: a template not triggered on this XML is not absolute dead code, and a template inlined by the optimiser may appear untriggered.
  • Back-mapping is unavailable on PDF export.

Navigation and refactoring

  • Symbol navigation and renaming: .xsl / .xslt tabs only, and never match templates — resolving them is the debugger's business.
  • Rename and replace are only undoable in open tabs.
  • The search ignores files larger than 2 MB and truncates beyond 5,000 results.

Validation and comparison

  • Batch validation reflects the disk, ignores files larger than 2 MB, caps at 10,000 problems, and validates xsl:include modules in isolation (false positives possible).
  • The comparison treats element order as significant, falls back to text mode beyond 10 MB, caps at 5,000 differences, and does neither folder diff nor merge.
  • Catalogues only resolve towards local files.
  • An XSpec scenario cannot yet be debugged step by step.

8.13 What the application remembers

From one session to the next, without asking you anything:

RememberedScope
The last workspace openedapplication
The size and position of the windowapplication
Theme, language, font sizeapplication
Live validation, back-mappingapplication
Your transformation scenariosworkspace
Your watch expressions (Watch XPath)workspace
The XML file ↔ schema associationsworkspace
The XML catalogues declaredworkspace

Two different workspaces therefore have their own scenarios, their own watches and their own catalogues — without interference.


What next

You have been all the way round. To come back to a point:

Manual contents