Index: Contents | Bibliography | Evaluation

The Institutional page »


Year: 4th
Semester: 2nd
Credits: 6 ECTS
Hours/Week: 3h
Lectures: Cristina Ribeiro (MCR); João Correia Lopes (JCL)

Teaching Language


Objectives, Skills and Learning Outcomes

After completing this course, the student will be able to:

  1. Identify the use of markup languages in documents, in data repositories and in applications;
  2. Analyse an XML document and decide whether it complies to a model;
  3. Tell the difference between a standardised language for an application domain and the ad-hoc uses of markup languages;
  4. Design a markup language to support a document type or the data for an application;
  5. Evaluate and compare XML-based and other solutions to support application data interchange;
  6. Design XSL stylesheets to transform documents;
  7. Compare markup languages to other document and data representations with respect to the support to data preservation along technological change;
  8. Develop an XML-based prototype application involving the use of a dialect and document processing.


  1. Introduction to XML. Markup languages. Language families and markup. Structured and semi-structured information. Markup. Markup categories. Markup languages. The XML meta-language.
  2. XML document validation — DTD's. Well-formed XML documents. Valid XML document. Physical structure. Entities. External entities. Parametric entities. The logical structure of documents. Document models. DTD's and their components.
  3. XML document validation — XML Schemas. Document models. XML Schemas. Namespaces. Element declaration. Datatypes. Attributes. Composition. Cardinality. Examples.
  4. Navigation in XML documents. The XPath language. Data models. Operators and special characters. Syntax. Navigation axes. Predicates and functions. Location specification with XPointer. Points and intervals. Hypertext links with XLink. Simple links and extended links.
  5. XML document composition. XML Base. Document composition. XInclude.
  6. XML document presentation with CSS. XML presentation with cascading stylesheets. Stylesheet authoring. CSS2 processing model. Rules.
  7. XML document transformation — XSLT. XSL stylesheet. XSLT processor. Transforming XML to HTML. XSL syntax and semantics. Processing model. Template rules. XSLT elements. Default rules. Generating stylesheets. Examples.
  8. XML presentation with XSL-FO. XSL processing. XSL Formatting Objects (XSL-FO). Apache FOP.
  9. Querying XML documents. The XQuery language. Data model and processing model. XQuery expressions. FLWR expressions. Operators. Functions. Variables. Universal and existential quantification. Joins. Select, sort and group. Examples with the Saxon processor.
  10. XML processing in applications. Read and write XML. The DOM interface. Java bindings. DOM Level 2. JDOM. JAXB. The SAX interface. Java bindings. StAX. Examples. XML and data access. A Web application with XML, JAXB and DAO.

Main Bibliography

Complementary Bibliography

Teaching Procedures

Lectures include theoretical presentation of the course subjects and practical sessions where proposed research topics are discussed with the students and practical coursework reported.



Physical sciences > Computer science > Programming

Evaluation Type

Distributed Evaluation with Final Exam.

Registered evaluation and occupation components

The evaluation includes an exam and practical work, to be done along the semester, with the components identified.

DescriptionTypeTime (hours)Conclusion date
Teaching classes (estimated)lectures42
XML Language (T1)Work302010/03/16
XMLT Processing (T2)Work302010/04/20
XML based application (T3)Work602010/06/08

Admission to Exams

Minimum required to pass this course: 50% practical assessment, 50% theoretical assessment.

Final mark

Classification = 60% Practical assignments + 40% Exam, where:
Practical assignments = 25% T1 + 25% T2 + 50% T3.

Special Assignments

There are no special works or tests.

Special Evaluation (Working Students, etc)

Students taking exams under special regimes are expected to previously submit the assignments required for this course.

Classification Improvement

Students may improve the mark obtained in the practical component in the subject's next edition. Exam marks may be improved in the resit exam period.