Uni Göttingen
Institute for Informatics
Databases and Information Systems


Practical Training XML
Winter Term 2022/23

Prof. Dr. Wolfgang May
Lars Runge, M.Sc.,

  • Module M.Inf.1802, 4 SWS, 6 ECTS-credits; it is graded (=benotet)

Course Description

The practical training builds upon the lecture Semistructured Data and XML. It introduces XML application programming based on Java and on Web Services.


  • Successful participation in the module Semistructured Data and XML or comparable good knowledge in XML, and
  • Successful participation in the "General Programming Lab/Allgemeines Programmierpraktikum" (or an equivalent course on Programming+Java).

The training uses the concepts of the XML world: XML, DTD, XPath, XQuery, XSLT, XLink, XML Schema, SQL/XML, XML APIs for Java (DOM, SAX, StAX, JAXB), and Web Service infrastructure (Apache Tomcat).
Most of the course uses the geographical sample database "Mondial" in its XML version.

  • Date and Time: Mon 14-18
  • Room: IFI 2.101 (North Campus)
  • The course takes place in groups of 3-4 persons. There are usually 5 units: XPath/XQuery, XSLT (both based on the material of the lecture), XML and Java I (DOM/SAX/StAX), XML and Java II (JAXB and Digester), and Web Services (with an application project).
  • There will be some (optional) live online "course meetings" with BigBlueButton provided by GWDG; the rooms/meetings can be entered via StudIP.
  • For every unit, there is an exercise sheet which will be discussed with one of the supervisors; maybe also the monday slots can be used for this.
  • Materials for self-studying are provided as PDF slides and as videos (from winter term 2020/21)
  • Please also read the general and technical information about DBIS virtual teaching.

Documentation: use the slides from the SSD/XML lecture (the full slide set can be found here; Sections 1-8 were the material of the lecture, the rest is intended for the practical course) and the W3C documentation linked below. For practical exercises, the XML software is installed in the IFI CIP Pool. Short descriptions of the software to be used can be found here.

Prospective Time Schedule

Part I: Review of basics, concepts and languages around XML that should be known from the XML lecture.

  • Mo 31.10. Holiday (Reformation Day) in northern Germany. No meeting.
  • Kickoff Meeting (attendance required): Mo 7.11.. 14-16: Introduction, Formalities
  • 7.11. cont'd: 1. Unit: Exercises to XPath, XQuery (including user-defined functions)
    Slides: XPath, Slides: XQuery from the lecture.
    In addition to the slides, the W3C material serves as technical documentation for the languages:
    W3C XPath 3.0, W3C Recommendation, 2014.
    W3C XQuery 3.0, W3C Recommendation 2014.
    W3C XPath and XQuery Functions and Operators 3.0, W3C Recommendation 2014.
    Exercises: TO BE EXTENDED (groupwise discussion until 18./21.11.2022)
  • 14.11. 2. Unit: XSLT
    Slides: XSLT
    W3C XSLT 3.0, W3C Recommendation 8 June 2017.
    Exercises: TO BE EXTENDED (groupwise discussion until 2./5.12.2022)
  • Discussion of Exercise Sheet 1 (XPath/XQuery): groupwise, with one of the supervisors
  • Discussion of Exercise Sheet 2 (XSLT): groupwise, with one of the supervisors

Part II:

  • 28.11.: 3. Unit: XML and Java I: DOM, SAX, StAX
    Slides: XML and Java I
    Code fragments from the slides: to download
    Exercises: TO BE EXTENDED (groupwise discussion until 16./19.12.2022)
  • 12.12.2022: 4. Unit: XML and Java II: JAXB, Digester
    Slides: XML and Java II.
    JAXB uses XML Schema: Slides XML Schema
    Code fragments from the slides: to download (including the readme with the shell commands for JAXB)
    The Digester jar files can be found in /afs/informatik.uni-goettingen.de/user/d/dbisuser/XML-Tools/Digester (CIP Pool) or here.
    Note: the Digester examples on the slides work in the IFI-Pool only when /afs/informatik.uni-goettingen.de/group/dbis/public/oracle/lib/xmlparserv2.jar is not in the classpath (situation in 2019).
    Exercises: TO BE EXTENDED (groupwise discussion until 13./16.1.2023)

Part II:

  • 9.1.2023: 5. Unit: Web-Server-Technology, HTTP, Servlets.
    Slides: Web Services
    Installation instructions for tomcat
    XQuery Demo Servlet as .war-file
    Servlet Demo Source Code
    For using other people's Web Services, you need HTTP internet access to their Apaches. This is usually not possible "behind" an internet provider (dynamic IP addresses). For this, you can use the institute's shell servers (with ssh forwarding) and install tomcats there (if you are on the same shellX, then bind your individual tomcats to 8080, 8081, 8082 ...):
       * login.stud.informatik.uni.goettingen.de -> shell1.cip.loc  ... shell8.cip.loc
  • Exercise Sheet 5: Web Services, Project TO BE EXTENDED
  • Project Meetings TO BE EXTENDED
  • ... to be extended