Course Title: Document Markup Languages

Part A: Course Overview

Course Title: Document Markup Languages

Credit Points: 12.00

Course Code




Learning Mode

Teaching Period(s)


City Campus


140H Computer Science & Information Technology


Sem 1 2006,
Sem 1 2007,
Sem 1 2008,
Sem 1 2009,
Sem 1 2010,
Sem 1 2011,
Sem 1 2012,
Sem 1 2013,
Sem 1 2014,
Sem 2 2016


City Campus


140H Computer Science & Information Technology


Sem 1 2006,
Sem 1 2007,
Sem 1 2008,
Sem 1 2009,
Sem 1 2010,
Sem 1 2011,
Sem 1 2013,
Sem 1 2014,
Sem 2 2016


RMIT University Vietnam


140H Computer Science & Information Technology


Viet2 2007,
Viet3 2007,
Viet2 2008,
Viet3 2008,
Viet1 2009,
Viet2 2009,
Viet3 2009,
Viet1 2010,
Viet2 2010


Taylors College KL


140H Computer Science & Information Technology


Offsh 1 11

Course Coordinator: Shekhar Kalra

Course Coordinator Phone: +61 3 9925 9500

Course Coordinator Email:

Course Coordinator Location: City Campus, Building 14, Level 10, Room 10a

Course Coordinator Availability: By appointment

Pre-requisite Courses and Assumed Knowledge and Capabilities

Enforced Prerequisites for COSC2104 (UG):

COSC2413 Web Programming


COSC1073 Programming 1


COSC1284 Programming Techniques

Enforced Prerequisites for COSC2106 (PG):

COSC2426 Web Programming


COSC1295 Advanced Programming

You may not enrol in this course unless both of these courses are explicitly listed in your enrolment program summary.


Note it is a condition of enrolment at RMIT that you accept responsibility for ensuring that you have completed the prerequisite/s and agree to concurrently enrol in co-requisite courses before enrolling in a course.

For your information the RMIT Course Requisites policy can be found at Course requisites –;ID=twx09y07zi1c


Course Description

This course is an introduction to the principles, use, and application of document markup languages, especially for use on the World Wide Web, focussing on XML and JSON.

Topics include document markup languages (both XML and JSON); document description languages (such as Document Type Definitions (DTDs) and XML Schemas); XML namespaces; document transformation and manipulation (using eXtensible Stylesheet Language Transformations (XSLT) and XML APIs, such as the Simple API for XML (SAX) and the Document Object Model (DOM)); document query languages (specifically XQuery).

The second part of the course deals with the new data exchange format i.e. JSON. It is very popular in industry as a lightweight data carrier. The course also talks about REST APIs and consuming JSON.

Objectives/Learning Outcomes/Capability Development

Program Learning Outcomes

This course is an option course and not a core course, so that it does not need to contribute to the Program Learning Outcomes.    

Course Learning Outcomes

Upon successful completion of this course you should be able to:

  • CLO 1: Create documents that conform to an XML description language vocabulary;
  • CLO 2: Write new XML description language vocabularies;
  • CLO 3: Transform XML documents using XSLT;
  • CLO 4: Write programs (Java or PHP) to manipulate XML documents.
  • CLO 5: Demonstrate knowledge of the basics of JSON and manipulation via Java or PHP
  • CLO 6: Consume REST-based APIs and process JSON to get richer external information in clients

Postgraduate students should also be able to:

  • CLO 7: Explain general markup concepts

Overview of Learning Activities

The learning activities included in this course are:

  • Lectures: Key concepts will be explained in lectures in which course material will be presented and the subject matter will be illustrated with demonstrations and examples;
  • Combined Tutorial and Laboratory focussed on projects and problem solving will provide practice in the application of theory and procedures, allow exploration of concepts with teaching staff and other students, and give feedback on your progress and understanding;
  • Assignments, requiring an integrated understanding of the subject matter; and 
  • Private study, working through the course as presented in classes and learning materials, and gaining practice at solving conceptual and technical problems.


A total of 120 hours of study is expected during this course, comprising:

Teacher-directed hours (48 hours): lectures, tutorials and laboratory sessions. Each week there will be 2 hours of lecture and 2 hours of combined tutorial laboratory work. You are encouraged to participate during lectures through asking questions, commenting on the lecture material based on your own experiences and through presenting solutions to written exercises. The tutorial / laboratory sessions will introduce you to the tools necessary to undertake the assignment work.

Student-directed hours (72 hours): You are expected to be self-directed, studying independently outside class.

Overview of Learning Resources

The course is supported by the Blackboard learning management system which provides specific learning resources. See the RMIT Library Guide at 

Overview of Assessment

The assessment for this course comprises two assignments and a formal written end-of-semester examination. The lab tests and assignments involve implementation of the frameworks taught in the course.

Note: This course has no hurdle requirements.


Assessment tasks

Assessment Task 1:  Written Assignment 1

Weighting 20%

This assessment task supports CLOs 1, 2 and 3

Assessment Task 2: Written Assignment 2

Weighting 30%

This assessment task supports CLOs 4, 5 and 6

Assessment 3: End-of-semester Examination

Weighting 50% 

This assessment supports CLOs 1, 2, 3, 4, 5 and 6

Please note that postgraduate students are required to demonstrate deeper knowledge and skills that undergraduate students for CLOs 1-6 and are also expected to demonstrate achievement of CLO7.