Tags
Saxon
- FODC0002
02 Jul 2026
doc() or document() could not load the requested document: wrong relative URI, missing file, or an environment (like an online tool) with no filesystem access.
- FORG0001
02 Jul 2026
A cast or constructor function received a value it cannot convert — casting text to a number or date is the usual suspect. Guard with 'castable as' or use number().
- FORX0002
02 Jul 2026
The pattern given to matches(), replace(), tokenize() or xsl:analyze-string is not a valid XPath regular expression — watch out for curly braces in attributes and unsupported constructs.
- SXXP0003
02 Jul 2026
A Saxon wrapper code: the source document failed to parse as XML. The real diagnosis is in the underlying parser message that follows the code.
- XPDY0002
02 Jul 2026
An expression uses a relative path (./foo, foo/bar) in a place where there is no context node — typically inside xsl:function or a stylesheet-level variable.
- XPST0008
02 Jul 2026
An XPath expression references a variable that does not exist at that point: a typo, or a variable declared inside a block and used outside its scope.
- XPST0017
02 Jul 2026
Saxon cannot resolve a function call: the function name is unknown, the number of arguments is wrong, or the function belongs to a newer XSLT/XPath version than the one you selected.
- XPST0081
02 Jul 2026
An XPath expression uses a namespace prefix that is not declared in the stylesheet. Declaring the prefix on xsl:stylesheet fixes it.
- XPTY0004
02 Jul 2026
A type error: an expression returned a sequence or type that does not match what the function, operator or comparison expects. The strict type rules of XPath 2.0+ are usually behind it.
- XSLT error messages explained: the 17 most common Saxon errors and how to fix each one
02 Jul 2026
A practical triage guide to XSLT and Saxon errors — XPST0017, XPTY0004, XPDY0002, 'Content is not allowed in prolog' and more: what each means and the fastest fix.