Institute for Informatics
Georg-August-Universität Göttingen

Databases and Information Systems Group

Uni Göttingen

Practical Training XML
Winter Term 2011/2012

The course yields 6 ECTS-credits

Prof. Dr. Wolfgang May
Assistant: Daniel Schubert


  • Successful participation in the module "Semistructured Data and XML",
  • Successful participation of the "General Programming Lab/Allgemeines Programmierpraktikum" (or an equivalent course).

Course Description

The practical training builds upon the lecture Semistructured Data and XML. The training uses the concepts of the XML world: DTD, XPath, XQuery, XSLT, XLink, XML Schema, SQL/XML, XML APIs for Java (SAX, DOM, JAXB), and Web Service infrastructure (Apache Tomcat).

  • The first part of the course uses the geographical sample database "Mondial" in its XML version.
  • The second part is intended to be carried out in a project-style, (topics to be discussed: application scenario using Web Services, Java and XML; RDF/XML, ...)

Documentation: use the slides from the summer lecture 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.

Time Schedule

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

  • 1. Meeting + Lecture: 26.10. (Mi), 10-12 ct SR 2.101: Introduction, Formalities, Recall XML, XPath.
    1. Unit: Exercises to XPath, XQuery (including user-defined functions), XSLT
    W3C XPath 2.0, W3C Recommendation 14 December 2010.
    W3C XQuery 1.0, W3C Recommendation 14 December 2010.
    W3C XQuery 1.0 and XPath 2.0 Functions and Operators, W3C Recommendation 14 December 2010.
    W3C XSLT 2.0, W3C Recommendation 23 January 2007.
    Exercises: Blatt 1: XQuery, Blatt 2: XSLT.
  • The software playground page can be found here.
    The sample code fragments can be found in the pool under /afs/
  • 9.11.:
    • ein bisschen was zu RDF (Datenmodell, einige Konzepte).
      Weitergehende Folien: [2-on-1]
    • XMLSchema (Simple Datatypes); Folien
  • 16.11.:
    • XMLSchema (Complex Datatypes)
    • XLink; Folien
  • 16.11., 16:00 Besprechung der Aufgabenblätter 1 und 2
  • Aufgabe: Nehmen Sie das mondial.xsd vom Web und validieren mondial.xml (und mondial-europe.xml). Wahrscheinlich gibt es Fehler, es schon etwas aelter ist, und Mondial seitdem noch erweitert wurde. Erweitern Sie das Schema entsprechend.
  • 23.11. XML and Java (Part I: DOM and JAXB).
    Slides XML and Java,
    The exercises to this unit exhibit the typical features of each of the concepts in comparisons:
    • DOM: The Java API for handling XML trees (we use jdom)
    • JAXB: mapping XML element types to Java classes based on XML Schema
    • Exercise: DOM vs. JAXB
    • SAX: Stream-Based API
    • StAX: another Stream-Based API
    • Exercise: SAX vs. StAX
  • 30.11. XML and Java (Part II - Stream-Based APIs: SAX and StAX).
  • 7.12. Web-Server-Technologie, HTTP, Servlets.
    Folien (DOM, JAXB, SAX, StAX umstrukturiert, neue Folien zu Web Services)
    Gezipptes Beispielservlet
  • 14.12. (Treffen im CIP-Pool) Besprechung von Aufgaben (XML Schema, DOM, SAX); Projekt: Event-Driven Architecture/Event Broker.
  • 21.12.2011 (Treffen im CIP-Pool) Besprechung von Aufgaben (StAX, JAXB, ..., Projektteil: HTTP, Streaming).
  • 12.1.2012 Presentation: Usage of XML in MARS
  • 19.1.2011 (Treffen im CIP-Pool) Besprechung Projekt.
  • 26.1.2011 (Treffen im CIP-Pool) Besprechung Projekt.