Now: Tutorial for Web and Software Design > XML > Styles > XML Content
> New XSLT Technologies Debut [Bookmark it]
New XSLT Technologies Debut

New XSLT Technologies Debut

by Leigh Dodds
June 21, 2000

XSLT was a prominent feature of the XML Europe 2000 conference. This article looks at two innovative XSLT technologies presented at the conference in Paris last week.

XSLT Compiler

A big draw at the Sun Microsystems stand in the conference exhibition was the demonstration of an XSLT compiler. The compiler is capable of taking an XSLT style sheet and generating pure Java classes called "translets." The compiled translets showed impressive performance in comparison to XT, widely regarded as one of the fastest XSLT engines. The translets do not run as part of a style sheet engine, giving them a very low footprint--developers were treated to a demonstration of the translets running on a palmtop.

At present, the compiler only supports a subset of the full XSLT language, although it wasn't clear which features are not yet implemented. Development of the tool is continuing, and it's expected that a fully conformant implementation will be available by the end of July. Prior to this, Sun will be releasing the demonstration version of the technology, complete with source code, at the end of the month. The compiler will be available from the Sun Developers' Corner.

The Sun developers will also be seeking feedback on the tool, and suggestions from the XSLT community for additional features. One suggestion that has already been made is the ability to obfuscate the compiled code--allowing XSLT developers to protect the source of their transformations, something they are currently unable to do.

XSLT Virtual Machine

In an interesting presentation on the last day of the conference, Anguel Novoselsky of Netfish Technologies introduced an architecture for an XSLT Virtual Machine (XSLTVM), developed in a project by Oracle.

The presented architecture was fairly standard: a compiler takes an XSLT style sheet and produces bytecode, which encodes simple machine instructions that will carry out the transformation. The bytecode is then executed by a virtual machine to effect the transformation. This means that the bytecodes produced by the compiler are platform-independent, just like Java classes.

The design approach taken separated the XSLT operations into those that could be achieved at compile-time, and those that were run-time. This gave the immediate advantage of allowing very fine control over memory allocation in the processor. Novoselsky believed that one flaw in current XSLT processors is that they use fairly high-level instructions, which mix run-time and compile-time operations.

Novoselsky was of the opinion that a lack of scientific rigor made XSLT more of a "toy" language than it could be. XSLTVM could potentially allow side-effects (e.g., variables could be assigned multiple times), something that the XSLT language currently doesn't allow. Throughout the talk, Novoselsky stressed that the techniques applied to produce XSLTVM are standard in the compiler and virtual machine design communities.

Observing that in many applications the input and output formats for a transformation are known in advance, Novoselsky pointed out that further optimizations could be applied: particularly if the formats are described using XML Schemas. The direct result of this would be the ability to allow serial processing of the transformation, meaning that SAX could be used as both the input and the output for the virtual machine. This not only removes the need to build an inefficient DOM tree, but would allow streaming of an XSLT transformation: a "holy grail" that has been a frequent topic on many developer mailing lists.

The project is being continued at Oracle by the paper's co-author, K. Karun. It's unclear whether the virtual machine will be available in the future as a separate application, but the lessons learnt from the production of XSLVM are being applied to enhance Oracle's XSLT processor.

Conclusion

XSLT has now become part of the standard XML toolkit. In almost every business or technical framework presented at the conference, XSLT featured as a component. Developers are actively using this tool and are keen to see it mature. The XSLT Birds of a Feather (BOF) sessions that took place every lunchtime at XML Europe were well attended.

With developers making serious use of XSLT, it's unsurprising that limits in performance are already being pushed. Technologies like the XSLT compiler and virtual machine are hot topics: the future is definitely bright for XSLT.

[Bookmark][Print] [Close][To Top]
  • Prev Article-XML:

  • Next Article-XML:
  • Related Materias
    Push, Pull, Next!
    An Interview with Michael 
    From One String to Many
    Tunneling Variables
    New and Improved String Ha
    Online Magazines with Apac
    The XML.com Interview: Eri
    Never Mind the Namespaces:
    XSLT Processing in .NET
    Whats New in XSLT 2.0
    Topics
    Photoshop Tutorial
     

    Special Effect

      3D Effect
      Photoshop Articles
    Programming Tutorial
     

    C/C++ Tutorial

      Visual Basic
      C# Tutorial
    Database Tutorial
     

    MySQL Tutorial

      MS SQL Tutorial
      Oracle Tutorial
    Graphic Design Tutorial
     

    Coreldraw Tutorial

      Illustrator Tutorial
      3D Graphics Articles
    Webmaster Articles
     

    Domain Service

      Web Hosting
      Site Promotion
    Java Tutorial&Articles
     

    Java Servlets

      JavaEE Tutorial
     

    JavaBeans Tutorial

    XML Tutorial&Articles
     

    XML Style Tutorial

      AJAX Tutorial
      XML Mobile
    Flash Tutorial&Articles
     

    Flash Video

      Action Script
      Flash Articles
    OS Tutorial&Articles
     

    Linux Tutorial

      Symbian Tutorial
      MacOS Tutorial