Infosys 290 - Section 8

XML and Related Technologies

Instructor

R. Alexander Milowski

http://sims.berkeley.edu/~milowski

Teaching Assistant

Peter Charles

School of Information Management and Systems

Website: http://www.sims.berkeley.edu/academics/courses/is290-8/s04/

Description:

The purpose of this course is to provide a foundation for the core XML technologies that are used within the document engineering domain. The specifics of XML and related standards will be covered in detail. Also, assignments related to learning to work within these standards will be assigned.

This course will cover XML, XPath, XSLT, XML Schema, CSS and XSL FO. In addition, we will use several "extensions" and addition tools to look at XML Schema's PSVI and pipelines. This will provide a look into the future of XML in relation to schema-based processing and XML processing models.

During approximately the last four weeks of class there will be project work that will encompass all the technologies learnt previously. These projects will be related to the topics covered in this course. While some may be suggested by the instructor, it is also possible for the student to substitute their own projects as long as they relate in the same manner to the course contents.

During the final week of class, a short presentation will be given by each student on their project. A presentation should include a motivation for the project, a technical description of the solution, and possibly a demonstration. In addition, a short paper describing the solution will be submitted and graded. One of the purposes of this paper is to give a flavor of the kind of documentation that should accompany an XML-related project. Also, this project and its paper will be considered the final for the course.

Note: Although Document Engineering (290-4) and this course compliment each other, it is not necessary to take 290-4 concurrently. This course will operate independently of 290-4.

Homework Upload: https://cardea.sims.berkeley.edu/upload/doc-eng-lab/

Project Documentation Format: projects.zip

103B South Hall at Monday 2-3:30pm and Wednesday 2-3:30pm

Recommended Texts:

Definitive XML Schema, Priscilla Walmsley , Prentice Hall, 0-13-065567-8

Learning XSLT, Michael Fitzgerald , O'Reilly & Associates, 0596003277

Suggested: Learning XML (2nd Edition), Eric Ray , O'Reilly & Associates, 0-596-00420-6

Schedule:

  1. 01/20: Motivation of Markup, History, Basics of XML, Unicode, and Infosets

    Readings:

    XML 1.0 (Second Edition) (http://www.w3.org/TR/REC-xml)

    Learning XML, pages 113-132, DTD's

    Alternate, XML in a Nutshell, Chapter 3, DTD's

    The Unicode Standard: A Technical Introduction (http://www.unicode.org/standard/principles.html)

    Unicode Code Charts (http://www.unicode.org/charts) - Reference

    XML Information Set 1.0 (http://www.w3.org/TR/xml-infoset/)

    Lecture Slides:

    Course Format: (slides) (printable) Main Lecture: (slides) (printable)

    Assignments

    Assignment 1 - due on 01/27

  2. 01/27: Namespaces and Introduction to XPath

    Readings:

    Definitive XML Schema, Chapter 3

    Learning XSLT, Chapter 4

    Namespaces in XML 1.0 (http://www.w3.org/TR/REC-xml-names/) - Reference

    XML Path Language (XPath) 1.0 (http://www.w3.org/TR/xpath) - Reference

    Lecture Slides:

    Main Lecture: (slides) (printable)

    Assignments

    Assignment 2 - due on 02/03

  3. 02/03: Advanced XPath and Introduction to XSLT

    Readings:

    XSLT 1.0 (http://www.w3.org/TR/xslt) - Reference

    Learning XSLT, Chapters 1, 2, & 6

    Lecture Slides:

    Main Lecture: (slides) (printable)

    Assignments

    Assignment 3 - due on 02/10

  4. 02/10: More XSLT

    Readings:

    Learning XSLT, Chapters 5, 7, 8, & 12

    Lecture Slides:

    Main Lecture: (slides) (printable)

    Assignments

    Assignment 4 - due on 02/17

  5. 02/17: Advanced Topics in XSLT and Q & A

    Readings:

    Learning XSLT, Chapters 9,10, 11, 13

    Lecture Slides:

    XSLT Monsters: (slides) (printable)

    XHTML: (slides) (printable)

    Advanced XSLT: (slides) (printable)

    Assignments

    Assignment 5 - due on 02/24

  6. 02/24: Introduction to XML Schema: Modeling Elements and Attributes

    Readings:

    Definitive XML Schema, Chapters 1-2, 3.3, 5,7, 8

    XML Schema Part 0: Primer (http://www.w3.org/TR/xmlschema-0/)

    Software: XSV - Validation Tool (http://www.ltg.ed.ac.uk/~ht/xsv-status.html)

    Lecture Slides:

    Schema Concepts: (slides) (printable)

    Modeling Elements and Attributes: (slides) (printable)

    Getting Started with XML Schema: (slides) (printable)

    Assignments

    Assignment 6 - due on 03/02

  7. 03/02: More Schema! : Composition, Documentation, Re-usable Types, Simple Type Derivation, and the PSVI

    Readings:

    Simple Types - Definitive XML Schema, Chapters 4, 6.1-6.2, 9-12

    XML Schema Part 1: Structures (http://www.w3.org/TR/xmlschema-1/): Section 5 and Appendix C

    Lecture Slides:

    Main Lecture: (slides) (printable)

    Projects: (slides) (printable)

    Assignments

    Assignment 7 - due on 03/09

  8. 03/09: Complex Types and Extensibility

    Readings:

    Complex Types - Definitive XML Schema, Chapters 13-16

    Lecture Slides:

    Main Lecture: (slides) (printable)

    Assignments

    Assignment 8 - due on 03/16

  9. 03/16: Schema Best Practices & Applications of XML

    Readings:

    Definitive XML Schema, Chapters 20, 21

    Lecture Slides:

    Best Practices: (slides) (printable)

    Demo Application: (slides) (printable)

    Assignments

    Assignment 9 - due on 03/30

  10. 03/30: Getting Started With Tomcat & Cocoon and Introduction to CSS

    Readings:

    Cascading Style Sheets, Level 2 CSS2 Specification (http://www.w3.org/TR/CSS2/) - Read Sections 4-6, 8, 9 - Use the rest as reference (especially Appendix F).

    Lecture Slides:

    Tomcat & Cocoon: (slides) (printable)

    Introduction to CSS2: (slides) (printable)

    Assignments

    Assignment 10 - due on 04/13

  11. 04/06: XML Processing Models and Introduction to JAXP

    Readings:

    XML Pipeline Definition Language Version 1.0 (http://www.w3.org/TR/xml-pipeline/)

    JAXP - Java API for XML Processing - (http://java.sun.com/j2ee/1.4/docs/tutorial/doc/JAXPIntro2.html)

    Reference - JDK 1.4 Documentation

    Lecture Slides:

    XML Processing Models & Pipelines: (slides) (printable)

    JAXP - Java API for XML Processing: (slides) (printable)

  12. 04/13: Introduction to Center in a Box & Projects

    Readings:

    See the CDE Website

    Lecture Slides:

    XML and Graphs: (slides) (printable)

  13. 04/20: Ontologies: RDF, OWL

    Readings:

    Lecture Slides:

    Authentication & Sessions in Tomcat/Cocoon: (slides) (printable)

    RDF & OWL: (slides) (printable)

  14. 04/27: XInclude, XML Base, XML Id

    Lecture Slides:

    XML Base and XML Cocoon: (slides) (printable)

  15. 05/04: Formatting XML: XSL Formatting Objects

    Readings:

    Extensible Stylesheet Language (XSL) Version 1.0 (http://www.w3.org/TR/xsl/) - Read Sections 3 & 4 - Use the rest as reference.

  16. 05/11: SOAP, WSDL, and Web Services

    Readings: