home

1 Overview
 1.1 XML and Applications
 1.2 XML Processing
 1.3 Specifications
2 Extensible Markup Language (XML)
 2.1 Background
 2.2 XML Elements
 2.3 XML Attributes
 2.4 XML Data
 2.5 Associated Data
3 XML Applications
 3.1 Overview
 3.2 Hypertext Markup Language (XHTML)
 3.3 Scalable Vector Graphics (SVG)
 3.4 MathML
 3.5 Assignment #1: XHTML, SVG, and MathML
4 Simple API for XML (SAX)
 4.1 Background
 4.2 Java SAX Programs
 4.3 Content Handlers
 4.4 Structural Events
 4.5 Character Events
 4.6 Access to Attributes
 4.7 XML Comments
 4.8 Processing Instructions
 4.9 Entity References and CDATA
 4.10 Document Locator
 4.11 Features and Properties
 4.12 SAX Exceptions
 4.13 Error Handlers
 4.14 Input Sources
 4.15 Assignment #2: Simple Queries
5 Naming Schemes
 5.1 Universal Resource Identifiers (URIs)
 5.2 Universal Resource Locators (URLs)
 5.3 Formal Public Identifiers (FPIs)
 5.4 Uniform Resource Name (URNs)
 5.5 XML Namespaces
 5.6 NameSpaces in SAX
 5.7 Namespace Prefixes
 5.8 Namespace Prefixes in SAX
 5.9 The NamespaceSupport Class
 5.10 Assignment #3: Mini XML Normalization
6 Document Type Definitions (DTDs)
 6.1 Well Formed and Valid Documents
 6.2 Element Declarations
 6.3 Attribute Declarations
 6.4 Parsed and Unparsed Data
 6.5 External Resource Identifiers and Notation Declarations
 6.6 Entity Declarations
 6.7 Location of Entity Declarations
 6.8 Parsed and Unparsed Entities
 6.9 Comments
 6.10 Conditional Sections
 6.11 A DTD Example: XHTML Formalized
 6.12 BNF and EBNF Notations
 6.13 An EBNF Example: XML and DTD Formalized
7 Working with DTDs
 7.1 Using DTDs in Documents
 7.2 Using a SAX DTD-Validating Parser
 7.3 Entity Resolver
 7.4 Catalog Files
 7.5 White Space with SAX
 7.6 Assignment #4: A DTD Navigator
8 Character Sets and Encodings
 8.1 Character Sets
 8.2 The Unicode Character Set
 8.3 Unicode Storage Encoding Forms
 8.4 XML Requirements
 8.5 Java Support
 8.6 Assignment #5: Entities
9 Document Object Model (DOM)
 9.1 Background
 9.2 Getting the Tree
 9.3 The Tree Structure View
 9.4 Node Collections
 9.5 The XML Context View
 9.6 Modifying the Tree Structure
 9.7 Customizing Nodes
 9.8 Manipulating Node Collections
 9.9 Configuring the Tree Builder
 9.10 Assignment #6: DOM
10 XML Transformations under Java
 10.1 The Framework
 10.2 Identity Transformations
 10.3 Properties
 10.4 Introducing Translation Rules
 10.5 Templates
11 XML Path Language (XPath)
 11.1 Background
 11.2 Child-Parent Axis Paths
 11.3 Branch Selection
 11.4 Node Types
 11.5 Data Types
 11.6 Navigation Axes
 11.7 Abbreviated Axes Notations
 11.8 Namespace Specifiers
12 XML Stylesheet Language for Transformations (XSLT)
 12.1 Background
 12.2 Contributions to the Result Tree
 12.3 Processing the Source Tree
 12.4 Conditional and Repetitive Processing
 12.5 Variables
 12.6 Attribute Value Templates
 12.7 Procedures (Named Template Rules)
 12.8 Parameters
 12.9 Modes and Priorities
 12.10 Configuration Attributes
 12.11 Imported Files
 12.12 Tips
 12.13 Assignment #7: XSLT
13 XML Linking Language (XLink)
 13.1 Introduction
 13.2 XLink Attributes for Elements
 13.3 Attributes for Child Elements
 13.4 Linkbases
14 XML Pointer Language (XPointer)
 14.1 Background
 14.2 Usage
 14.3 Location Functions (The xpointer() Scheme)
 14.4 Child Sequences (The element() Scheme)
15 XML Schemas
 15.1 Background
 15.2 Primitive Data Types
 15.3 Simple Data Types
 15.4 Complex Data Types
 15.5 Framework
 15.6 Elements and Attributes
 15.7 Constraints
 15.8 Properties of Elements and Attributes
 15.9 Group Indicators
 15.10 Hooks and Imports
16 Presentation Rendering
 16.1 Cascading Style Sheets (CSS)
 16.2 XSL Formatting Objects (XSL-FO)
17 Web Accessibility
 17.1 Background
 17.2 Guidelines for Content Accessibility
 17.3 Domain-Based Recommendations
 17.4 Validation Methods
18 Pointers