We are utilizing Unix version 10 of webMethods and I had a quick question about XSLT.
In our environment, we have different xslt services within our packages, but every time there’s a slight modication needed for the xslt, this puts us through a lot of paperwork on our end in order to make a production change. We would not have to be concerned about this if the XSLT lived like within a unix file directory or within a database. If the XSLT lived there, instead of within the webMethods package, things are much more flexible over here when it comes to modifications.
Anyone aware or currently doing what I’m asking about? If an external XSLT is built, could the XSLT perhaps live elsewhere like in a file directory or database and be pulled/imported into the flow code to do the transformation, versus having to create and rely on the xslt service built in Designer? Trying to see if this is even possible
sure this is possible for quite a long time now (we are using this in our project for more than 10 years now).
Check the IS Built-In-Services Reference for the WmXSLT folder/package.
You will find a service named pub.xslt.Transformations:transformSerialXML there.
This one takes a Document and path name to the xslt definition file as inputs and returns the result of the transformation as output.
Pathes to the filenames are relative to the IS instance base directory, i.e. IntegrationServer/instances/default.
By using this approach you will only have to replace the xslt definition file in the filesystem and clear the xslt cache via pub.xslt.Cache:removeAllTemplates to apply a new version of the transformation rule set.