| Week | What? |
| 1 |
- Regular Expressions. Study Kay Chap 14. Additional tutorial. Make these exercises.
- Install Oxygen. Practice with it Friday.
- Read Kay Chap 2, The XDM tree model until (and including "Document Order"). Exercises.
|
| 2 |
- Relax NG vd Vlist Chap 1-5
- Exercises: make a Relax NG schema of your dictionary entry, make one for books.xml. Both in XML and compact syntax. Both Russian Doll and flattened style.
- Validate your XML wrt the schema using Oxygen. (Choose Associate Schema, and then Validate).
- Turn the written question to a minister into XML format and make a Relax NG schema in compact syntax. Specify the mapping from the PDF to your XML in the same style as this example mapping.
TIP: use pdftohtml (with -xml option) to turn the pdf file into XML.
|
| 3 |
- Relax NG vd Vlist Chap 6-9 (Tuesday 6-7, Friday 7-9)
- Maak the exercises.
|
| 4 |
- Tuesday recap and finish vdVlist 1-9.
- Friday 9-30 Exam. This is a written exam without books or computer. Questions will be closely related to the homework exercises, sometimes identical. The exam tests insight, not really whether you know all ins and outs of the syntax.
Still you need to be able to write simple things without syntax errors. We test the following skills:
- regular expressions in the syntax with only concatenation, disjunction, star, plus, ?, wildcard . and e (denoting the empty string)
- Well-formed XML document, valid XML document
- Make implicit knowledge in a text file explicit in XML.
- Make a Relax NG schema in compact syntax from an XML example and from specifications in natural language.
- You should know and understand the theory and all basic constructs from Kay 14 and vdVlist 1-6. You need not know all the specific details that you would always look up in a manual like the list of all facets on page 93-94 of vdVlist
or the names of each datatype. You should be able to work with these things intelligently if you are given the description from the manual.
|
| 5 |
- Tuesday vdVlist Chap 10
- Friday: practice exercises about chap 10.
|
| 6 |
- Tuesday: Discuss Exam
- vdVlist Chap 11,12
|
| 7 |
- Schematron (Johan van Doornik)
- Schematron Slides
- Schematron homework exercise
|
| 8 |
- Tuesday: practice
- Friday: Hand in Exam exercises (postponed to Nov 14)
|
| 9 |
- Tuesday: Designing a formal language, a closer look at the design of XPath.
- Literature: Kay, Chap 9.
- Friday: XPath at work.
Practice session in which we make XPath expressions for natural information needs on the proceedings of the European Parliament.
-
Exercises fill in form.
Please use the code AUC in the first question.
Instead of using the "sandbox" that is menstioned you should download the collection to your
own computer, and run the queries from oXygen.
You can also use oXygen to explore the collection.
You can download the collection at
http://data.politicalmashup.nl/xpadje/data/eu-parliament1990-2010.zip
|
| 10 |
- Recursive programming in XQuery. Practice on lists.
- Tuesday & Friday: question time on 2nd exam questions, More specifically:
Tuesday Nov 8 we will do the following:
* First hour: finishing XPath lecture of last week (See http://staff.science.uva.nl/~marx/teaching/rrk/LectureNotes/week9XPath.html
starting at Design of XPath)
* Second hour: you can ask questions about current exam assignment and also about the third one.
* The third take home exam consists of the Exercises on
http://staff.science.uva.nl/~marx/teaching/rrk/LectureNotes/week9XPath.html
Friday Nov 11 will be for
* practicing XPath
* asking questions about 2nd take home exam
- Hand in second exam on Monday Nov 14 per email to maartenmarx@uva.nl
|
| 11 |
- XPath and XQuery: variables, for loops, ordering, output anything you like
|
| 12 |
- Tuesday: question time on 3rd exam questions (Schematron and XPath)
- Friday: no course.
- Hand in third exam on Friday Nov 25 per email to maartenmarx@uva.nl
- Material third exam
- All exercises from week 9 on XPath (at the bottom of the lecturenotes)
- Schematron Parliamentary Proceedings Exercise.
|
| 13 |
- XQuery functions. Recursion. Going beyond First Order Queries.
- Schema:
- Tue (1st hour): Answers to XPath exam
- Tue (2nd hour): XQuery functions.
- Exercise: Write an XQuery program with the following purpose: given an XML (or XHTML) file, count all words in p-elements and create a word-cloud
in HTML from these counts. Make a test too.
- Before Fri: Make the arithmetic exercises and the wordcloud exercise in XQuery. Each student shows something in class.
- Homework before next Tuesday: Clean up your XQuery functions exercises on your wiki. Work on the reachablenodes exercise from week 13.
|
| 14 |
- Homework before this Tuesday: Clean up your XQuery functions exercises on your wiki. Work on the reachablenodes exercise from week 13.
- Last assignment: Do a project with a small group and present it in the last week.
You can choose from:
- Knight's Tour
- The lekker bomen exercise from the XQuery functions notes
- The Dijkstra's shortest path algorithm exercise from the XQuery functions notes
All projects must be chosen by at least one group.
Work your project out on your Wiki.
- Additional exercise: prerequisite loop-detection:
Suppose you have a database of University courses in XML. Each course has a name and zero or more prerequisiste courses
(whose values are of course the names of other courses in your database).
The problem is that 1) this is a University database, and 2) it is created in a distributed manner (each teacher just adds his own course),
3) it is really large and thus hard to check manually whether it is consistent.
So you come to the rescue and write an XQuery function which detects all courses who have (after one or more steps) themselves as prerequisite.
Not only does it output the "bad" courses.
For each "bad" course, you also output the cycle of courses.
Your query comes with a simple but nice and representative toy-example database, and a few actual queries which exemplify the function on your toy-set.
It is really useful if you draw your database as a directed graph.
- Schema:
- Tue (1st hour): discuss projects and make groups
- Tue (2nd hour): work on projects
- Fri: practical session. You work on your project and can ask me advice.
|
| 15 |
- Schema:
- Tue : no class. You can make an appointment with Johan van Doornik for questions on your project. Or email me.
- Fri: practical session. You work on your project and can ask me advice.
|
| 16 |
- Schema:
- Tue project presentations and final lesson Everybody bring laptop for course evaluation.
- Fri: no class
|