CS 68 - XML Programming


Intermediate Web course. Combines XML (Extensible Markup Language) and programming familiarity to create dynamic data-driven Web applications. Covers DTD (Document Type Definitions), CSS (Cascading Style Sheets), XSL (Extensible Style Sheets), and DOM (Document Object Model).


Completion of CS 62 or equivalent.

Course Outcomes

Creating an XML Document
1) Summarize the history of XML
2) Compare the features of XML and HTML
3) Explain how XML documents are structured
4) Construct XML elements and attributes
5) Describe how to link an XML document to a cascading style sheet

Binding XML Data
1) Identify XML fields, records, and recordsets
2) Create a data island in a Web page
3) Illustrate how to bind XML elements to HTML tags
4) Diagram the navigation through a collection of XML records
5) Use and display XML data in a Web table

Creating a Valid XML Document
1) Create a Document Type Definition
2) Describe how to declare elements
3) Use nested elements
4) Construct parsed and unparsed entities
5) Explain how to validate an XML document

Working with Namespaces and Schemas
1) Identify the steps for creating and applying namespaces
2) Define schemas and discuss schema dialects
3) Create complex type declarations
4) Explain how to derive customized data types
5) Construct a schema, annotate it, and attach it to an instance document

Working with Cascading Style Sheets
1) Summarize the history and theory of Cascading Style Sheets
2) Apply a style sheet to an XML document
3) Design a page layout using styles
4) Use a style sheet to create and display background images
5) Create styles with elements classified by id and class attributes

Working with XSLT
1) Describe the history and theory of XSL
2) Create an XSLT style sheet
3) Modify an XML document and make it into an HTML file
4) Create conditional nodes to generate different HTML code
5) Use predicates to select subsets of an XML document

Creating a Computational Style Sheet
1) Apply XPath functions such as count() and sum()
2) Create formulas using mathematical operators
3) Explain how to work with text nodes and white space
4) Construct named and recursive templates
5) Describe how to use extension functions and elements

Creating Element Groups
1) Identify step patterns used to create complex node sets
2) Create moded templates so that different code can be applied to the same nodes
3) Establish access to node sets using ID attributes and keys
4) Outline elements using Muenchian grouping
5) Explain how to access secondary source documents

Working with the Document Object Model
1) Create and load a document object
2) Apply an XSLT transformation to a document
3) Use JavaScript to modify the contents of an XML document
4) Use JavaScript to modify the attribute values of a document element
5) Use JavaScript to pass a value to a style sheet parameter


Susie Herberholz


This course is offered every semester in an online format.