Purdue School of Engineering and Technology

Purdue School of Engineering and Technology

XML-Based Web Applications

CIT 41200 / 3 Cr.

This course covers how to build web applications using XML. Students will learn how to create and validate data in XML documents and how to display XML documents using Cascading Style Sheets (CSS), XSL Transformations (XSLT), and the Document Object Model (DOM).

  • oXygen XML Editor

Course Outcomes (What are these?)

  • Create well-formed and valid XML documents (CIT i)
  • Create an XML schema using DTD and XSD (CIT i)
  • Given an DTD or XSD, create a valid XML document.(CIT j)
  • Format and transform XML data using CSS and XSLT (CIT j)
  • Write XPath and XQuery to retrieve and manipulate XML data (CIT i)
  • Manipulate XML Documents programmatically using DOM and Javascript (CIT i)

CIT Student Outcomes (What are these?)

(i) An ability to use current techniques, skills, and tools necessary for computing practice.

(j) An ability to use and apply current technical concepts and practices in the core information technologies.

  • Introduction to XML
  • Creating XML Documents
  • Posting XML Data from a Client to a Server
  • Formatting XML with Cascading Style Sheets
  • Validating XML with DTDs
  • Validating XML Using XML Schema Definition(XSD) Language
  • XPath
  • XML Transformations
  • Generating XML from a Database
  • Using the Document Object Model (DOM)


Principles of Undergraduate Learning (PULs)

1b. Identify and propose solutions for problems using quantitative tools and reasoning.

1c. Make effective use of information resources and technology.

4. Intellectual Depth, Breadth, and Adaptiveness

What You Will Learn

Introduction to XML

  • Describe the purpose and benefits of XML.
  • Distinguish between XML and HTML.
  • Discuss how and why XML was developed.
  • List the ten development goals of XML.
  • Access XML specifications on the Web.
  • Describe the structure of an XML document.
  • List the 6 rules for well-formed XML documents.

Creating XML Documents

  • Understand the syntax and rules of a well-formed XML document.
  • Create well-formed XML documents.
  • Diagram the structure of a well-formed XML document.
  • Discuss the issues associated with designing XML documents.

Formatting XML with Cascading Style Sheets

  • Create an external cascading style sheet.
  • Explain the use of flow objects and inheritance in applying CSS properties.
  • Use CSS1 display, text, font, color, and background properties to format XML for display.
  • Explain the box model and be able to control the margins, borders and padding of a box.

Validating XML with DTDs

  • Explain what validity means in XML
  • Explain the benefits of using a schema.
  • Express a document model in a DTD.
  • Create a well-formed XML document that conforms to a given DTD.
  • Validate an XML document against its DTD.

Validating XML using the XML Schema Definition (XSD) Language

  • Create a valid XML document that conforms to a given XSD schema.
  • Declare elements and attributes in XSD schema.
  • Use data types in an XSD schema.
  • Validate an XML document against a XSD schema.
  • Compare and contrast DTD and XSD schemas.


  • Explain the basics of XPath syntax and usage
  • Write XPath location paths to select the seven types of node from an XML document.
  • Use selected XPath operators and functions.

XML Transformations (XSLT)

  • Explain the XSL processing model
  • Use XSLT to convert XML documents to XML (with a different schema), HTML, and other formats.
  • Create an XSL stylesheet with template rules and xsl:value-of actions.
  • Iterate through node set returned by XPath expression using xsl:for-each
  • Generate new nodes in the XML result tree.
  • Specify the sort order for elements in the result document.

Generating XML Data from a Database

  • Explain the three-tier architecture for Web applications.
  • Create an ASP page to return XML to a browser.
  • Use an ActiveX Data Object (ADO) Recordset to retrieve data from a database.
  • Convert the contents of an ADO Recordset into XML.
  • Use client-side scripting to process data.

Using the Document Object Model (DOM)

  • Explain the Document Object Model (DOM).
  • List four XML DOM objects.
  • Identify the nodes of a DOM tree.
  • Write simple DOM scripts using either JavaScript or VBScript.
  • Retrieve information from a DOM tree.
  • Use the DOM to dynamically transform XML with XSL.
  • Add, move, and remove nodes from a DOM tree.

Posting XML Data from the Client to a Server

  • Explain the issues involved in creating an XML packet to send to a server.
  • Use the XMLHTTP object to send data to a server.
  • Accept and manipulate an XML response from the server to the client.
  • Explain the issues involved in creating an XML packet to send to a server.
  • Convert XML into a server-side DOM tree.
  • Update the back-end database with data from the client.
  • Issue a response from the server to the client.