Tutorial T09


Tutorials  T1  T2  T3  T4  T5  T6  T7  T8  T9  T10  T11  T12  T13  T14  T15  T16  T17  T18  T19  T20  T21 

Programming with XML


Presenter: Peter Bunemann
Level: Intermediate
Day: Monday (June 18) a.m.


XML is widely believed to be the future medium for data exchange on the Web, but how will we program with it? In asking this question we have to remember that large XML documents will be stored in databases, and that our programming language interfaces will have to provide more than a serial scan of the document. Some form of query language will be essential. In this tutorial I shall cover three topics: XML query languages. These include XSL, Lorel, XML-QL and XQL. The more sophisticated of these query languages are based on ideas that were developed for semistructured data. They have certain common features but differ greatly in their expressive power. Programming interfaces. A brief review of the Document Object model and how it is exploited in current systems. Programming languages and more sophisticated APIs. The systems mentioned above are essentially untyped. They ignore Document Type Declarations (DTDs) which are part of the XML standard and bear some resemblance types. Can we use them to provide new languages and more robust APIs? Prototypes such as YAT and Xduce offer new approaches to subtyping and also indicate shortcomings in DTDs.

Audience:
People interested in XML and programming with it.

Required experience:
Knowledge of XML Database query languages (helpful but not essential). Types and subtypes. Basic math for CS (e.g. automata theory).

Presenter's profile:
Peter Bunemann has a long-standing interest in databases and programming languages; he has recently developed an interest in semistructured data, a topic on which he co-authored a book with Serge Abiteboul and Dan Suciu.