Deployed maps
Deployed maps live in the Logic App's Artifacts/Maps folder (or the connection's mapFolder, or the XsltCompose__MapRoot setting) and are deployed with the app. A map can include and import other maps by relative path:
<!-- Artifacts/Maps/orders/order-to-sales-order.xslt -->
<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
<xsl:import href="../common/normalize.xslt"/> <!-- relative to this module, inside the map folder -->
…
</xsl:stylesheet>- Inside the map folder only. Absolute paths, drives, UNC, URLs,
file:,..escapes, symbolic links and junctions are refused withMapAccessDenied. - Errors name the module and line, for a missing import too:
MapNotFoundsays which module referenced it, at which line. - Changing any module changes the map hash, so the compiled cache picks it up.
Inline maps
Set mapSource to inline and put the stylesheet in xslt. Good for small, self-contained maps; they cannot include or import.
Output
| xsl:output method | contentType | Typical use |
|---|---|---|
| xml (default) | application/xml; charset=utf-8 | Canonical messages, then xpath() in later actions |
| html | text/html; charset=utf-8 | Reports and e-mails |
| text | text/plain; charset=utf-8 | CSV, fixed-width, or JSON text parsed with json() |
XSLT 1.0 on .NET
msxsl:node-set()and the other built-inmsxsl:functions work, so you can sum computed values without scripts.- EXSLT is not available;
document()is disabled; DTDs are prohibited. - Output is always UTF-8 without a BOM, with
\nline endings. xsl:message terminate="yes"fails the action withTransformationFailed; the message text is not returned, because it may contain payload data.