XML : XSL Transformations, Level 2

Course Description

Overview:   This course is a follow-up to XML: XSL Transformations, Level 2 . The XSLT specification is maintained by the W3C (World Wide Web Consortium) and is a core part of the growing family of XML technologies. A related XML technology is the XPath language, which is required for using XSLT stylesheets. Students in this course continue to learn the details of both XSLT and XPath, including the various XSLT elements not covered in Level 1, the XSLT functions, and the unabbreviated XPath syntax. They will also use XSLT in a server-side environment utilizing ASP (Active Server Pages) and ADO (ActiveX Data Objects) technologies. Finally, students will use XSLT with XML data islands and SVG (Scalable Vector Graphics).

Prerequisites:   We designed

·  XML: XSL Transformations, Level 2: for the student who is familiar with the general concepts involved in XML. It presupposes that the student has successfully taken

·  XML: XSL Transformations, Level 1: . Further, prior to taking this course students should have taken Element K courses on the following (or have equivalent knowledge):

·           HTML:

·           Cascading stylesheets:

·           XML Introduction:

  Some knowledge of basic programming concepts and/or experience with Web scripting (VBScript or JavaScript) would also be helpful. A knowledge of the XML Document Object Model, though not strictly necessary, would be helpful and is important for anyone planning to work with XSLT.

Performance-Based Objectives

Lesson objectives help students become comfortable with the course, and also provide a means to evaluate learning. Upon successful completion of this course, students will be able to:

·         Use XSLT functions to retrieve XML data from multiple documents, work with keys and generated IDs, and determine XSLT processor features.

Course Content

Lesson 1: Advanced XSLT Elements, Part 1

          Topic 1A: The Structure of XSLT Stylesheets Reconsidered

                   Task 1A-1: The Structure of an XSLT Stylesheet

          Topic 1B: Importing and Including Stylesheets

                   Task 1B-1: Using the <xsl:include> Element

                   Task 1B-2: Using the <xsl:import> Element

          Topic 1C: Variables and Parameters

                   Task 1C-1: Using the <xsl:variable> Element

                   Task 1C-2: Using the <xsl:param> and <xsl:with-param> Elements

Lesson 2: Advanced XSLT Elements, Part 2

          Topic 2A: Output Options

                   Task 2A-1: Using the <xsl:output> Element

          Topic 2B: Copying XML Directly to the Output Tree

                   Task 2B-1: Using the <xsl:copy> and <xsl:copy-of> Elements

          Topic 2C: Using Other Advanced XSLT Elements

                   Task 2C-1: Using <xsl:number> to Create Ordered Lists

                   Task 2C-2: Generating a Processing-Instruction

Lesson 3: The Built-in XSLT Functions

          Topic 3A: General Purpose Functions

                   Task 3A-1: The Difference Between Current() and (.)

                   Task 3A-2: Using key(), generate-id() and format-number()

                   Task 3A-3: Using the system-property(), function-available(), and element-available()Functions

          Topic 3B: The document() Function

                   Task 3B-1: Combining XML Documents

Lesson 4: XPath Axes and Location Paths

          Topic 4A: The Current Context Reconsidered

                   Task 4A-1: Considering Context Properties

          Topic 4B: XPath Axes and Unabbreviated XPath Syntax

                   Task 4B-1: Using XPath Axes Explicitly

Lesson 5: Server-Side XSLT Programming with ASP, XML DOM, and ADO

          Topic 5A: Using XSLT with ASP and the XML DOM

                   Task 5A-1: Transforming XML to HTML on the Server

          Topic 5B: Transforming XML Obtained from a Database

                   Task 5B-1: Transforming XML Obtained from a Database

Lesson 6: Data Islands and SVG Output

          Topic 6A: Using XML Data Islands with XSLT

                   Task 6A-1: Transforming XML Data Islands with XSLT

          Topic 6B: Converting XML Documents into SVG Graphics

                   Task 6B-1: Converting Traditional XML into SVG with XSLT

Appendix A: XSLT Syntax

    XSLT Elements

    XSLT Functions

Appendix B: XPath

    XPath Syntax

    XPath Axes

    XPath Functions

Appendix C: Setting up a System DSN

    Step-By-Step Instructions

Appendix D: XML to WML