CSIT600b: XML Programming
for MSc(IT) Fall 2004

Announcement


Objectives


Course Description
 

The World Wide Web Consortium (W3C) developed the eXtensible Markup Language (XML) and a portfolio of related standards in response to the growing need for a platform independent language for describing and exchanging interoperable information. XML has been gradually replacing Hypertext Markup Language (HTML) and is now ubiquitous over the Internet. In this one-credit topic course, we will cover the basis of XML including (i) basic syntax, (ii) Document Type Definitions (DTD) and XML Schemas for user document format definition, (iii) Document Object Model (DOM) and Simple API for XML (SAX) for XML parsing, (iv)XPath and Extensible Stylesheet Language (XSL) for XML document transformation, and (v) Web services-related protocols such as Web Services Description Language (WSDL), Simple Object Access Protocol (SOAP) and Universal Description, Discovery and Integration (UDDI). If time permits, we shall also introduce the emerging technology XQuery for XML database query. Emphases will be on practice applications. We shall use the Java programming language to illustrate typical techniques involved in XML programming environments (such as the Java Web Service Developer Pack) for developing application programs.
CSIT600b Course Information
Location: Room 2503 (2/F, Lift 25-26)
Course Page: http://teaching.ust.hk/~csit600b
Newsgroup:  hkust.csit.class.600(Access through SSL)
Support / Consultation Logistics: first try newsgroup, then tutor, then lecturer
Lecturer: Dr. Dickson K.W. CHIU (Ph.D., HKUST, SMIEEE)
http://www.cse.cuhk.edu.hk/~kwchiu
email: dicksonchiu@ieee.org(24 x 7!) 
Phone Consultation:  Leave your phone number and question by email, and I'll call back.
TA: Mr. Kawah WONG (MPhil, HKUST) (email: kawah@cs.ust.hk)
References:
[J2EE] J2EE Tutorial (includes servlet and XML API, online and downloadable tutorial), Sun Microsystem Inc. 
[DX] Deitel, Deitel & Nieto, XML: How To Program, Prentice Hall 2001. 
(To learn Java quickly or in depth, you may also use Dietel's Java: How to Program.) 
Evaluation: programming assignment 45%, exam 45%, class participation 10%
Course Schedule in parallel with Programming Guide 
  • Lecture 1 (Sept 24-19:30 Fri /  25-15:00 Sat)
    • XML - Basics, Intro (.ppt
    • Programming Guide 1 (.ppt)
  • Lecture 2 (Oct 8-19:30 Fri /  9-15:00 Sat  - Note skip 1 week for holidays) 
    • DTD, Schema (.ppt
    • Programming Guide 2 (.ppt)
  • Lecture 3 (Oct 15-19:30 Fri /  16-15:00 Sat) 
    • DOM, SAX (.ppt
    • XPath, XSL (.ppt
    • Programming Guide 3 (.ppt)
  • Lecture 4 (Oct 29 -19:30 Fri /  30-15:00 Sat - Note skip 1 week for holidays) 
  • Lecture 5 (Nov 5-19:30 Fri /  6-15:00 Sat) 
    • Xlink, XPointer, Xquery (.ppt)
    • Time Permits (Not to be examed): Wrapping Legacy Web Sites - Our Research (.ppt)
  • Exam: Nov 20 (Sat) 3:15pm  Lecture Theatre D (duration 2 hrs)
Assignment  Wrapping HTML Websites to XML (Specification)
2 persons per group - form your group early (though each person wrap at least 1 website)
(single person group not recommended but still allowed.)
Suggested Free Remote Collaboration Tool: VNC (http://www.realvnc.com/)
 
Milestones:
  • Week 1 
    • Set up the J2EE 1.4 environment 
    • Deploy the hello world web application 
    • Redeploy modified versions
  • Week 2
    • Design a schema for your output summary
  • Week 3 
    • Read in a target web page and output it in your web application
    • Parse the target web page into a DOM structure and output it
  • Week 4 
    • Extract relevant data from the DOM structure into one conforming to your output schema with XSLT (you may experiment with the captured data with the provide demo program)
    • Use XSLT to convert your output to HTML for display
  • Week 5
    • Use XSLT to convert your output to WML
    • Display the WML output with a WAP simulator
    • System integration, deployment and documentation
Some Useful links:
XML tutorials:
http://www.zvon.org
http://www.w3schools.com/
HTML tutorials: (do a web search for "HTML tutorial" for more stuff...):
http://www.davesite.com/webstation/html/ (basic tutorial) 
http://www.mcli.dist.maricopa.edu/tut/   (with some advanced stuffs) 
http://htmlprimer.com/ (with some advanced stuffs) 
http://www.webspawner.com/cc/html/alpha.htm (HTML Cross Reference) 
Many tutorials: http://webdevelopment.developersnetwork.com/
http://www.wdvl.com/
http://www.eborcom.com/webmaker/
Online English Dictionary: www.webster.com, www.dictionary.com
Misc Notes: