Preface.
Introduction.
I. STRUCTURE.
1. Introduction to XML.
XML: Metadata About Data.
Defining a Well-Formed Document.
Why Do We Need a Processor?
Defining the Role of the Browser.
Parsed Character Data (#PCDATA).
XML Entities and their Applications.
Including Attributes in Your Documents.
When Should You Use Attributes vs. Elements?
Comments.
Whitespace.
NMToken.
How Does XML Apply to Business Applications?
Summary, Self-Review Exercises, Projects.
2. Document Type Definition.
DTD: A Description.
Document type Declarations and Definitions.
DTD Conceptualization and Design.
DTD as an External Subset.
DOCTYPE Declarations Using the PUBLIC Keyword.
Content Models.
Attributes.
Entities.
Defining Element Recurrences.
Notation.
Names.
Conditional Sections.
ID, IDREF, IDREFS.
Practical Business Applications.
Summary, Self-Review Exercises, Projects.
3. Parsing Your XML Documents.
Parsing: A Description.
What Does a Parser Do?
Creating a Sax Parser.
Pros and Cons of Using Sax.
Creating a SAX2 Application with Visual Basic.
Parsing with the Document Object Model (DOM).
Understanding DOM Interfaces.
Understanding Interfaces.
DOM Core APIs.
Creating Document Fragments.
Retrieving NextNode Siblings.
Creating a Source document From Scratch.
Working with Attributes.
Inserting and Updating.
DOM Remove/Replace Methods.
Cloning Nodes.
NodeList.
String Handling.
Notation and Entity References.
Microsoft's MSXML 4.0 Parser Brief Overview.
What's New in MSXML Version 4.0? Plenty!
Summary, Projects.
4. Introducing Schemas.
Schemas, A Better DTD.
Schema DataTypes.
Facets.
Complex Types.
Compositors.
Defining Namespaces.
Exposing/Hiding Namespaces.
Content Models.
Deriving Complex Types from Existing Complex types.
Attribute Definitions.
Identity Constraints.
Practical Business Application Suggestions.
Summary, Self-Review Exercises, Projects.
II. TRANSFORMATION.
5. XSLT.
Transform your Documents with XSLT.
Presenting Your Document in HTML.
XSLT Stylesheet Structure.
Parsing with XSLT's Processor.
Exploring XSLT Templates and Elements.
Template Rules and Expressions.
Conditional Processing.
Sorting.
Including Other Source Documents.
Generating Elements from Attributes.
Inserting Formatted Numbers.
Formatting Lists.
A Table of Template Rules.
Resolution Conflict Policy.
Expressions, Variables and Data types.
Stylesheet Design Considerations.
Summary, Self-Review Exercises, Projects.
6. Applying XPATH.
Applying XPath Expressions, Patterns, and Functions.
XPath Expressions and Steps.
A Stylesheet Embedded XPath Expression.
Evaluating XPath Expressions.
Attributes.
Preceding-Sibling.
Abbreviated Expressions.
Placing XPath Expressions in Context.
Applying Patterns.
Data Types.
What is a Qname?
Functions.
Extension Functions Using the Document Object Model.
Reconsidering Patterns.
Summary, Review-Exercises, Projects.
III. PRESENTATION.
7. XHTML.
Why Do We Need XHTML?
What is XHTML?
Non-Conforming User Agents.
Creating XHTML Documents.
Writing Our First XHTML Document.
Namespaces and XHTML.
End Tags.
Nested Elements.
Enclosing Attributes in Quotes.
Attribute Minimalization in XHTML.
Character Data in XHTML.
Binding Elements With the ID Attribute.
Converting Your Documents to XHTML.
Examining a Well-Formed HTML Document.
Summary, Self Review Exercises, Projects.
8. Modularizing XHTML.
XHTML Modularization.
Parameter Entity Resolution.
Examining the XHTML DTD.
Attribute List.
Defining the Type Modules.
Examining the Skeletal DTD.
Including the Basic-table Module.
Constructing the Invoice Module.
Defining a QName Module.
Building the Invoice Declaration Module.
Building the Driver.
XHTML Driver 1.1.
Summary, Self-Review Exercises.
IV. IMPLEMENTATION.
9. Mapping Your Data to a Database.
Design Strategies for Mapping XML to Relational Databases.
Transforming a Flat File to Name/Value Pairs.
Transforming Flat Files to XML.
Modeling Your Data.
Mapping Child Elements as Attributes.
Designing a Schema for Hamlet.
Mapping Raw Data to XML.
Content Models.
Parsing Documents - Revisiting Invoice.xml.
ID/IDREF and Foreign Keys.
Attribute List Declarations.
Enumerated Lists.
Attribute ID/IDREFS.
ENTITY/ENTITIES Attributes.
Summary, Self-Review Exercises, Projects.
10. New SQL 2000 Server Features.
SQL Server Provides New Functionality.
FOR XML Clauses.
FOR XML RAW.
FOR XML EXPLICIT.
OPENXML.
Defining MetaProperties.
Edge Tables.
Annotated Mapping Schemas - A Comparison Between XDR and XSD Schemas.
XML Views Containing Annotated Schemas.
Creating XPATH Queries.
Template Queries.
Providing Parameters for Template Queries.
New SQLXML Features.
Addressing Special Issues with Updategrams.
Summary, Self-Review Exercises, Projects.
11. A Brief Introduction to .NET.
Introduction to the .NET Framework.
.NET Framework: A Brief Description.
The Common Language Runtime.
The Common Type Specification (Data Types and Namespaces).
The Common Language Specification.
Examining Microsoft Intermediate Language (IL).
Building a Test Client.
Creating Objects in Memory Using the New Keyword.
Using the Event Keyword.
Creating Methods in Your Class.
Using Parameterized Properties.
Examining the Delegate Keyword.
Adding a New Class.
Making RegistrationProcess.dll Reusable.
Creating a Strong Name.
Discovering How .NET Locates Your Assembly.
Some Closing Thoughts.
Summary, Self-Review Questions.
12. Creating Distributed Applications and Web Services.
Leveraging .NET Distributed Applications and Web Services.
Designing a New Approach (Web Services).
Defining a Web Service.
Building a Distributed Application.
Examining the WSML File.
Creating a Web Service using Visual Studio.NET.
Describing the System.Web.Services Namespace.
A WSDL Document for SelectMaxValue Web Service.
Describing the WebMethod Attribute Types.
Building A Web Service for International Foreign Currency Exchange.
Describing IFCE's Business Rules.
Summary.
Appendix A XHTML Strict DTD Version 1.0.
Appendix B Bibliography.
Index.