Core XML and XML Transformations and Web Services

Code: 50060
Course duration: 5 days
Price:

50060: Core XML & XML Transformations and Web Services (5 days)

About this Course

This five-day instructor-led course provides students with the knowledge and skills to learn the fundamentals of the Extensible Markup Language (XML) as well as those of the most popular supporting technologies. See how to create well-formed XML data and effectively use namespaces. Understand how to perform validation using Document Type Definitions (DTDs) and XML Schemas (XSDs). See how to manipulate XML data using the Document Object Model (DOM) and Simple API for XML (SAX). Learn how to create Web services using the Simple Object Access Protocol (SOAP). Become familiar with style sheets using XSL for Transformation (XSLT). See the latest XML technologies such as XQuery, XML Encryption, and Resource Description Framework (RDF).

Audience Profile

This course is intended for:

  • Application developers who need to implement XML-based solutions.
  • Systems architects who want to understand how XML can be integrated into the system design of distributed application.
  • IT managers who are responsible for overseeing development shops implementing XML solutions.

At Course Completion

After completing this course, students will be able to:

  • Use XML in applications, with an understanding of its structure, uses, and idiosyncrasies.
  • Create both well-formed and optionally valid XML that complies with the XML standard and the requirements of the application.
  • Use two technologies that define the structure of XML data, beyond the general syntax rules of XML.
  • Transform XML into completely different XML, HTML, and binary files.

Course Outline

Module 1: Introduction to the Extensible Markup Language

This module explains how to create XML data the basic syntax of XML. Learn what constitutes acceptable XML content and understand the relationship between elements and attributes.

Lessons

  • What Is XML?
  • Work with XML Data
  • Well-Formed XML
  • XML Content Models
  • Well-Formed and Valid XML

Lab : Introduction to the Extensible Markup Language

  • Overview
  • Create an XML Document
  • Check the Document for Well-Formedness
  • Make an XML Document Well-Formed
  • Work with Illegal Characters

After completing this module, students will be able to:

  • Create XML data and understand the basic syntax of XML.
  • Understand what constitutes acceptable XML content and how to get around some of the limitations by using entity references.
  • Understand the relationship between elements and attributes, and when it is better to use one or the other to contain data.
  • Understand the concepts of well-formed and valid XML data.

Module 2: Document Type Definitions (DTDs)

This module explains the basic structural elements of DTDs, how to use public and private DTDs, and XML content models.

Lessons

  • The Value of Valid XML
  • Associate a DTD with XML
  • XML Content Model Defined
  • Content Model Cardinality
  • Attributes Defined
  • Custom Entities Defined
  • What's the Problem with DTD?

Lab : Document Type Definitions (DTDs)

  • Overview
  • Validate an XML Document
  • Create a DTD Document

After completing this module, students will be able to:

  • Understand the value of valid XML data.
  • Use basic structural elements of DTDs.
  • Use both internal and external structure definitions.
  • Use public and private DTDs.
  • Create DTDs that define elements and attributes.
  • Understand XML content models and how to complement them in DTDs.
  • Use option groups and other techniques to flexibly define data structure.
  • Understand the problems and limitations of DTDs.

Module 3: Schemas and Namespaces

This module explains how to construct basic XML schemas, how to make design decisions, and how namespaces allow the combination of XML from different sources.

Lessons

  • Describing XML
  • Built-in Data Types
  • Content Models Defined
  • Derive Types
  • XML Namespaces
  • Do I Really Need Valid XML?

Lab : Schemas and Namespaces

  • What Is XSLT?
  • Are You Sure This Is a Language?

After completing this module, students will be able to:

  • Understand how XML schemas provide the tools that make XML the best app of the Internet.
  • Construct basic XML schemas and a few of the many possible permutations.
  • Understand the design decisions that go into building effective schemas.
  • Understand how namespaces allow the combination of XML from different sources.

Module 4: Introduction to XSLT

This module explains common types of XSLT transformations, how a transformation is processed, and how to search and filter XML data.

Lessons

  • What Is XSLT?
  • Are You Sure XSLT Is a Language?
  • Transformation Types
  • XSLT Processing

After completing this module, students will be able to:

  • Understand why XSLT was devised and briefly review its history.
  • Understand the common types of XSLT transformations.
  • Understand how a transformation is processed given an XML file and an XSLT file.
  • Search and filter XML data using XPath and XSLT.

Module 5: XML Document Object Model (DOM)

This module explains how the W3C Document Object Model supports XML, why the DOM looks at XML data, and how DOM specifications define interfaces.

