When some developer sees the XSLT first time she tries to use it the "normal" way - she builds procedural code. Resulting XSLT template will have horrendous memory footprint and will performs really slow. This is exactly what happens with Filenet Workplace. If you have been on Filenet Fundamentals or Filenet Web Framework course, you have heard that Workplace starts so slow because "the JSPs are being compiled". This is, of course, not true because Filenet Web Framework's JSPs are really small ones. Real reason lies in XSLT transformation. It uses procedural XSLT and most of the time just wastes CPU time and server memory. Of course nobody bothers to cache the results of the transformations, so the same pieces of content are compiled and transformed by XSLT processor again and and again.