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.
| Shortcut | Action | Available |
|---|---|---|
| F5 | Run transformation | IDLE |
| F8 | Resume execution | PAUSED |
| F10 | Step Over | PAUSED |
| F11 | Step Into | PAUSED |
| Shift+F11 | Step Out | PAUSED |
| Ctrl+F10 | Run to cursor | PAUSED |
| Shift+F9 | Stop execution | RUNNING or PAUSED |
| Ctrl+S | Save the active file | a tab open |
| Ctrl+N | New file | always |
| Ctrl+Shift+F | Search in files (places the cursor in the field) | always |
| Ctrl + + / Ctrl + = | Increase the font size by one point | always |
| Ctrl + − | Decrease the font size by one point | always |
| Ctrl + 0 | Return to the default font size | always |
The three font shortcuts work equally well with the numeric keypad.
In the editor
Active when the cursor is in the code.
| Shortcut | Action | Scope |
|---|---|---|
| F12 | Go to definition | .xsl / .xslt |
| Shift+F12 | Find references | .xsl / .xslt |
| F2 | Rename symbol | .xsl / .xslt |
| Shift+Alt+F | Format document | all |
| Ctrl+Space | Completion — and history recall in the XPath field | all |
| Ctrl+Z | Undo | all |
8.2 The toolbar
In their real order of appearance. Every button is icon-only: hover to read the label given below.
| # | Button | Active | Chapter |
|---|---|---|---|
| 1 | New file (Ctrl+N) | always | Editing §2.1 |
| 2 | Open workspace folder | always | Getting started §0.1 |
| 3 | Close workspace | if a workspace is open | Getting started §0.1 |
| 4 | Transformation scenarios | always | Transforming & exporting §3.7 |
| 5 | Transformation settings (⚙) | always | Transforming & exporting §3.2 |
| 6 | Run transformation (F5) | IDLE | Transforming & exporting §3.1 |
| 7 | Step Into (F11) | PAUSED | Debugging §4.3 |
| 8 | Step Over (F10) | PAUSED | Debugging §4.3 |
| 9 | Step Out (Shift+F11) | PAUSED | Debugging §4.3 |
| 10 | Run to cursor (Ctrl+F10) | PAUSED | Debugging §4.3 |
| 11 | Resume execution (F8) | PAUSED | Debugging §4.3 |
| 12 | Stop execution (Shift+F9) | RUNNING or PAUSED | Debugging §4.5 |
| 13 | Validate active file | always | Validating & comparing §7.1 |
| 14 | Validate an XML against a schema (XSD or DTD) | always — opens a menu; greyed out while a validation runs | Validating & comparing §7.2 |
| 15 | Format document (Shift+Alt+F) | always | Editing §2.4 |
| 16 | Compare two files (structural XML diff) | always | Validating & comparing §7.5 |
| 17 | Run with Saxon Profiler | IDLE | Analysing §5.1 |
| 18 | the Language selector | always | The interface §1.8 |
| 19 | Settings | always | §8.7 |
At the far right: the state badge (IDLE / RUNNING / PAUSED) and the status message.
The menu of the schema button
| Entry | Subtitle | Effect |
|---|---|---|
| XSD | Validate against an XSD schema | opens XSD Validation — and records the association |
| DTD | Validate against a DTD | opens DTD Validation — and records the association |
| Associate a schema | Link an XSD/DTD to the active file | links without validating |
8.3 When the debugging commands are active
Whether the buttons are enabled tells you on its own where execution stands.
| Command | IDLE | RUNNING | PAUSED |
|---|---|---|---|
| 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.
| Entry | Target | Chapter |
|---|---|---|
| Open | a file | Getting started §0.2 |
| Set as XML source | .xml | Getting started §0.3 |
| Set as main XSL | .xsl / .xslt | Getting started §0.3 |
| New file… | a folder | Editing §2.1 |
| New folder… | a folder | — |
| Delete | file or folder | confirmation required |
| Validate folder | a folder | Validating & comparing §7.3 |
| Validate workspace | the empty area | Validating & comparing §7.3 |
| Hierarchy/dependencies | .xsl / .xslt / .xsd | Navigating & refactoring §6.6 |
| Compare with… | a file | Validating & comparing §7.5 |
| Use as XML catalog | .xml | Validating & comparing §7.4 |
| Run XSpec tests | .xspec | Validating & comparing §7.7 |
| Generate XSpec skeleton | .xsl / .xslt | Validating & 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.
| Entry | Shortcut | Scope | Chapter |
|---|---|---|---|
| Go to definition | F12 | .xsl | Navigating & refactoring §6.1 |
| Find references | Shift+F12 | .xsl | Navigating & refactoring §6.2 |
| Rename symbol | F2 | .xsl | Navigating & refactoring §6.3 |
| Show generated output | — | .xsl, after a back-mapped transformation | Analysing §5.6 |
To these are added the standard editor entries: cut, copy, paste, format, command palette.
8.6 Mouse gestures
| Gesture | Effect | Where |
|---|---|---|
| Double-click a file | opens it in a tab | explorer |
| Drag and drop a folder | opens it as a workspace | welcome screen |
| Click in the gutter | sets or removes a breakpoint | editor, .xsl |
| Ctrl + click a symbol | goes to its definition | editor, .xsl |
| Ctrl + click in an output | highlights the XSLT instruction that produced it, and the source node | output tab |
| Single click on a panel row | opens the file and selects the line | Search, References, Problems, XSpec, Watch XPath (node-type value) |
| Double-click on a panel row | opens the file and highlights the line | Call 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
| Section | Setting | Values |
|---|---|---|
| Appearance | Theme | Dark / Light |
| Appearance | Language | French, English, Spanish, Russian, Chinese |
| Appearance | Font Size | numeric value — also Ctrl + + / Ctrl + − / Ctrl + 0 |
| Editor | Word Wrap | toggle |
| Editor | Minimap | toggle |
| Editor | Highlight Current Line | toggle |
| Preferences | Live validation | toggle — Editing §2.5 |
| Preferences | Output back-mapping | toggle — Analysing §5.7 |
| Preferences | XML 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.
| Tab | What it shows | What fills it | Chapter |
|---|---|---|---|
| Console | messages, trace, errors | every action | The interface §1.7 |
| Variables | XSLT variables and current node | a debugger pause | Debugging §4.4 |
| XPath Evaluator | evaluation of expressions | typing, at a pause or not | Debugging §4.4 |
| Call Stack | chain of templates | a debugger pause | Debugging §4.4 |
| Watch XPath | expressions re-evaluated at every stop | your watched expressions | Debugging §4.4 |
| Profiler | time per template, hot spots, call tree | the ⏱ button | Analysing §5.1 |
| Templates | templates triggered or not | a profiled run | Analysing §5.4 |
| Search | results across the whole workspace | Ctrl+Shift+F | Navigating & refactoring §6.4 |
| References | uses of a symbol | Shift+F12 | Navigating & refactoring §6.2 |
| Hierarchy | graph of includes / imports | the Hierarchy/dependencies menu | Navigating & refactoring §6.6 |
| Problems | files with errors from a batch | Validate folder / workspace | Validating & comparing §7.3 |
| Comparison | differences between two files | the Compare button | Validating & comparing §7.5 |
| XSpec | results of the unit tests | Run XSpec tests | Validating & comparing §7.7 |
An empty panel always says what will fill it — Run 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:
| Area | Receives | Example |
|---|---|---|
| Status message (toolbar) | configuration diagnostics and the summary of the last action | Error: 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 file | an 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
| Message | Cause | What to do |
|---|---|---|
| No workspace open | no working folder | Open workspace folder |
| Error: configure an XSLT file via ⚙ or open a .xsl in the editor | the active tab is not a stylesheet | open the .xsl or designate it by right-clicking |
| Error: no XML file found in workspace | no .xml in the folder | open a workspace that has one |
| Error: XSLT file not found — … | the designated file has been moved | designate it again |
| Open an XML file to associate a schema | the active tab is not an .xml | activate the document tab |
| No schema available | neither XSD nor DTD in the workspace | add the schema to the folder |
| XSD validation failed: 3 problem(s) | the document does not respect its schema | the errors are underlined in the document |
| Error: a mode name is required for the initial mode. | "Initial mode" entry point with no name | type the mode, or go back to the source document |
8.11 File types
| Extension | Editing | Assistance |
|---|---|---|
.xml | ✅ | schema-driven completion, validation, structure, comparison |
.xsl / .xslt | ✅ | XSLT completion, debugging, profiling, navigation, renaming, outline |
.xsd | ✅ | validation, structure, hierarchy |
.dtd | ✅ | validation |
.xspec | ✅ | running the tests |
| other | ✅ | syntax 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/.xslttabs only, and nevermatchtemplates — 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:includemodules 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:
| Remembered | Scope |
|---|---|
| The last workspace opened | application |
| The size and position of the window | application |
| Theme, language, font size | application |
| Live validation, back-mapping | application |
| Your transformation scenarios | workspace |
| Your watch expressions (Watch XPath) | workspace |
| The XML file ↔ schema associations | workspace |
| The XML catalogues declared | workspace |
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:
- Getting started — from an empty folder to a first breakpoint.
- The interface — the five areas of the window.
- Editing — completion, formatting, validation as you type.
- Transforming & exporting — formats, parameters, scenarios.
- Debugging — breakpoints, stepping, inspection.
- Analysing — profiler, coverage, back-mapping.
- Navigating & refactoring — definitions, references, renaming.
- Validating & comparing — batch, catalogues, comparison, XSpec.