Untitled document
1. Introduction
a. The Problem with HTML
b. The Power of XML
c. XML Helpers
d. XML in the Real World
e. What is XML?
f. How are HTML and XML related?
g. How can XML enhance HTML?
h. XHTML as a Bridge to XML
2. Writing Well-Formed XML
a. Rules for Writing XML
b. Writing Non-Empty Elements
c. Nesting Elements
d. Adding Attributes
e. Using Empty Elements
f. Writing Comments
g. Displaying Tags as Text
h. Errors in XML
3. XML in the Browser: Cascading Style Sheets (CSS)
a. History of styling HTML
b. Style Sheets and HTML
c. External styles in HTML
d. Internal XML Style Sheets
e. Using Media in Style Sheets
f. Defining Elements as Block-Level or Inline
g. Layout with CSS
h. Formatting Text with CSS
4. XSLT
a. Transforming XML with XSLT
b. Beginning an XSLT Stylesheet
c. Creating the Root Template
d. Outputting HTML Code
e. Outputting a Node's Content
f. Creating and Applying Template Rules
g. Batch-Processing Nodes
h. Processing Nodes Conditionally
i. Sorting Nodes Before Processing
j. Generating Attributes
5. XPath
a. Determining the Current Node
b. Referring to the Current Node
c. Selecting a Node's Descendants
d. Disregarding the Current Node
e. Selecting a Node's Attributes
f. Selecting Subsets
6. The Document Object Model (DOM)
a. Declaring an Internal DTD
b. Writing an External DTD
c. Naming an External DTD
d. Declaring a Personal External DTD
e. Declaring a Public External DTD
7. Defining Elements and Attributes in a DTD
a. Defining Elements and Element Types
b. Defining Choices
c. Defining How Many Units
d. About Attributes
e. Defining Simple and Unique Value Attributes
f. Referencing and Restricting Attributes
8. Entities and Notations in DTDs
a. Creating Shortcuts for Text
b. Using Shortcuts for Text
c. Shortcuts for Text in External Files
d. Creating and Using Shortcuts for DTDs
e. Creating Entities for Unparsed Content
f. Embedding Unparsed Content
9. XML Schema
a. Simple and Complex Types
b. Local and Global Declarations
c. Beginning a Simple Schema
d. Indicating a Simple Schema's Location
e. Annotating Schemas
10. Defining and Using Simple and Complex Types
a. Declaring an Element with a Type
b. Deriving and Using Custom Simple Types
c. Specifying a Set of Acceptable Values, Pattern and Ranges
d. Limiting a Simple Type
e. Creating List Types
f. Predefining an Element's Content
g. Limiting Elements
h. Defining and Referencing Named Groups
i. Referencing Already Defined Elements
j. Basing Complex Types on Complex Types
k. Defining and Declaring Basic Complex Types
l. Elements with Anonymous Complex Types
m. Declaring and Requiring Attributes
n. Predefining an Attribute's Content
o. Defining and Referencing Attribute Groups
11. Namespaces, Schemas, and Validation
a. Designing and Declaring a Namespace
b. Namespaces for Individual Elements
c. Namespaces, Attributes, DTDs, and Valid Documents
d. Schemas and Namespaces
e. Populating a Namespace
f. Adding Declared Elements
g. Referencing Components in Schemas
h. The Schema of Schemas as the Default
i. Namespaces and Validating XML
j. Indicating and Locating a Schema
12. Links and Images: XLink and XPointer
a. Creating a Simple Link and a Linkset
b. Defining Reference Points and Connections
c. Using a Linkset
d. Linking to Part of a File
e. Creating the Simplest XPointer
f. Creating Walking XPointers
g. Creating an XPointer Range