Getting Started with XML
Data and Document Structure
XML
Well-Formed XML
Valid vs. Well-Formed XML
Enforcing Valid Documents: DTDs
Enforcing Valid Documents: XML Schema
Presentation Style
XSL and XSLT
Using XML
Writing Well-Formed XML
XML Fundamentals
Tag Attributes
Naming Rules
Empty and Non-Empty Elements
Nesting and Hierarchy of Tags
Processing Instructions and the XML Declaration
Other XML Constructs
Entity and Character References
Namespaces
Why Namespaces?
Namespace Prefixes and Declaration
Multiple Namespace Declarations
Declaring Namespaces in the Root Element
Default Namespaces
Validating XML with DTDs
XML DTDs
DOCTYPE
Element Conditions and Quantifiers
Attributes
Attribute Types
REQUIRED, IMPLIED, and FIXED
Parsed General Entities
Parsed Parameterized Entities
DTDs and Namespaces
Validating XML with XML Schemas
Schema Overview
A Minimal Schema
Associating XML With a Schema
Simple and Built-in Types
Complex Types
Element Declarations
Attribute Declarations
Choices
Named Type and Anonymous Types
Using XML Schema with Namespaces
Qualified and Unqualified XML
Associating Qualified XML with a Schema
Associating a Schema with a Namespace
Controlling Element and Attribute Qualification
Merging Schema with the Same Namespace
Merging Schema with Different Namespaces
Intro to XSLT
Stylesheet, Source, and Result
XSLT Processors
Processor Implementations
XPath Basics
xsl:stylesheet
xsl:template
xsl:value-of
xsl:apply-templates
xsl:output
XPath Nodetypes
XPath Expressions
XPath Context
XPath Location Steps
Element and Root Nodes
Text and Attribute Nodes
Comment and Processing Instruction Nodes
Namespace Nodes
Wildcards
Whitespace
Default Template Rules
XPath Axes and Predicates
Location Paths and Location Steps
Peer Axis Types
More Peer Axis Types
Descendant Axis Types
Ancestor Axis Types
Node Tests
Predicates
Functions
XSLT Flow Control
Intro
xsl:if
xsl:choose
xsl:for-each
xsl:sort
Named Templates
Mode
XML in Applications
Reasons and Places for Using XML
DOM Parsers
SAX Parsers
Web Services
Appendix A - Effective Document Design
Design Goals
Intended Audience
Document Types
Choosing a Validation Method
Incorporating Namespaces
Modular Document Design
Planning for Extensibility