|
|
 |
Structured-Document Processing Languages (Spring 2008) Course Homepage
Rakenteisten dokumenttien käsittelykielet (kevät 2008) -kurssin kotisivu
-
Tietojenkäsittelytieteen syventävien opintojen (III-V vuosi) kurssi (3 ov/6 op)
-
Structured-Document Processing Languages is an elective
graduate level (laudatur) course (3 cu/6 ECTS cp) in Computer Science.
Goals of the course:
To get a well-founded understanding of some central
models and languages for manipulating, formatting,
transforming and querying structured (XML) documents.
Announcements
- June 9:
A summary of student feedback is
available here.
Thanks for those few who returned the
feedback form.
- May 20:
The final exam of May 15, 2008, has been marked and graded.
Two students failed, and seven passed the course with
grades in the range 2..5.
You can check the grading and my comments on your papers
at the Department Office.
- May 9: What will be asked/expected in the
exam?
- May 7:
The course feedback form is available here.
Please fill it and return it at the last exercise session for an extra
credit point.
- May 6:
The lecture of Monday, May 12 has been moved to
Friday, May 9, at 10-12 in MT2.
- May 2:
Instructions for testing XQuery using Saxon 9
are available on-line. (Please let me know if you encounter problems in applying
them.)
- April 25:
The contents of the table on slide 26 (FOP 0.94 XSL-FO Compliance)
on XSL formatting was left empty
in the PDF version (because of some PowerPoint bug?).
The table should look like this:
| Implemented |
fully |
partially |
no |
total |
formatting objects |
38 (64%) |
7 (12%) |
14 (24%) |
59 (incl. 3 XSL 1.1 bookmark FOs) |
formatting properties |
141 (62%) |
24 (11%) |
61 (27%) |
226 (non-aural) |
- April 25:
Instructions for running Apache FOP (Formatting Objects
Processor) at the Department, to be used for testing XSL formatting,
are available on-line.
- April 18:
At yesterday's exercise I claimed on-the-fly
that there would be no direct way in DOM
to get from an Attribute node to its Element node, because DOM Attribute
nodes are not children of Element nodes.
Later I remembered that there is a way: DOM Attributes
provide a method
getOwnerElement() for this purpose.
(In XPath the element that contains an attribute is the parent of the
attribute, even though the converse does not hold: attributes are not
children, but they belong to the attribute::
(or @) axis of the element.)
- April 14:
Instructions for the Course Project, due to May 8, are available in
Moodle.
- March 25: This is
the course homepage.
Please monitor this page for current announcements, lecture notes, and
exercise assignments.
In general, the course will follow rather closely to the Spring 2007 offering,
but I may update some of the contents to reflect the latest
relevant specifications.
Also, some unnecessary overlap with the contents of the course Introduction
to Document Standars will be eliminated from this course.
The course consists of ...
- 16 * 2 hours of lectures
(March 27 - May 13, 2008).
The first lecture takes place on Thursday March 27, 2008, at 15.15-14
in class MT2.
(Please check the on-line schedules from the
Wossikka for possible updates.
Any unexpected changes will be announced at the top of
this page, too.)
A preliminary course syllabus is available
here.
The course will follow for the most part the
Spring 2007 version of
the course, but I may update or change some of the contents, though.
Lectures are given by professor
Pekka Kilpeläinen.
Language of instruction:
The course will be given in English; that is, the lectures
will be given in English (if there is demand), and
the materials will be in English.
The exercise sessions will be in Finnish and in English.
- 7 * 2 hours of exercise sessions (April 3 - May 14)
It is likely that the two exercise groups will be combined into a single
group.
The exercise sessions will be chaired by
Pekka Kilpeläinen.
A practical XML manipulation course project will be included
as a part of the exercises.
-
Final exam Thursday, May 15, 2008, at 12-16 in L21;
-
Retake on Thursday, June 12, 2008, at 8-12 in E26-27.
Grading:
The grade is determined by the formula
round(6*Exam + 2*Exerc - 2.5) ,
where Exam is the fraction of given exam points out of the maximum,
and Exerc is the fraction of solved exercise assignments out of the
total (including the course project). (Examples of grades given by the formula are shown here.)
The lowest accepted grade is 1, and the highest grade is 5.
A minimum of 50 % of exam points is required for passing the course.
Please notice that exercise activity forms 25 % of the grade.
Actively solving homework assignments is central for learning to
understand and to apply the techniques; The process of
working on the assignments is more
important than the "solutions"
that are discussed at the exercise sessions!
The exercise points can be taken into account for grading
the first retake exam,
too, if that yields a better
result, but not for the later retake exams.
Material
Copies of lecture slides
and exercise assignments
will be made available online.
The course is mainly based on original articles and
technical specifications,
most of which are available as
on-line references.
(Learning to consult these original sources is one of the
practical learning goals of the course.)
There are numerous superficial, often slightly erroneous, and
quickly out-dated books about XML technology.
The following are reasonably good, and could be used as background literature:
-
"XML - How to Program" by Deitel, Deitel, Nieto, Lin and Sadhu
(Prentice Hall, 2001) gives a good
practical grasp on some of the topics of the course (and many others).
The book should be available in the department library.
On the negative side, this book starts to be outdated on many of its topics.
- "XSLT Programmer's Reference" by Michael Kay (Wrox Press, 2000; newer versions may exist)
is the best reference book for XSLT programming that I
have come across.
-
"An Introduction to XML and Web Technologies" by Anders Møller and
Michael Schwartzbach (Addison-Wesley, 2006). (would seem to give a reasonable high-level overview)
Lecture Notes (Slides)
Copies of slides will be delivered here prior to the lectures.
The slides are skeletons of lectures, and
not written especially for self-study.
If you cannot attend the lectures, I recommend that you study the
references for the contents of those lectures.
- Introduction (March 27)
[Reduced PDF]
- XML Basics (March 27 - 28)
[Reduced PDF]
- XML Processor Interfaces - SAX (April 2)
[Reduced PDF]
(Please bring also the SAX Quick Reference
with you in class; I'll probably refer to it, too.)
- Document Object Model (April 3)
[Reduced PDF]
(Please bring also the DOM Quick Reference
with you in class; We'll probably refer to it, too.)
- JAXP: Java API for XML Processing (April 9)
[Reduced PDF]
- Introduction to Style Sheets (April 10)
[Reduced PDF ]
- Cascading Style Sheets (April 16)
[Reduced PDF]
- Document Transformations: XSLT (April 17, 23)
[Reduced PDF]
- Additional features, and computing with XSLT (April 23 - 28)
[Reduced PDF ]
- XSL: Extensible Stylesheet Language (April 28 and 30)
[Reduced PDF]
- Querying XML Data and Documents (May 5-9)
[Reduced PDF]
- Course Review (May 13)
[Reduced PDF]
Exercise assignments
Exercise 1 (April 3)
Exercise 2 (April 10)
Exercise 3 (April 17)
Exercise 4 (April 24)
Exercise 5 (April 29)
Exercise 6 (May 8)
- A possible solution to assignment 6.6 is given
here.
Exercise 7 (May 14)
Assumed background
- Bachelor studies in Computer Science, especially a course on
Data Structures and Algorithms, and aptitude for
programming (with Java) and using the
the computing environment of the department.
-
Basic knowledge of structured documents, e.g., from a course
("Introduction to Document Standards"); especially
familiarity with Web and HTML.
Course feedback
A summary of student feedback is available
here.
Thanks for those few who returned the course feedback form.
Summaries of feedback from previous years:
2007;
2006;
2005;
(Did I forget to ask in 2004?);
2003;
2002;
2001 (in Finnish)
|
 |
|