Skip to Content
Author's profile photo Evgeniy Kolmakov

How to use external XSLT processor for PI Dual stack installations.

As many of us know, one of the new features introduced in SAP NetWeaver 7.3 EHP1 is the possibility of using custom XSLT Processor to support XSLT 2.0 transformations.

There is a wonderful blog written by Chris Christoffersen which describes the steps need to be done in order to enable this new feature in PI/PO systems.

One thing: some users reported in comments, that after applying all necessary settings and performing all steps external proccessor stiil wasn’t involved in XSLT mappings.

After some investigations, including attempts with different XSLT processor’s JARs, the hint was found withing SAP Help page, describing this new feature:

To enable the use of external transformers, a new property has been introduced in the exchange profile.

Yes, the key difference between PI Dual Stack and PI AEX/PO systems is that PI Dual Stack reads parameter from Exchange Profile, while PI AEX/PO system takes this parameter from service XPI Service: AII Config Service.

Thus, to enable the external XSLT processor in PI Dual Stack system we should access Exchange Profile by following URL:


find parameter in parameters tree:


and set its value to “true” (mark checkbox).

Viola! Now our PI Dual Stack system is ready to work with XSLT 2.0 transformations.

Regards, Evgeniy.

Assigned Tags

      You must be Logged on to comment or reply to a post.
      Author's profile photo Former Member
      Former Member

      Hi Evgeniy,

      We do have some challenges with XLST Mapping in large message size processing. Where it crashed our PI Java instance every once in a while.

      Will external xslt processor be able to alleviate this situation ? (i.e. does it use memory space outside of the PI Java memory footprint ?)


      Author's profile photo Evgeniy Kolmakov
      Evgeniy Kolmakov
      Blog Post Author

      Hi Ferry!

      I've never faced with such requirement but I guess that external processor would use the same java server memory as it's loaded as java class during runtime mapping execution.

      But you can try.

      Regards, Evgeniy.

      Author's profile photo Chris Christoffersen
      Chris Christoffersen

      Hi Evgeniy

      Thanks for the kind words and for figuring out how to make this work on a PI dual stack system. Do you mind if I link to your blog from mine? Just to redirect the users having issues on the dual stack.



      Author's profile photo Evgeniy Kolmakov
      Evgeniy Kolmakov
      Blog Post Author

      Hi Chris!

      Of course, I don't mind! Feel free to do that.

      And thank you once again for your blog which helped me in moving to XSLT 2.0 at last 🙂 .

      Regards, Evgeniy.