We introduce a lazy XSLT interpreter that provides random access to the transformation result. This allows efficient pipelining of transformation sequences. Nodes of the result tree are computed only upon initial access. As these computations have limited fan-in, sparse output coverage propagates backwards through the pipeline. In comparative measurements with traditional eager implementations, our approach is on par for complete coverage and excels as coverage becomes sparser. In contrast to eager evaluation, lazy evaluation also admits infinite intermediate results, thus extending the design space for transformation sequences. To demonstrate that lazy evaluation preserves the semantics of XSLT, we reduce XSLT to the lambda calculus via a functional language. While this is possible for all languages, most imperative languages cannot profit from the confluence of lambda as only one reduction applies at a time.There are many reasons for this, including high technical quality and the free Acrobat viewer available on all major ... Corel PDF Engine, CL-PDF, DaVince C++ Class Library, Apache FOP, HPA image bureau, Oracle PDF driver, Panda, ... was the universal way of communicating with printers and therefore nearly every application could produce PostScript, ... JPEG2000 over JPEG, and Flate over LZW, and compressible object streams over individual tmcompressed toplevel objects.
|Title||:||Proceedings of the 2003 ACM Symposium on Document Engineering|
|Author||:||Christine Vanoirbeek, Cécile Roisin, Ethan V. Munson|
|Publisher||:||Association for Computing Machinery (ACM) - 2003|