Lessons

  • Object-Oriented View of XML
  • DOM Interfaces and Objects
  • A Parsing Alternative: Simple API for XML (SAX)

After completing this module, students will be able to:

  • Understand the W3C Document Object Model and how it supports applications that use XML.
  • Understand the way the DOM looks at XML data as a collection of nodes and how it parses raw data into an in-memory representation.
  • Understand how the DOM specification defines interfaces, not implementations.
  • Understand that there is an alternative XML parsing technology, the Simple API for XML (SAX), and how it differs from the DOM.

Module 6: XSLT Simplified Stylesheets

This module explains how to create simple XSLT stylesheets, which attributes are required by an XSLT stylesheet, and how to extract a text node from an element and insert it into the transformation result tree.

Lessons

  • The Essential Stylesheet
  • Use an XSLT Blueprint to Create HTML
  • What Can't a Simplified Stylesheet Do?

Lab : XSLT Simplified Stylesheets

  • Overview
  • Create an HTML Page
  • Build an HTML List from an XML Node-Set
  • Sort Nodes Alphabetically

After completing this module, students will be able to:

  • Create simple XSLT stylesheets using the simplified stylesheet syntax.
  • Understand which attributes are required by any XSLT stylesheet and what their values should be.
  • Extract a text node from an element and insert it into the transformation result tree.
  • Use XSLT control structures to branch and loop within a stylesheet.
  • Use the &rt;xsl:sort< element.

Module 7: Get Around with XPath

This module explains XPath and how it is used in XSLT, how to navigate nodes in an XML document, and XPath functions.

Lessons

  • What Is XPath?
  • Figure Out Location Steps
  • Introduction to XPath Functions

Lab : Get Around with XPath

  • Overview
  • Find Certain Ancestors of a Node
  • Use XPath Functions to Build a String from a Node-Set

After completing this module, students will be able to:

  • Understand what XPath is and how it used in XSLT.
  • Navigate nodes in an XML document.
  • Use XPath functions to do string manipulation and numeric calculations within an XSLT stylesheet.

Module 8: Add Template Rules

This module explains how to use and apply templates in XSLT, how to work with the &rt;sxl:template< element and its match attribute, and how to apply a template with the &rt;xsl:apply-template< element.

Lessons

  • What Are Templates?
  • Un-simplifying the Stylesheet
  • Using the Template Element
  • Other Top-Level XSLT Elements

Lab : Add Template Rules

  • Overview
  • Create and Process a Stylesheet
  • Create a Table of Contents
  • Create a Heading Showing Parent Names

After completing this module, students will be able to:

  • Use templates in XSLT.
  • Understand the default templates and how they are applied.
  • Understand the full syntax for creating an XSLT stylesheet.
  • Work with the &rt;xsl:template< element and its match attribute.
  • Apply a template with the &rt;xsl:apply-template< element.

Module 9: XML Web Services

This module explains the three primary technologies and how they work together to make Web services possible.

Lessons

  • A Brief History of Remote Procedure Calls
  • Web Service Description Language (WSDL)
  • Introduction to SOAP
  • Program Raw SOAP
  • Universal Description, Discovery, and Integration (UDDI)

Lab : XML Web Services

  • Overview
  • Find a Web Service
  • Call a Web Service

After completing this module, students will be able to:

  • Understand the various attempts in computer history to invoke methods on remote computers.
  • Explain how three primary technologies—UDDI, SOAP, and WSDL—work together to make Web services possible.
  • Understand how WSDL describes the interface of a Web service.
  • Understand how SOAP provides a format for making Web service calls and how to assemble a SOAP envelope.
  • Find Web services already available on the Web and learn how to hook into them.

Module 10: Extensible HTML (XHTML)

This module explains the problems with HTML and the current Web, the structure of an XHTML page, and how to convert an existing HTML page to XHTML.

Lessons

  • Future of the Web: XHTML
  • Details of XHTML
  • Well-Formed XHTML
  • Modular XHTML

Lab : Extensible HTML (XHTML)

  • Overview
  • Convert an HTML Page to XHTML

After completing this module, students will be able to:

  • Understand the problems with HTML and the current Web, and how mixing it up with XML will benefit the Web.
  • Explain the structure of an XHTML page and how it differs from HTML, and the connection with the HTML 4.01 specification.
  • Understand the rigid XHTML structure.

Module 11: Resource Description Framework (RDF)

This module explains the Semantic Web, the basic details of how to write RDF code, and existing RDF vocabularies.

Lessons

  • The Semantic Web
  • RDF Code Writing
  • RDF Vocabularies

