Index  

  • What you’ll learn
  • Why XML?
  • Why XML Spy Suite 2004?
  • Why the Web, JavaScript, ASP?
  • The XML BootCamp Experience
  • Pre-requisites
  • Course Outline

  • Mission Statement  

    XML is one of the most pervasive technologies in programming today. Regardless of your platform or programming language, you will be touched by XML. XML is being used for communications between machines and layers of an application, dynamic web site content, configuration or your applications, documentation and much more.

    XML, however, is simply a string with tags to make its data easy to parse. It is the technologies surrounding XML that make it really exciting. With this in mind, this course will tackle the syntax of XML in the first few hours of the course and move quickly onto XSD (XML Schemas which give your XML data structure and type safety), XSLT (An XML based scripting language for rendering your data (XML) into a number of formats, SAX and DOM (two very popular parsers that give your applications access to the data) and Web Services (which use XML to communicate between machines or even different Operating Systems).

    While we are learning how to do all of this, we will be teaching you, not only the technologies but also, the premier XML Editor on the market.

    - Josh Holmes

    Back to top


    XML / XML Spy 2004 Bootcamp!  

    Lead Instructor: Kyle Griffin

    The ONLY Authorized Course on XML Spy 2004
    -or any version, for that matter!

    XMLSpyBootCamp is a 3-day, hands-on intense immersion in learning XML using XML Spy 2004. Starting with XML fundamentals and mark-up, and moving quickly to style-sheets (XSL and XSLT using the XSLT Designer in XML Spy) and validation (DTD's and Schemas, plus the XML Spy Schema Editor and IE plug-in), the course covers both the DOM and the SAX parser, as well as server-side XML and SOAP. Taught in a rigorous, hands-on fashion by professionals such as Josh Holmes (who wrote the XML Spy BootCamp course), you'll complete this class knowing exactly how to utilize the latest features of XML Spy 2004 for building a variety of applications using XML.

    Here's what previous students of our XML BootCamps have said.

    Register for a Public presentation of this Class

    Request an On-Site presentation of this Class


    What you'll learn at our XML BootCamp  

    • XML Spy IDE Features: the Enhanced Grid View, the Schema Editor, Project Management
    • XML Spy Suite Features: the XSLT Designer, the Document Editor
    • XML fundamentals
    • How to walk document trees and manipulate structures using the DOM
    • How to transform XML using XSL
    • How to write programs that manipulate XML in the client
    • How to write programs that dynamically generate XML on the server
    • How to define new vocabularies using DTD or XML Schema syntax
    • How to build a system that serves XML
    • How to display XML in any client browser, regardless of its capabilities

    Why XML?  

    Originally designed to solve the World Wide Web's compatibility problems, XML is a data representation language that promotes the separation of data, presentation, and programming logic. Because XML is used to "describe" data, it can be used anywhere data is found. XML is gaining popularity because it is both extensible in that it allows you to define your own elements, and it is platform neutral. As a result, XML is affecting virtually every area in modern computing. Specifically, XML is being used:
    • As a new way to represent data.
      XML includes features that allow you to "tag" data in such a way that it becomes "self-describing", thus allowing various applications to handle the same data set in different ways.
    • To exchange data between heterogeneous systems.
      By defining specialized vocabularies, XML allows B2B partners to share data. Once two partners have agreed upon a vocabulary, XML acts as a data exchange format.
    • To access and manipulate data programmatically.
      XML provides standard APIs that provide programming hooks into the data, allowing developers to access any tagged element.
    • To transform data from one format to another.
      Using XML's complimentary style sheet transformation language, developers can transform data to virtually any other format. For example, developers can transform properties from a database form into SQL queries, from one protocol to another, or even Java statements to C++.
    • In applications ranging from database applications, transaction processing, content syndication, middleware and traditional Web publishing.

    This 3-day intensive course lays the groundwork for understanding and using XML, and shows how XML can be applied to real-world business problems. Students will learn the methodologies for separating data, logic, and presentation, how to access and modify XML documents via the Document Object Model (DOM), transform XML using XSL, and create new vocabularies using document type definitions and XML Schemas.

    Back to top


    Why XML Spy Suite 2004?  

    XML Spy IDE is the award-winning Integrated Development Environment for the eXtensible Markup Language that includes all major aspects of XML in one powerful and easy-to-use product:

    • XML editing and validation,
    • SCHEMA and DTD editing and
    • XSL editing and validation.
    • XSL Debugging

    XML Spy is centered around a professional quality validating XML editor that provides five advanced views on your documents:

    • an Enhanced Grid View for structured editing,
    • a Database/Table view that shows repeated elements in a tabular fashion,
    • a Text View with syntax-coloring for low-level work,
    • a graphical XML Schema design view, and
    • an integrated Browser View that supports both CSS and XSL style-sheets.

    In this course, you'll learn to leverage each of the features of XML Spy to make you as productive as you can be creating and manipulating XML.

    Back to top


    Why the Web, JavaScript, ASP?  

    First, it's important to note that XML began on the Web. More importantly, XML can be used in an infinite number of ways at all levels of the development cycle. We have found that the Web server makes the perfect teaching platform for conveying XML concepts because the Web is easily understood, the technology does not obscure the more important issues related to XML, and it offers the opportunity to attack data, style sheet transformations, presentation and programming-related issues in a single environment. The Web server offers all of this in a real-world environment that gives immediate feedback.

    Web developers and Webmasters will find this course to be directly relevant to their work. However, application and software developers will also be able to apply the techniques in this course to any XML application.

    To summarize, the Web is used because:

  • Web/XML technologies currently tend to be more stable and robust
  • Web development provides an ideal learning platform to explore XML at multiple levels that include:
  • XML syntax XSL Style sheet development DOM Programming Client- and Server-side development XML and database development

    JavaScript is used because it is:

  • Vendor neutral
  • Broadly supported
  • Familiar and easily understood by programmers of different disciplines (C++, Java, VB, etc.)
  •  Active Server Pages (ASP) are employed because:

  • While the course focus is not on Web servers, ASP is a common and convenient means for dynamically generating Web pages on the server.
  • ASP (and IIS) are broadly used throughout the industry
  • ASP's can be run on most Web platforms (requires third-party technologies)
  • We cover just enough ASP to generate XML
  • Back to top


    The XML BootCamp Experience  

    XML Spy BootCamp is about two things: intensive learning and having fun doing it! To make this possible, we've created an environment where you can learn a LOT in a relatively short period of time. First, we picked a desirable, easy-to-reach location (see our BootCamp Venues). Second, we picked a venue that will offer us a space for ourselves, an ingestion of high-performance goodies (snacks, coffee, sodas, juices, food), and a comfortable working environment (a comfortable meeting area, room to work). We've also designed a curriculum -- and a way of presenting it -- that delivers intensive, high-speed learning. Part of our approach is to present the theory behind XML early, and repeat it at intervals. But the main focus is on solving real problems with a solid approach. We'll line up problems, and we'll knock 'em  down, and we'll line up more. To this end, XML Spy BootCamp sessions are dynamic, resulting from a combination of:
    • Lecture (to present in-depth information)
    • Workshop (to show how material presented in the lecture is to be utilized and applied)
    • Exercises (to let you obtain HANDS-ON experience in designing using the ideas being presented)
    • Q&A (where we'll review the ideas and exercises, and show new approaches and techniques that were not part of the exercises)
    The Exercises are part of a 150-page workbook that shows you -- through screen-shots, examples, and design diagrams -- exactly HOW you should complete each one successfully. To encourage you to work the Exercises, we'll provide a working lunch (with great food!) each day so that you can make steady progress and get questions answered as you go.

    We'll also focus on having fun: XML is about communication. The best designs flow from one mind, but is checked and improved by many. So while there are individual exercises, there are others that we'll work as a group or in smaller, sub-groups.
    In all, we're certain that you'll:

    • Learn a lot
    • Design a lot of systems
    • Have a good -- if not great -- time doing it

    Back to top


    Pre-requisites  

    You must be familiar with fundamental concepts in web or software development, such as:

    • HTTP servers
    • HTML and CSS
    • A programming or scripting language

    We will spend very little time on, but we do use, the following basic concepts:

    • Tagging languages such as HTML
    • Programming browsers
    • DHTML

    Sorry, no hand-holding here: we assume you have been part of a development effort (while acknowledging that few people can be involved in every aspect). You do not need to be a programmer: managers, testers, and documenters can benefit from XML. 


    Course Outline  

    OUTLINE**

    Section 1 - Introduction to XML and XML Spy

    • Introduction
      • What is AXAD?
      • What is XML?
      • What is XSL?
      • What is Validation?
      • What is DOM?
      • What is SAX?
      • Lab Exercises
    • Getting Started with the XML Spy IDE
      • Managing Individual files
      • File operations (labs)
      • Enhanced Grid View
      • Text View (labs)
      • Browser View (labs)
    • Creating and Managing XML Spy Projects
      • Adding files (labs)
      • Navigating Folders (labs)
      • Setting Folder properties (labs)
      • Creating Custom Folders
      • Source Control Integration
      • Adding to Source Control
      • Checking Projects out
      • Checking Projects in
    • Getting Started with XML
      • XML Fundamentals
        • Overview
        • Your 1st XML File in Text View (labs)
      • XML Markup (Creating XML Documents with XML Spy)
        • Overview
        • Elements (labs)
        • Text (labs)
        • Attributes (labs)
        • Comments
      • Advanced XML Markup
        • Overview
        • CData Section (labs)
        • Processing Instructions
        • Using Entities
        • XML Namespaces (labs)
    • Converting Data Sources to XML documents with XML Spy
      • Databases and MS SQL Server
      • Text Files
      • Microsoft Word Documents

    Section 2 - Validating XML Documents

    • XML Document Validation
      • Overview of Validation
    • Document Type Definitions (DTDs)
      • Overview of DTDs
      • Creating and Reading DTDs (labs)
      • Generating DTDs (labs)
      • Limitations of DTDs (and why we have Schemas)
    • XML Schemas
      • Overview of Schemas
      • Creating Schemas using XML Spy Schema View
      • Creating Simple Element Types
        • Restricting length (labs)
        • Restricting content (labs)
        • Restricting format with Patterns (Perl’s Regular Expressions) (labs)
      • Creating Complex Types
        • Creating Complex Elements Types with Attributes (labs)
        • Creating Complex Elements Types with Child Elements (labs)
        • Creating Namespace Aware Schemas
        • With Single Namespaces (labs)
        • With Multiple Namespaces (labs)

    Section 3 – XML Presentation and Transformations (XSL)

    • Cascading Style Sheets (CSS)
      • Overview of CSS with HTML and XML
      • Selectors
      • Accessing Elements By Name (labs)
      • Accessing By Attribute (labs)
      • Properties
      • Creating Text Effects (labs)
      • Creating Color Effects (labs)
      • Creating Table Effects (labs)
    • XSL and XSL Transformations (XSLT)
      • Overview of the XSL Standards
      • Transforming XML with XSLT
      • XML Spy Project Settings for XSLT
      • Creating Templates (labs)
      • Matching on the Root (labs)
      • Outputting a Value (labs)
      • XPath
        • Overview
        • Finding Elements (labs)
        • Finding Attributes (labs)
        • Refinements (labs)
        • Comparisons (labs)
      • Advanced Templates
        • Matching on XPath Statements (labs)
        • Applying Templates (labs)
        • Named Templates
        • Calling Templates
        • Conditional Processing
        • xsl:if (labs)
        • xsl:choose (labs)
        • Sorting (labs)
        • Debugging your XSL (labs)
      • Advanced Presentation
        • Specifying an XSL Parser with XML Spy
        • Integrating HTML and XML (labs)
        • Presenting XML in the Browser
      • Introduction to StyleVision - the XSL Editor
        • Linking in a Schema
        • Assigning the target XML file
        • Creating your transformation (labs)
        • Testing the transformation (labs)
        • Leveraging from inside the XML Spy IDE
        • Assigning a XSLT Designer Configuration File
        • Editing your XML
      • Authentic - the Document View
        • Assigning a XSLT Designer Configuration File
        • Assigning a Schema File
        • Assigning an XML Document
        • Editing Documents (labs)
        • Creating and Leveraging Custom Toolbars (labs)
        • Using as a Standalone Product
        • Assigning a XSLT Designer Configuration File
      • XSL-FO - the XSL Formatting Objects
        • Introduction to the XSL-FO
        • Laying out the pages with XSL-FO (labs)
        • Creating Content for the pages (labs)
        • Generating PDFs from the XSL-FO (labs)
        • Generating the XSL-FO from XSLT (labs)

    Section 4 - Parsing XML Documents

    • The Document Object Model
      • Introduction to the DOM
      • Representing the DOM
      • Base Objects
      • The Document Interface (labs)
      • The Node Interface (labs)
      • The NodeList Interface (labs)
      • Fundamental Interfaces (labs)
      • Extended Interfaces (labs)
    • The SAX Parser
      • Introduction to the SAX Parser
      • SAX Classes (labs)
      • SAX Interfaces (labs)

    Section 5 - Using XML for Communications and RPC: SOAP

    • Introduction to XML Communications
    • Why XML Communications?
    • What are the standards for XML Communications?
    • SOAP
      • Why SOAP?
      • SOAP vs. Roll your own
      • Understanding WSDL
      • Editing WSDL (labs)
      • Implementing a Web Services with VB6 (labs)
      • Subscribing to the Web Service with VB6 (labs)

    Course Exercises (among many that we'll work each day of the course):

    • Build a quick and dirty XML validator
    • Write XML Presentations that can be viewed from any browser
    • Create a style-sheet selection mechanism that allows users to change their interface on the fly
    • Write a utility to document the structure of any XML document
    • Write a client and server that communicate with SOAP

    **Course outline subject to change without notice.

    Back to top


    Coming Soon  


    Commentary  

    Regarding .NET 2.0 / C# 2.0 BootCamp

    "Awesome class!!!!!"

    --Bob Vigliano