Studio ApplyXSLT Step Fails to Compile Stylesheet That Works Standalone
The error Xslt step id=ApplyXSLT stylesheet mctx:vars/dt.var.intsys.stylesheet located at mctx:vars/dt.var.intsys.stylesheet is invalid or missing, reason: javax.xml.transform.TransformerConfigurationException: Failed to compile stylesheet. 9 errors detected. SequenceType syntax error at char 0 in {map(xs:integer)}: Expected type name in SequenceType, found <function>( XPath syntax error at char 28 on line 165 in {map:get($m.nodeLookUp, $cnt)}: Cannot find a matching 2-argument function named {http://www.w3.org/2005/xpath-functions/map}get(). Note: external function calls have been disabled Unknown XSLT element: map
What it means
A Studio ApplyXSLT step can fail to compile a stylesheet that runs fine in a standalone XSLT 3.0 processor, because Workday's tenant-side transformer does not support the same XPath 3.1 map and function features that some external processors allow.
Troubleshooting
- Read the compile error list carefully: "Unknown XSLT element: map" and "Cannot find a matching 2-argument function named map:get" both point to XPath 3.1 map syntax, not a stylesheet typo.
- Rewrite any xsl:map, map:get(), or map(xs:integer) constructs using XSLT 2.0/3.0-safe alternatives (key(), for-each, variables) instead of the map data type.
- Test the rewritten stylesheet inside an actual Studio ApplyXSLT step, not only a standalone or local XSLT processor, since local tools may support a newer XPath spec than the tenant transformer.
- If the stylesheet is shared across an external tool and Studio, keep two versions: one for external validation, one confirmed against Studio's transformer.
⚡ Quick fix
Remove or replace any XPath map or function syntax in the stylesheet until it compiles cleanly under Studio's ApplyXSLT step, then redeploy.
✓ Permanent fix
Standardize stylesheet development against Studio's actual transformer rather than assuming feature parity with a standalone XSLT processor, and add a Studio-side compile check to the review process before a stylesheet is considered done.
Was this helpful?