After completing this module, students will be able to:

  • Understand the Semantic Web and how it will dramatically increase the value of the Web.
  • Understand the basic details of how to write RDF code to create metadata.
  • Understand some of the available RDF vocabularies and how to use them in applications

Module 12: Traditional Programming Concepts and XSLT

This module explains how to leverage procedural programming knowledge in XSLT, explore named templates and parameters, and create modular XSLT applications.

Lessons

  • Programming Concepts You Can Use
  • Work with Variables
  • Call Named Templates
  • Use Functions
  • Create Modular Stylesheet Solutions

Lab : Traditional Programming Concepts and XSLT

  • Overview
  • Use a Variable as an Attribute Value
  • Create a Template to Format a Number
  • Create a Utility Stylesheet

After completing this module, students will be able to:

  • Leverage procedural programming knowledge in XSLT, a nonprocedural language.
  • Understand how variables are created and used in an XSLT stylesheet.
  • Understand named templates and parameters.
  • Understand the functions that are defined in the XSLT specification.
  • Create more modular XSLT applications with the &rt;xsl:include< and &rt;xsl:import< elements.

Module 13: XML Result Tree Creation

This module explains how to use node-set and result tree fragment variables, the &rt;xsl:copy< and use of node-set and result tree fragment variables, the &rt;xsl:copy< and &rt;xsl:copy-of< elements, and how to create comments and processing instructions.

Lessons

  • XML-Structured Variables
  • XML Node Creation Elements

Lab : XML Result Tree Creation

  • Overview
  • Create and Copy a Result Tree Fragment
  • Create and Use a Node-Set Variable
  • Create and Use an Attribute Set

After completing this module, students will be able to:

  • Use node-set and result tree fragment variables in a stylesheet.
  • Understand the &rt;xsl:copy< and &rt;xsl:copy-of< elements.
  • Understand when to use &rt;xsl:element< and &rt;xsl:attribute< instead of literal result elements.
  • Create comments and processing instructions in the result set.

Module 14: Calculate in XSLT

This module explains why XSLT variables don't vary and discusses the concept of recursive programming.

Lessons

  • Program with No Slide Effects
  • Apply Recursive Programming Techniques

Lab : Calculate in XSLT

  • Overview
  • Build a Comma-Delimited List

After completing this module, students will be able to:

  • Understand why XSLT variables don't vary.
  • Understand the concept of recursive programming.

Module 15: Common XSLT Challenges

This module explains how to copy HTML tags from data, group data, and work with the generate-id() function.

Lessons

  • Apply XSLT
  • How Do I Group Data?
  • Another Solution: Group Data
  • How Do I Copy HTML Tags from the Data?
  • How Do I Add or Remove Whitespace?

Lab : Common XSLT Challenges

  • Overview
  • Group Data Using a Node-Set
  • Group Data Using a Key

After completing this module, students will be able to:

  • Apply techniques to common types of transformations.
  • Copy HTML tags from the data to the result.
  • Use two different techniques for grouping data.
  • Understand how keys can speed up some transformations.
  • Work with the generate-id() function.
  • Adjust the amount of whitespace in a result document.

Module 16: Processor-Specific Extensions

This module explains elements and functions implemented by certain processors, why extensions are used, and code recovery.

Lessons

  • The Mechanics of Extensions
  • Should You Use Extensions?
  • Recover from Missing Extensions

After completing this module, students will be able to:

  • Understand elements and functions implemented by certain processors that are outside W3C specification but use hooks provided therein.
  • Understand when to use extensions and when not to do so.
  • See how code can recover if an extension is used and process the stylesheet with a processor that doesn't recognize it.

Module 17: Applied XML

This module explains XQuery, Scalable Vector Graphics, and how to secure XML data.

Lessons

  • The Complex World of XML
  • XML Query
  • Scalable Vector Graphics
  • Security and XML

After completing this module, students will be able to:

  • Understand how XQuery uses concepts adapted from relational databases to query XML data to extract useful information.
  • Understand Scalable Vector Graphics and how to use it as a device-independent means of creating graphics.
  • Secure XML data as it moves between applications and components.

Before attending this course, students must have:

  • Familiarity with PCs and desktop workstations.
  • Familiarity with HTML tags such as <body&rt;, <table&rt;, <h1&rt; and <br&rt;.
  • Procedural programming experience (e.g., Visual Basic, Visual C++, VBA).
  • General familiarity with how applications process data and information.

Course Reviews

No reviews found for this course.

Be the first to write a review