Skip to content
LambogeniusDocs

Compose using XSLT for Azure Logic Apps

Configuration and limits

App settings for the map folder, scripts, workers and Functions, and the size and time limits.

Service provider/serviceProviders/lamboXsltComposeOperation ComposeXslt, shown in the designer as Compose using XSLT.

App settings

All optional. They are read when the host starts.

SettingDefaultMeaning
XsltCompose__MapRoot<app>/Artifacts/MapsDeployed-map folder.
XsltCompose__AllowScriptstruefalse refuses every map with msxsl:script.
XsltCompose__AllowedFunctionAliases(no restriction)Comma-separated: actions can only use these aliases.
XsltCompose__FunctionRegistryPath(none)Registry file, relative to the app root.
XsltCompose__FunctionRegistry(none)Inline registry JSON; wins over the path.
XsltCompose__Workers2Worker processes = concurrent transformations.
XsltCompose__MaxQueue20Jobs that may wait; beyond that ResourceLimitExceeded (429).
XsltCompose__RecycleAfterJobs1000Retire a worker after this many jobs.
XsltCompose__RecycleWorkingSetMB1024Retire a worker above this working set.
XsltCompose__CompiledCacheEntries64Compiled maps cached per worker (LRU).

Limits (XsltCompose__Limits__*)

SettingDefault
MaxInputBytes5 MiB
MaxRootStylesheetBytes / MaxBundleBytes1 MiB / 5 MiB
MaxModules / MaxImportDepth32 / 8
MaxOutputBytes10 MiB
MaxActionSeconds60 (the worker is killed when it passes)
MaxCompileSeconds30
MaxFunctionCallSeconds / MaxFunctionCalls5 / 50 per transformation
MaxFunctionRequestBytes / MaxFunctionResponseBytes64 KiB / 64 KiB

Keep MaxActionSeconds well below the Logic Apps runtime's own action timeout.