Static Validation of XSL Transformations

Anders Møller, Mads Østerby Olesen, Michael Ignatieff Schwartzbach

    Research output: Contribution to journal/Conference contribution in journal/Contribution to newspaperJournal articleResearchpeer-review

    13 Citations (Scopus)

    Abstract

    XSL Transformations (XSLT) is a programming language for defining transformations among XML languages. The structure of these languages is formally described by schemas, for example using DTD or XML Schema, which allows individual documents to be validated. However, existing XSLT tools offer no static guarantees that, under the assumption that the input is valid relative to the input schema, the output of the transformation is valid relative to the output schema.

    We present a validation technique for XSLT based on the XML graph formalism introduced in the static analysis of JWIG Web services and XACT XML transformations. Being able to provide static guarantees, we can detect a large class of errors in an XSLT stylesheet at the time it is written instead of later when it has been deployed, and thereby provide benefits similar to those of static type checkers for modern programming languages.

    Our analysis takes a pragmatic approach that focuses its precision on the essential language features but still handles the entire XSLT language. We evaluate the analysis precision on a range of real stylesheets and demonstrate how it may be useful in practice.

    Original languageEnglish
    JournalA C M Transactions on Programming Languages and Systems
    Volume29
    Issue4
    Pages (from-to)Article 21
    Number of pages45
    ISSN0164-0925
    DOIs
    Publication statusPublished - 2007

    Fingerprint

    Dive into the research topics of 'Static Validation of XSL Transformations'. Together they form a unique fingerprint.

    Cite this