| |
| |
Introduction | |
| |
| |
| |
At a Glance | |
| |
| |
| |
Welcome to XML | |
| |
| |
All About Markup Languages | |
| |
| |
All About XML | |
| |
| |
Looking at XML in a Browser | |
| |
| |
Working with XML Data Yourself | |
| |
| |
Structuring Your Data | |
| |
| |
Creating Well-Formed XML Documents | |
| |
| |
Creating Valid XML Documents | |
| |
| |
How XML Is Used in the Real World | |
| |
| |
Online XML Resources | |
| |
| |
| |
Creating XML Documents | |
| |
| |
Choosing an XML Editor | |
| |
| |
Using XML Browsers | |
| |
| |
Using XML Validators | |
| |
| |
Creating XML Documents Piece by Piece | |
| |
| |
Creating Prologs | |
| |
| |
Creating an XML Declaration | |
| |
| |
Creating XML Comments | |
| |
| |
Creating Processing Instructions | |
| |
| |
Creating Tags and Elements | |
| |
| |
Creating CDATA Sections | |
| |
| |
Handling Entities | |
| |
| |
| |
Creating Well-Formed XML Documents | |
| |
| |
What Makes an XML Document Well-Formed? | |
| |
| |
Creating an Example XML Document | |
| |
| |
Understanding the Well-Formedness Constraints | |
| |
| |
Using XML Namespaces | |
| |
| |
Understanding XML Infosets | |
| |
| |
Understanding Canonical XML | |
| |
| |
| |
Creating Valid XML Documents: DTDs | |
| |
| |
All About DTDs | |
| |
| |
Validating a Document by Using a DTD | |
| |
| |
Creating Element Content Models | |
| |
| |
Commenting a DTD | |
| |
| |
Supporting External DTDs | |
| |
| |
Handling Namespaces in DTDs | |
| |
| |
| |
Handling Attributes and Entities in DTDs | |
| |
| |
Declaring Attributes in DTDs | |
| |
| |
Specifying Default Values | |
| |
| |
Specifying Attribute Types | |
| |
| |
Handling Entities | |
| |
| |
| |
Creating Valid XML Documents: XML Schemas | |
| |
| |
Using XML Schema Tools | |
| |
| |
Creating XML Schemas | |
| |
| |
Dissecting an XML Schema | |
| |
| |
The Built-in XML Schema Elements | |
| |
| |
Creating Elements and Types | |
| |
| |
Specifying a Number of Elements | |
| |
| |
Specifying Element Default Values | |
| |
| |
Creating Attributes | |
| |
| |
| |
Creating Types in XML Schemas | |
| |
| |
Restricting Simple Types by Using XML Schema Facets | |
| |
| |
Creating XML Schema Choices | |
| |
| |
Using Anonymous Type Definitions | |
| |
| |
Declaring Empty Elements | |
| |
| |
Declaring Mixed-Content Elements | |
| |
| |
Grouping Elements Together | |
| |
| |
Grouping Attributes Together | |
| |
| |
Declaring all Groups | |
| |
| |
Handling Namespaces in Schemas | |
| |
| |
Annotating an XML Schema | |
| |
| |
Part I In Review | |
| |
| |
Well-Formed Documents | |
| |
| |
Valid Documents | |
| |
| |
| |
At a Glance | |
| |
| |
Formatting XML Documents | |
| |
| |
| |
Formatting XML by Using Cascading Style Sheets | |
| |
| |
Our Sample XML Document | |
| |
| |
Introducing CSS | |
| |
| |
Connecting CSS Style Sheets and XML Documents | |
| |
| |
Creating Style Sheet Selectors | |
| |
| |
Using Inline Styles | |
| |
| |
Creating Style Rule Specifications in Style Sheets | |
| |
| |
| |
Formatting XML by Using XSLT | |
| |
| |
Introducing XSLT | |
| |
| |
Transforming XML by Using XSLT | |
| |
| |
Writing XSLT Style Sheets | |
| |
| |
Using [left angle bracket]xsl:apply - templates[right angle bracket] | |
| |
| |
Using [left angle bracket]xsl:value - of[right angle bracket] and [left angle bracket]xsl:for - each[right angle bracket] | |
| |
| |
Matching Nodes by Using the match Attribute | |
| |
| |
Working with the select Attribute and XPath | |
| |
| |
Using [left angle bracket]xsl:copy[right angle bracket] | |
| |
| |
Using [left angle bracket]xsl:if[right angle bracket] | |
| |
| |
Using [left angle bracket]xsl:choose[right angle bracket] | |
| |
| |
Specifying the Output Document Type | |
| |
| |
| |
Working with XSL Formatting Objects | |
| |
| |
Introducing XSL-FO | |
| |
| |
Using XSL-FO | |
| |
| |
Using XSL Formatting Objects and Properties | |
| |
| |
Building an XSL-FO Document | |
| |
| |
Handling Inline Formatting | |
| |
| |
Formatting Lists | |
| |
| |
Formatting Tables | |
| |
| |
Part II In Review | |
| |
| |
Using CSS | |
| |
| |
Using XSLT | |
| |
| |
Using XSL-FO | |
| |
| |
| |
At a Glance | |
| |
| |
XML at Work | |
| |
| |
| |
Extending HTML with XHTML | |
| |
| |
Why XHTML? | |
| |
| |
Writing XHTML Documents | |
| |
| |
Validating XHTML Documents | |
| |
| |
The Basic XHTML Elements | |
| |
| |
Organizing Text | |
| |
| |
Formatting Text | |
| |
| |
Selecting Fonts: [left angle bracket]font[right angle bracket] | |
| |
| |
Comments: [left angle bracket]!--[right angle bracket] | |
| |
| |
| |
Putting XHTML to Work | |
| |
| |
Creating Hyperlinks: [left angle bracket]a[right angle bracket] | |
| |
| |
Linking to Other Documents: [left angle bracket]link[right angle bracket] | |
| |
| |
Handling Images: [left angle bracket]img[right angle bracket] | |
| |
| |
Creating Frame Documents: [left angle bracket]frameset[right angle bracket] | |
| |
| |
Creating Frames: [left angle bracket]frame[right angle bracket] | |
| |
| |
Creating Embedded Style Sheets: [left angle bracket]style[right angle bracket] | |
| |
| |
Formatting Tables: [left angle bracket]table[right angle bracket] | |
| |
| |
Creating Table Rows: [left angle bracket]tr[right angle bracket] | |
| |
| |
Formatting Table Headers: [left angle bracket]th[right angle bracket] | |
| |
| |
Formatting Table Data: [left angle bracket]td[right angle bracket] | |
| |
| |
Extending XHTML | |
| |
| |
| |
Creating Graphics and Multimedia: SVG and SMIL | |
| |
| |
Introducing SVG | |
| |
| |
Creating an SVG Document | |
| |
| |
Creating Rectangles | |
| |
| |
Adobe's SVG Viewer | |
| |
| |
Using CSS Styles | |
| |
| |
Creating Circles | |
| |
| |
Creating Ellipses | |
| |
| |
Creating Lines | |
| |
| |
Creating Polylines | |
| |
| |
Creating Polygons | |
| |
| |
Creating Text | |
| |
| |
Creating Gradients | |
| |
| |
Creating Paths | |
| |
| |
Creating Text Paths | |
| |
| |
Creating Groups and Transformations | |
| |
| |
Creating Animation | |
| |
| |
Creating Links | |
| |
| |
Creating Scripts | |
| |
| |
Embedding SVG in HTML | |
| |
| |
Introducing SMIL | |
| |
| |
| |
Handling XLinks, XPointers, and XForms | |
| |
| |
Introducing XLinks | |
| |
| |
Beyond Simple XLinks | |
| |
| |
Introducing XPointers | |
| |
| |
Introducing XBase | |
| |
| |
Introducing XForms | |
| |
| |
Creating Input Controls | |
| |
| |
Part III In Review | |
| |
| |
| |
At a Glance | |
| |
| |
Programming and XML | |
| |
| |
| |
Using JavaScript and XML | |
| |
| |
Introducing the W3C DOM | |
| |
| |
Introducing the DOM Objects | |
| |
| |
Working with the XML DOM in JavaScript | |
| |
| |
Searching for Elements by Name | |
| |
| |
Reading Attribute Values | |
| |
| |
Getting All XML Data from a Document | |
| |
| |
Validating XML Documents by Using DTDs | |
| |
| |
| |
Using Java and .NET: DOM | |
| |
| |
Using Java to Read XML Data | |
| |
| |
Finding Elements by Name | |
| |
| |
Creating an XML Browser by Using Java | |
| |
| |
Navigating Through XML Documents | |
| |
| |
Writing XML by Using Java | |
| |
| |
| |
Using Java and .NET: SAX | |
| |
| |
An Overview of SAX | |
| |
| |
Using SAX | |
| |
| |
Using SAX to Find Elements by Name | |
| |
| |
Creating an XML Browser by Using Java and SAX | |
| |
| |
Navigating Through XML Documents by Using SAX | |
| |
| |
Writing XML by Using Java and SAX | |
| |
| |
| |
Working with SOAP and RDF | |
| |
| |
Introducing SOAP | |
| |
| |
A SOAP Example in .NET | |
| |
| |
A SOAP Example in Java | |
| |
| |
Introducing RDF | |
| |
| |
Part IV In Review | |
| |
| |
| |
At a Glance | |
| |
| |
Data Handling and XML | |
| |
| |
| |
Handling XML Data Binding | |
| |
| |
Introducing DSOs | |
| |
| |
Binding HTML Elements to HTML Data | |
| |
| |
Binding HTML Elements to XML Data | |
| |
| |
Binding HTML Tables to XML Data | |
| |
| |
Accessing Individual Data Fields | |
| |
| |
Binding HTML Elements to XML Data by Using the XML DSO | |
| |
| |
Binding HTML Tables to XML Data by Using the XML DSO | |
| |
| |
Searching XML Data by Using a DSO and JavaScript | |
| |
| |
Handling Hierarchical XML Data | |
| |
| |
| |
Working with XML and Databases | |
| |
| |
XML, Databases, and ASP | |
| |
| |
Storing Databases as XML | |
| |
| |
Using XPath with a Database | |
| |
| |
Introducing XQuery | |
| |
| |
| |
Handling XML in .NET | |
| |
| |
Creating and Editing an XML Document in .NET | |
| |
| |
From XML to Databases and Back | |
| |
| |
Reading and Writing XML in .NET Code | |
| |
| |
Using XML Controls to Display Formatted XML | |
| |
| |
Creating XML Web Services | |
| |
| |
Part V In Review | |
| |
| |
| |
Quiz Answers | |
| |
| |
Quiz Answers for Day 1 | |
| |
| |
Quiz Answers for Day 2 | |
| |
| |
Quiz Answers for Day 3 | |
| |
| |
Quiz Answers for Day 4 | |
| |
| |
Quiz Answers for Day 5 | |
| |
| |
Quiz Answers for Day 6 | |
| |
| |
Quiz Answers for Day 7 | |
| |
| |
Quiz Answers for Day 8 | |
| |
| |
Quiz Answers for Day 9 | |
| |
| |
Quiz Answers for Day 10 | |
| |
| |
Quiz Answers for Day 11 | |
| |
| |
Quiz Answers for Day 12 | |
| |
| |
Quiz Answers for Day 13 | |
| |
| |
Quiz Answers for Day 14 | |
| |
| |
Quiz Answers for Day 15 | |
| |
| |
Quiz Answers for Day 16 | |
| |
| |
Quiz Answers for Day 17 | |
| |
| |
Quiz Answers for Day 18 | |
| |
| |
Quiz Answers for Day 19 | |
| |
| |
Quiz Answers for Day 20 | |
| |
| |
Quiz Answers for Day 21 | |
| |
| |
Index | |