This shows you the differences between two versions of the page.
Both sides previous revision Previous revision Next revision | Previous revision Next revision Both sides next revision | ||
teaching:infoh509 [2017/04/19 12:36] mwaumans [Practical Sessions] |
teaching:infoh509 [2019/03/13 12:50] gdejaege [Practical Sessions] |
||
---|---|---|---|
Line 1: | Line 1: | ||
====== INFO-H-509 : XML and Web Technologies ====== | ====== INFO-H-509 : XML and Web Technologies ====== | ||
- | <note important>If you are following this course, please register using [[https://docs.google.com/forms/d/e/1FAIpQLSfKvLyims3KrWWVJN7T5PQJK9X5uJNLQ04cl8Kd1932RNxj6A/viewform|this form]] *before March 1, 2017*. This allows the course responsibles to contact you when necessary.</note> | + | <note important>If you are a VUB studetn following this course, please register by filling in [[https://docs.google.com/forms/d/e/1FAIpQLSfKvLyims3KrWWVJN7T5PQJK9X5uJNLQ04cl8Kd1932RNxj6A/viewform|this online form]] by February 22 at the latest. It allows the course responsibles to contact you when that is needed.</note> |
===== GENERAL INFORMATION ===== | ===== GENERAL INFORMATION ===== | ||
Line 18: | Line 18: | ||
* **Course responsible**: [[http://code.ulb.ac.be/code.people.php?id=992|Stijn Vansummeren]] (Bâtiment U, étage 4, local UB4.125, Campus Solbosch) | * **Course responsible**: [[http://code.ulb.ac.be/code.people.php?id=992|Stijn Vansummeren]] (Bâtiment U, étage 4, local UB4.125, Campus Solbosch) | ||
- | * **Assistant**: [[mwaumans@ulb.ac.be|Michael Waumans]] | + | * **Assistant**: [[gilles.dejaegere@ulb.ac.be|Gilles Dejaegere]] |
==== Organisation ==== | ==== Organisation ==== | ||
Line 28: | Line 28: | ||
===== COURSE PLAN ===== | ===== COURSE PLAN ===== | ||
- | |||
==== Lecture 1: Introduction and Web Architecture === | ==== Lecture 1: Introduction and Web Architecture === | ||
Line 41: | Line 40: | ||
* The {{:teaching:infoh509:1-intro-webarch.pdf|slides}} | * The {{:teaching:infoh509:1-intro-webarch.pdf|slides}} | ||
- | ==== Lecture 2: XML and XPath === | + | ==== Lecture 2: XML, XPath, and JSON === |
Lecture 2 has introduced XML and XPath in depth. | Lecture 2 has introduced XML and XPath in depth. | ||
Line 58: | Line 57: | ||
==== Lecture 4: XML Schema Languages: XSDs === | ==== Lecture 4: XML Schema Languages: XSDs === | ||
- | In Lecture 3, we have discussed the limitations of DTDs. Some of these | + | In Lecture 4, we have discussed the limitations of DTDs. Some of these |
limitations are lifted by XML Schema, whose syntax and semantics were studied during lecture 4. | limitations are lifted by XML Schema, whose syntax and semantics were studied during lecture 4. | ||
See pages 113-158 in the book as well as the | See pages 113-158 in the book as well as the | ||
{{:teaching:infoh509:4-xml_schemas_part_2.pdf|corresponding slides}}. | {{:teaching:infoh509:4-xml_schemas_part_2.pdf|corresponding slides}}. | ||
+ | |||
+ | The example XML Schema files used during the theory lecture is also {{:teaching:infoh509:xml-schema-demo.zip|available for download.}} | ||
==== Project Assignment 1: XML Schema Definition ==== | ==== Project Assignment 1: XML Schema Definition ==== | ||
Line 76: | Line 77: | ||
See the full assignment for related dealine(s), what the solution should entail, and to whom it should be submitted). | See the full assignment for related dealine(s), what the solution should entail, and to whom it should be submitted). | ||
- | <note tip>You can use these simple {{:teaching:infoh509:validationtools.zip|validation tools}} (written in Java) to help check if your example documents conform toyour XSD. Unzip the file, and then use either ''java -jar DTDValidator.jar <xmldoc>'' or ''java -jar XSDValidator.jar <schemadoc> <xmldoc>'' to validate. The third jar file contais the source code, should you be interested.</note> | + | <note tip>You can use these simple {{:teaching:infoh509:validationtools.zip|validation tools}} (written in Java) to help check if your example documents conform toyour XSD. Unzip the file, and then use either ''java -jar DTDValidator.jar <xmldoc>'' or ''java -jar XSDValidator.jar <schemadoc> <xmldoc>'' to validate. The third jar file contains the source code, should you be interested.</note> |
- | + | ||
- | + | ||
- | ==== Lecture 5: Transforming XML documents with XSLT === | + | |
- | + | ||
- | In Lecture 5 we have discussed how XML documents can be transformed | + | |
- | into other formats (be it XML or not) using XSLT. See pages 188-239 in | + | |
- | the book (**except sections 5.8.5, 5.8.7, 5.8.9, 5.8.10 and 5.11**) and | + | |
- | the {{:teaching:infoh509:5-xslt.pdf|corresponding slides}}. | + | |
- | + | ||
- | ==== Project Assignment 2: XSLT ==== | + | |
- | + | ||
- | Write a single XSLT 2.0 stylesheet that generates, starting from the | + | |
- | dblp-excerpt.xml file, a number of HTML files that together | + | |
- | collectively emulates part of the DBLP website. Read the | + | |
- | {{:teaching:infoh509:deux_en.pdf|full assignment}}, and download the | + | |
- | corresponding {{:teaching:infoh509:deux_xslt_data.zip|support files}}. | + | |
- | + | ||
- | This assignment is to be made in groups of | + | |
- | two persons and contributes 2/20 to the overall grade (there are two | + | |
- | more assignments to follow, each contributing 2/20). The written exam | + | |
- | contributes the remaining 14/20 points. | + | |
- | + | ||
- | See the full assignment for related dealine(s), what the solution should entail, and to whom it should be submitted). | + | |
- | + | ||
- | <note tip>The zip file above contains a XSLT transformation tool. You can use ''java -jar xslt-tool.jar <xslt-file> <inputfile> <outputfile>'' to run it. </note> | + | |
- | + | ||
- | ==== Lecture 6: Querying XML documents with XQuery === | + | |
- | + | ||
- | In Lecture 6 we have discussed how XML documents can be queried and transformed into other formats (be it XML or not) using XQuery. See pages 240-2840 in the book (**except sections 6.7.5, 6.8, 6.9**) and | + | |
- | the {{:teaching:infoh509:6-xquery.pdf|corresponding slides}}. | + | |
- | + | ||
- | ==== Project Assignment 3: XQuery ==== | + | |
- | + | ||
- | You are requested to write XQuery programs for several queries against | + | |
- | the DBLP bibliographical database introduced in Project Assignment | + | |
- | 2. Read the | + | |
- | {{:teaching:infoh509:trois_en.pdf|full assignment}}, and download the | + | |
- | corresponding {{:teaching:infoh509:trois_xquery_data.zip|support files}}. | + | |
- | + | ||
- | This assignment is to be made in groups of | + | |
- | two persons and contributes 2/20 to the overall grade (there are two | + | |
- | more assignments to follow, each contributing 2/20). The written exam | + | |
- | contributes the remaining 14/20 points. | + | |
- | + | ||
- | See the full assignment for related dealine(s), what the solution should entail, and to whom it should be submitted). | + | |
===== Practical Sessions ===== | ===== Practical Sessions ===== | ||
- | {{:teaching:infoh509:infoh509_01_1617.zip|Practical Session 1}} | + | {{:teaching:infoh509:infoh509_01_1617.zip|Practical session 1}} |
- | + | ||
- | {{:teaching:infoh509:infoh509_02_1617.zip|Practical Session 2}} | + | |
===== References ===== | ===== References ===== | ||
* A. Moller and M. Schwartzbach. //[[http://www.brics.dk/ixwt/|An Introduction to XML and Web Technologies]]//. Addison-Wesley, 2006. ISBN-13: 978-0-321-26966-9 | * A. Moller and M. Schwartzbach. //[[http://www.brics.dk/ixwt/|An Introduction to XML and Web Technologies]]//. Addison-Wesley, 2006. ISBN-13: 978-0-321-26966-9 |