The list of sessions is incomplete at present. You can still suggest your own workshops or BoF sessions.


Conference Talks (Saturday 17th June) Workshops/BOFs (Sunday 18th June)


xq2xml: transformations on XQueries
David Carlisle
NAG Ltd.

xq2xml consists of a set of XSLT2 stylesheets to manipulate XQuery expressions. The two main applications are converting to XQueryX and XSLT.

The initial parsing of the XQuery expression is performed by the W3C Working Group test parser (maintained by Scott Boag). This presents an XML view of the parse tree, which may then be manipulated by XSLT.

The transformation to XSLT2 was mainly designed to highlight the similarities and differences between XQuery and XSLT, and this talk will discuss the relationship between the two languages. However it may also be seen as the first stage in an XQuery implementation, which is completed by executing the generated XSLT with an XSLT2 processor. xq2xml has been regularly tested in this mode with the XQuery test suite.

Other transformations are provided to (for example) rewrite expressions using the optional axes in XQuery to equivalent expressions that do not use optional axes.

More details, and full source of xq2xml, may be obtained from


Index-driven XQuery processing in the eXist XML database
Wolfgang Meier
eXist XML database

XQuery takes a central stage in eXist and not just as a "query language": users increasingly start to write entire web applications with nothing but XQuery, supported by a growing number of module libraries and new trends in web development like AJAX.

eXist provides its own XQuery implementation, which is backed by an efficient indexing scheme at the database core to support quick identification of structural node relationships. eXist's approach to XQuery processing can thus not be understood without knowing the indexing scheme and vice versa. Over the past years, two different indexing schemes for XML documents were implemented in eXist: while the first was based on an extended level-order numbering scheme, we recently switched to hierarchical node ids to overcome the limitations imposed by the former approach.

The presentation provides a quick overview of these developments and eXist's architecture. Based on this foundation, we should have a look at some central aspects of XQuery processing and optimization within an XML database.


XML/RDF Query By Example
Eric van der Vlist

Even though the "RDF tax" may be low for XML vocabularies, especially when they describe graphs, when it comes to querying the model, current query languages require that you choose your camp (either XML or RDF) and learn complex query languages such as XQuery, SQL/XML or one of the many RDF query dialects.

This talk will present a query language based on examples (QBE) that can be used to query both the XML syntax of a RDF document and the underlying RDF model.

Furthermore, the queries themselves are expressed as valid XML/RDF documents and attempt to make sense both as XML documents and as RDF triples.


Optimization in XSLT and XQuery
Michael Kay

XSLT and XQuery are both high-level declarative languages, and as such, performance depends strongly on optimization. This talk gives a survey of the optimization techniques that are used, which are based on established techniques from both the functional programming and relational database traditions. The focus is on the techniques used in the speaker's own processor, Saxon (which implements both XSLT and XQuery) but the same range of techniques can be expected to be found in other products. In most cases, the same techniques apply to both languages, but there are some areas of difference which may be significant when choosing which language is most appropriate for your particular application.

The talk is designed primarily for users of XSLT and/or XQuery, but with the recognition that to get the best out of your chosen XSLT or XQuery processor, it's useful to know a little bit about what is happening under the covers.


Web 2.0: myth and reality
Eric van der Vlist

The Web 2.0 is both a new buzzword and a real progress. The first difficulty when we want to make an opinion about Web 2.0 is to distinguish its perimeter. When you need to say if an application is XML or not, that's quite easy: the application is an XML application if and only if it conforms to the XML 1.0 (or 1.1) recommendation. That's not so easy for Web 2.0 since Web 2.0 is not a standard but a set of practices.

Web 2.0 is a blurred concept which aggregates a number of tendencies and everyone seems to have his own definition of Web 2.0 as you can see by the number of articles describing what the Web 2.0 is. In this talk, I'll try to separate the myth from the reality.


XML Data - The Current State of Affairs
Kamil Toman, Irena Mlýnková
Charles University, Prague

