Markup Languages and Document Processing
Keywords |
Classification |
Keyword |
OFICIAL |
Programming |
Instance: 2008/2009 - 2S
Cycles of Study/Courses
Acronym |
No. of Students |
Study Plan |
Curricular Years |
Credits UCN |
Credits ECTS |
Contact hours |
Total Time |
MIEIC |
24 |
Syllabus since 2006/2007 |
4 |
- |
6 |
56 |
162 |
Teaching language
Portuguese
Objectives
After completing this course, the student will be able to:
Identify the use of markup languages in documents, in data repositories and in applications;
Analyze an XML document and decide whether it complies to a model;
Tell the difference between a standardized language for an application domain and the ad-hoc uses of markup languages;
Design a markup language to support a document type or the data for an application;
Evaluate and compare XML-based and other solutions to support application data interchange;
Design XSL stylesheets to transform documents;
Compare markup languages to other document and data representations with respect to the support to data preservation along technological change;
Develop an XML-based prototype application involving the use of a dialect,document processing and user interface.
Program
Introduction to XML. Markup languages. Language families and markup. Structured and semi-structured information. Markup. Markup categories. Markup languages. The XML meta-language.
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.
XML document validation — XML Schemas. Document models. XML Schemas. Namespaces. Element declaration. Datatypes. Attributes. Composition. Cardinality. Examples.
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.
XML document composition. XML Base. Document composition. XInclude.
XML document presentation with CSS. XML presentation with cascading stylesheets. Stylesheet authoring. CSS2 processing model. Rules.
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.
XML presentation with XSL-FO. XSL processing. XSL Formatting Objects (XSL-FO). Apache FOP.
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.
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.
Mandatory literature
Moller, Anders;
An introduction to XML and web technologies. ISBN: 0-321-26966-7
Complementary Bibliography
Harold, Elliotte Rusty;
XML in a nutshell. ISBN: 0-596-00292-0
Bradley, Neil;
The XML companion. ISBN: 0-201-77059-8
Ramalho, José Carlos;
XML & XSL. ISBN: 972-722-347-8
Teaching methods and learning activities
Lectures include theoretical presentation of the course subjects and practical sessions where proposed research topics are discussed with the students and practical coursework reported.
Software
XML Spy
Oxygen
keywords
Physical sciences > Computer science > Programming
Evaluation Type
Distributed evaluation with final exam
Assessment Components
Description |
Type |
Time (hours) |
Weight (%) |
End date |
Attendance (estimated) |
Participação presencial |
36,00 |
|
|
XML Dialect (T1) |
Trabalho escrito |
30,00 |
|
2009-03-23 |
XMLT Processing (T2) |
Trabalho escrito |
30,00 |
|
2009-04-27 |
XML based application (T3) |
Trabalho escrito |
50,00 |
|
2009-06-08 |
|
Total: |
- |
0,00 |
|
Amount of time allocated to each course unit
Description |
Type |
Time (hours) |
End date |
Study |
Estudo autónomo |
14 |
2009-06-08 |
|
Total: |
14,00 |
|
Eligibility for exams
Minimum required to pass this course: 50% practical assessment, 40% theoretical assessment.
Calculation formula of final grade
60% * Practical assignments + 40% * Exam.
Examinations or Special Assignments
Students taking exams under special regimes are expected to previously submit the assignments required for this course.
Special assessment (TE, DA, ...)
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.