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.