At present the eXtensible Markup Language (XML) is used almost in all spheres of human activities. Its popularity results especially from the fact that it is a self-descriptive metaformat that also allows to define the structure of XML data using other powerful tools such as DTD or XML Schema. Consequently, we can witness a massive boom of techniques for managing, querying, updating, or compressing XML data.

On the other hand, for majority of the XML processing techniques we can find various spots which cause worsening of their time or space efficiency. Probably the main reason is that most of them consider XML data too globally, involving all their possible features, though the real data are often much simpler. If they do restrict the input data, the restrictions are often unnatural.

In this contribution we discuss the level of complexity of real XML collections and their schemes, which turns out to be surprisingly low. We involve and compare results and findings of existing papers on similar topics as well as our own analysis and we try to find the reasons for these tendencies and their consequences.


The road to an XSLT/XQuery IDE
George Cristian Bina
oXygen XML Editor

Most XSLT/XQuery tools provide editing and transformation support. Some provide also debugging and profiling support. However there is a lot more to do to have an XSLT/XQuery IDE similar with today's Java IDEs for instance. oXygen started to walk on this road providing a number of advanced development features. An overview of the features that should be available in a modern XSLT/XQuery IDE and more details about the part of these features already implemented in oXygen will be presented.


First eXist Workshop
Wolfgang Meier
eXist XML database

We would like to give eXist users and developers room to learn from each other, present projects, discuss ideas, problems and our roadmap for the future. The schedule is still very much open (time planned: 9am to 2pm). All community members are invited to contribute and propose presentations or topics to discuss. In particular, we would be interested to see presentations on concrete projects you are working at, including problems you encountered or wishes you may have. The workshop should not be too much developer-oriented.

See eXist Wiki for details about this workshop.


DocBook BoF
Jirka Kosek

Are you using DocBook and want to know which new features are available in a brand new DocBook version 5.0? Then come and join DocBook BoF. During this BoF Jirka Kosek will present new features of DocBook V5.0. You will see how to edit, validate and process DocBook V5.0 content and how easily you can create customized DocBook versions using RELAX NG schema language. At the end of the session there will be enough time do discuss various DocBook issues with other users.

Jirka Kosek is a member of OASIS DocBook TC and a developer of open-source XSLT stylesheets for processing DocBook content. Do not miss this unique chance to meet core DocBook developer and register for XML Prague 2006 today.


Perl XML BoF
Petr Cimprich, Petr Pajas
Ginger Alliance, Charles University, Prague

Perl is a powerful environment to work with XML, though not always easy for new users. CPAN contains several hundreds of Perl XML modules and choosing the right modules for your project requires some experience. During this BoF, you can meet with authors and experienced users of Perl XML CPAN modules, to learn from them, and to contribute by your own knowledge.


Xdefinition BoF
Václav Trojan

Xdefinition is a tool that enables the description of both the structure and the properties of data values in an XML document. Moreover, the Xdefinition allows the description of the processing methods of specified XML objects. With Xdefinition it is possible to validate XML documents and to describe most of the XML transformations.

Xdefinition enables the merging in one source of both the validation of XML documents and processing of data (using "actions"). Compared to the "classical" technologies based on DTD and XML schemas, the advantage of Xdefinitions is higher readability and easier maintenance. Xdefinitions has been designed for processiong very large XML data files, up to many gigabytes in size. Moreover, Xdefinition may serve as the tool for both description and implementation of metalanguges based on XML technologies.

A basic property of Xdefinition is maximum respect for the structure of the described data. The form of Xdefinition is - as described for XML data - an XML document with a structure similar to the described XML origin data. This allows you to quickly and intuitively design Xdefinitions for any given XML data. In most cases this requires just the replacement of XML data values with simple scripts. You can also gradually add to your script the required actions for data processing, so you can take a step-by-step approach to your work.

See Xdefinition web site for more details.


Sponsored by

Main Media Partner

Media Partners