Part Number: X08-65210 Course Number: 2500A Released: 12/2001 Delivery Guide IntroductiontoXMLandtheMicrosoft ® .NETPlatform Information in this document, including URL and other Internet Web site references, is subject to change without notice. Unless otherwise noted, the example companies, organizations, products, domain names, e-mail addresses, logos, people, places, and events depicted herein are fictitious, and no association with any real company, organization, product, domain name, e-mail address, logo, person, places or events is intended or should be inferred. Complying with all applicable copyright laws is the responsibility of the user. Without limiting the rights under copyright, no part of this document may be reproduced, stored in or introduced into a retrieval system, or transmitted in any form or by any means (electronic, mechanical, photocopying, recording, or otherwise), or for any purpose, without the express written permission of Microsoft Corporation. Microsoft may have patents, patent applications, trademarks, copyrights, or other intellectual property rights covering subject matter in this document. Except as expressly provided in any written license agreement from Microsoft, the furnishing of this document does not give you any license to these patents, trademarks, copyrights, or other intellectual property. 2001 Microsoft Corporation. All rights reserved. Microsoft, MS-DOS, Windows, Windows NT, ActiveX, BackOffice, bCentral, BizTalk, FrontPage, MSDN, MSN, Netshow, PowerPoint, SharePoint, Visio, Visual Basic, Visual C++, Visual C#, Visual InterDev, Visual Studio, Windows Media, and Xbox are either registered trademarks or trademarks of Microsoft Corporation in the U.S.A. and/or other countries. The names of actual companies and products mentioned herein may be the trademarks of their respective owners. Course Number: 2500A Part Number: X08-65210 Released: 12/2001 IntroductiontoXMLandthe Microsoft® .NETPlatform iii Contents Introduction Course Materials 2 Prerequisites .3 Course Outline .4 Setup 7 Microsoft Certified Professional Program .8 Facilities .10 Module 1: TheMicrosoft.NETPlatformandXML Overview 1 Lesson: XML in the.NETPlatform .2 Lesson: XML as a W3C Standard 12 Module 2: Basic XML Overview 1 Lesson: The Form of XML 2 Lesson: Designing an XML Vocabulary .13 Lesson: Namespaces 17 Lab 2: Designing an XML Vocabulary 25 Review .28 Module 3: Validating XML Overview 1 Lesson: Introducing Validation 2 Lesson: Using XSD Schemas 11 Quiz 15 Lab 3: Using Office XP to Generate a Schema 16 Module 4: Technologies for Handling XML Data Overview 1 Lesson: Metadata andXML Processing 2 Lesson: XML Processing Technologies 6 Module 5: Creating and Manipulating Trees Using DOM Overview 1 Lesson: How Does DOM Work? .2 Lesson: Using DOM andthe.NET Framework XML Classes 8 Lab 5: Changing a DOM Tree .16 Review .26 Module 6: Using XPath to Navigate a Tree of Nodes Overview 1 Lesson: What Is XPath? .2 Lesson: Using XPath 11 Lesson: The Range of Application of XPath .21 Lab 6: Using XPath to Navigate and Select Data 27 Review .37 iv IntroductiontoXMLandthe Microsoft® .NETPlatform Module 7: Formatting and Transforming: XSL and XSLT Overview . 1 Lesson: Defining XSL 2 Lesson: Transforming XML Using XSLT 8 Lesson: XSLT in theMicrosoft.NET Framework . 20 Lab 7: Creating and Editing XSLT in FrontPage 2002 and Visual Studio .NET . 25 Review 31 Module 8: Using XQuery to Link and Query XML Documents Overview . 1 Lesson: What Is XQuery? . 2 Lesson: Using XQuery 11 Lab 8: Using Simple and Advanced XQuery Expressions 17 Review 22 Course Evaluation . 23 Module 9: SQL XML Overview . 1 Lesson: XML Support in SQL Server 2000 2 Lesson: Using HTTP to Access and Input XML Data 10 Lab 9: Creating SQL Queries Using XML . 17 Review 22 Module 10: The Challenge of Designing XML Solutions Overview . 1 Lesson: Solutions That Use XML . 2 Lesson: XML Web Services . 17 Lesson: What Is Next? 27 Lab 10: Building a Menu System 32 Review 36 Course Evaluation . 37 Appendix A: XML Schema Data Types Appendix B: What Is XQueryX? Appendix C: Appendix to Chapter 9: SQL XML Lesson: FOR XMLand OpenXML 1 Lesson: Manipulating XML Using Transact-SQL 8 Lesson: Retrieving XML Data with ADO and ADO.NET . 12 Lesson: Using Mapping Schemas . 13 Lesson: Updategrams and Bulk Load . 18 Lesson: Ideas andthe Future of XMLand SQL . 22 Lab 9: Creating SQL Queries Using XML . 27 IntroductiontoXMLandthe Microsoft® .NETPlatform v About This Course This section provides you with a brief description of the course, audience, suggested prerequisites, and course objectives. This two-day instructor-led course provides a technological overview of the structure and programming techniques of Extensible Markup Language (XML). This course discusses the role of XML in theMicrosoft ® .NET vision andthe larger world of distributed standards-based computing. This course provides students with: ! An introductiontothe curriculum trainings for developer training. ! A first course in theXML data access track. ! An introductionto .NET. The audience for this course is very broad and includes the following: ! Microsoft Visual Basic ® developers with little Web development training or job experience ! Web developers with moderate experience writing client scripts by using Common Gateway Interface (CGI), Visual Basic Scripting Edition (VBScript), Practical Extraction and Report Language (PERL), Java Script, or some other scripting language ! Web developers with moderate experience developing Web sites by using Microsoft FrontPage ® or some other Web page development tool and basic Hypertext Markup Language (HTML) knowledge ! Microsoft Office developers ! Microsoft SQL Server ™ 2000 administrators and developers This course requires that students meet the following prerequisites: ! Intermediate-level courseware or work experience using a scripting or programming language ! Intermediate working knowledge of HTML ! Working knowledge of how databases are used in distributed computing environments Description Audience Student Prerequisites vi IntroductiontoXMLandthe Microsoft® .NETPlatform After completing this course, the student will be able to: ! Describe how XML fits into the overall vision of distributed computing through Microsoft.NET technologies. ! Create a well-formed XML document. ! Use XML schemas to validate an instance document. ! Describe how the Document Object Model (DOM), XML Path Language (XPath), Extensible Stylesheet Transformations (XSLT), and XQuery are used to create real-world solutions. ! Describe how SQL Server 2000 uses XML. ! Match appropriate XML standards, such as theMicrosoftXML Core Services (MSXML) and MathXML, and technologies, such as DOM, XSLT, XML Schema Definitions (XSD), XQuery, and XPath, to address a range of solution requirements. ! Identify the next logical Microsoft.NET training experience and readily justify the decision to enroll in further Microsoft.NET training. Course Objectives IntroductiontoXMLandthe Microsoft® .NETPlatform vii Course Timing The following schedule is an estimate of the course timing. Your timing may vary. Day 1 Start End Module 9:00 9:15 Introduction 9:15 10:00 Module 1: TheMicrosoft.NETPlatformandXML 10:00 10:45 Module 2: Basic XML 10:45 11:00 Lab 2: Designing an XML Vocabulary 11:00 11:15 Break 11:15 11:45 Module 3: Validating XML 11:45 12:15 Lunch 12:15 12:45 Lab 3: Using Office XP to Generate a Schema 12:45 1:15 Module 4: Technologies for Handling XML Data 1:30 1:45 Break 1:45 2:45 Module 5: Creating and Manipulating Trees Using DOM 2:45 3:15 Lab 5: Changing a DOM Tree 3:15 4:00 Module 6: Using XPath to Navigate a Tree of Nodes Day 2 Start End Module 9:00 9:15 Day 1 review 9:15 9:45 Lab 6: Using XPath to Navigate and Select Data 9:45 10:00 Module 7: Formatting and Transforming: XSL and XSLT 10:00 10:15 Lab 7: Creating and Editing XSLT in FrontPage 2002 and Visual Studio .NET 10:15 10:30 Break 10:30 11:15 Module 8: Using XQuery to Link and Query XML Documents 11:15 11:45 Lab 8: Using Simple and Advanced XQuery Expressions 11:45 12:45 Lunch 12:45 1:15 Module 9: SQL XML 1:15 2:00 Break 2:00 2:45 Lab 9: Creating SQL Queries Using XML 2:45 3:15 Module 10: The Challenge of Designing XML Solutions 3:15 4:00 Lab 10: Building Menu System viii IntroductiontoXMLandthe Microsoft® .NETPlatform Trainer Materials Compact Disc Contents The Trainer Materials compact disc contains the following files and folders: ! Autorun.exe. When the compact disc is inserted into the compact disc drive, or when you double-click the Autorun.exe file, this file opens the compact disc and allows you to browse the Student Materials or Trainer Materials compact disc. ! Autorun.inf. When the compact disc is inserted into the compact disc drive, this file opens Autorun.exe. ! Default.htm. This file opens the Trainer Materials Web page. ! Readme.txt. This file explains how to install the software for viewing the Trainer Materials compact disc and its contents and how to open the Trainer Materials Web page. ! 2500A_ms.doc. This file is the Manual Classroom Setup Guide. It contains the steps for manually setting up the classroom computers. ! Powerpnt. This folder contains the PowerPoint slides that are used in this course. ! Pptview. This folder contains the PowerPoint Viewer, which is used to display the PowerPoint slides. ! Setup. This folder contains the files that install the course and related software to computers in a classroom setting. ! StudentCD. This folder contains the Web page that provides students with links to resources pertaining to this course, including additional reading, review and lab answers, lab files, multimedia presentations, and course- related Web sites. ! Tools. This folder contains files and utilities used to complete the setup of the instructor computer. ! Webfiles. This folder contains the files that are required to view the course Web page. To open the Web page, open Windows Explorer, and in the root directory of the compact disc, double-click Default.htm or Autorun.exe. IntroductiontoXMLandthe Microsoft® .NETPlatform ix Student Materials Compact Disc Contents The Student Materials compact disc contains the following files and folders: ! Autorun.exe. When the compact disc is inserted into the CD-ROM drive, or when you double-click the Autorun.exe file, this file opens the compact disc and allows you to browse the Student Materials compact disc. ! Autorun.inf. When the compact disc is inserted into the compact disc drive, this file opens Autorun.exe. ! Default.htm. This file opens the Student Materials Web page. It provides students with resources pertaining to this course, including additional reading, review and lab answers, lab files, multimedia presentations, and course-related Web sites. ! Readme.txt. This file explains how to install the software for viewing the Student Materials compact disc and its contents and how to open the Student Materials Web page. ! 2500A_ms.doc. This file is the Manual Classroom Setup Guide. It contains a description of classroom requirements, classroom setup instructions, andthe classroom configuration. ! Addread. This folder contains additional material pertaining to this course. ! Democode. This folder contains demonstration code. ! Flash. This folder contains the installer for the Macromedia Flash 5.0 browser plug-in. ! Fonts. This folder contains fonts that are required to view theMicrosoft PowerPoint ® presentation and Web-based materials. ! Labfiles. This folder contains files that are used in the hands-on labs. These files may be used to prepare the student computers for the hands-on labs. ! Media. This folder contains files that are used in multimedia presentations for this course. ! Mplayer. This folder contains the setup file to install Microsoft Windows Media ™ Player. ! Practices. This folder contains files that are used in the hands-on practices. ! Sampcode. This folder contains sample code that is accessible through the Web pages on the Student Materials compact disc. ! Webfiles. This folder contains the files that are required to view the course Web page. To open the Web page, open Windows Explorer, and in the root directory of the compact disc, double-click Default.htm or Autorun.exe. ! Wordview. This folder contains the Word Viewer that is used to view any Word document (.doc) files that are included on the compact disc. x IntroductiontoXMLandthe Microsoft® .NETPlatform Document Conventions The following conventions are used in course materials to distinguish elements of the text. Convention Use " "" " Indicates an introductory page. This symbol appears next to a topic heading when additional information on the topic is covered on the page or pages that follow it. bold Represents commands, command options, and syntax that must be typed exactly as shown. It also indicates commands on menus and buttons, dialog box titles and options, and icon and menu names. italic In syntax statements or descriptive text, indicates argument names or placeholders for variable information. Italic is also used for introducing new terms, for book titles, and for emphasis in the text. Title Capitals Indicate domain names, user names, computer names, directory names, and folder and file names, except when specifically referring to case-sensitive names. Unless otherwise indicated, you can use lowercase letters when you type a directory name or file name in a dialog box or at a command prompt. ALL CAPITALS Indicate the names of keys, key sequences, and key combinations — for example, ALT+SPACEBAR. monospace Represents code samples or examples of screen text. [ ] In syntax statements, enclose optional items. For example, [filename] in command syntax indicates that you can choose to type a file name with the command. Type only the information within the brackets, not the brackets themselves. { } In syntax statements, enclose required items. Type only the information within the braces, not the braces themselves. | In syntax statements, separates an either/or choice. ! Indicates a procedure with sequential steps. . In syntax statements, specifies that the preceding item may be repeated. . . . Represents an omitted portion of a code sample. . Prerequisites vi Introduction to XML and the Microsoft .NET Platform After completing this course, the student will be able to: ! Describe how XML fits into the overall. decision to enroll in further Microsoft .NET training. Course Objectives Introduction to XML and the Microsoft .NET Platform vii Course Timing The following