To: seminaire@pauillac.inria.fr From: Didier.Remy@inria.fr Subject: SEM - INRIA : Cristal - 07/05/04 - Paris - FR Vous pouvez maintenant vous abonner à nos annonces de séminaires http://pauillac.inria.fr/seminaires/subscribe.html S E M I N A I R E . ___ / _ _ / _ / / / \ / \ / / __| / |___ |_/ |_/ / |__ |_/ |_ ___ . / / ___ __ /_ _ / _/ /| /| _ __ __ _ _ / / / /_ / __| / / |/ | / \ /_ / / \ | / __| |___ / / __/ |_ |_/ |_ / | |_/__/ |_ |_/ |/ |_/ I N R I A - Rocquencourt Amphi 2 du Bat 1. Vendredi 7 mai, 10h30 ------------------ Benjamin C. Pierce ------------------ University of Pennsylvania ==================================================== Native XML processing in a statically typed language ==================================================== NATIVE XML PROCESSING IN A STATICALLY TYPED LANGUAGE Benjamin C. Pierce University of Pennsylvania The recent rush to adopt XML can be attributed in part to the hope that the static typing provided by DTDs (or more sophisticated mechanisms such as XML-Schema) will improve the robustness of data exchange and processing. However, although XML _documents_ can be checked for conformance with DTDs, current XML processing languages offer no way of verifying that _programs_ operating on XML structures will always produce conforming outputs. In previous work, we have designed and implemented a domain-specific language for XML processing, called XDuce. The main novelties of XDuce are: 1) A type system based on REGULAR EXPRESSION TYPES. Regular expression types are a natural generalization of DTDs, describing structures in XML documents using regular expression operators (*, ?, |, etc.) and supporting a powerful form of subtyping. 2) A corresponding mechanism for REGULAR EXPRESSION PATTERN MATCHING, which supports concise "grep-style" patterns for extracting information from inside structured sequences. The lessons learned from XDuce are now being incorporated in a new language, called Xtatic, whose design focuses on smooth integration of these novel XML-processing features into mainstream, object-oriented languages such as C#. The current vision is that Xtatic will be engineered as a lightweight extension to C#, offering native support for regular expression types and patterns and completely interoperable at the binary level with ordinary C# programs and APIs. This talk describes the basic design principles of Xtatic, discusses a few of of the fundamental technical issues in more depth, and sketches the current state of the project. Xtatic is joint work with Vladimir Gapeyev, Michael Levin, and Alan Schmitt.