| |
| |
Introduction | |
| |
| |
How This Book Is Structured | |
| |
| |
What You'll Need | |
| |
| |
How to Use This Book | |
| |
| |
| |
XML Essentials | |
| |
| |
| |
Getting to Know XML | |
| |
| |
The What and Why of XML | |
| |
| |
XML and Web Browsers | |
| |
| |
Real-World XML | |
| |
| |
| |
Creating XML Documents | |
| |
| |
A Quick XML Primer | |
| |
| |
Selecting an XML Editor | |
| |
| |
Constructing Your First XML Document | |
| |
| |
Viewing Your XML Document | |
| |
| |
| |
Defining XML Data | |
| |
| |
| |
Defining Data with DTD Schemas | |
| |
| |
Creating Your Own Markup Languages | |
| |
| |
Schemas and XML Data Modeling | |
| |
| |
Comparing Schema Technologies | |
| |
| |
The Importance of Document Validation | |
| |
| |
DTD Construction Basics | |
| |
| |
Digging Deeper into Elements | |
| |
| |
Putting Attributes to Work | |
| |
| |
A Complete DTD Example | |
| |
| |
| |
Digging Deeper into XML Documents | |
| |
| |
Leaving a Trail with Comments | |
| |
| |
Characters of Text in XML | |
| |
| |
The Wonderful World of Entities | |
| |
| |
The Significance of Notations | |
| |
| |
Working with CDATA | |
| |
| |
Using XML to Create an Online Radio | |
| |
| |
| |
Putting Namespaces to Use | |
| |
| |
Understanding Namespaces | |
| |
| |
Naming Namespaces | |
| |
| |
Declaring and Using Namespaces | |
| |
| |
| |
Using SVG to Draw Scalable Graphics | |
| |
| |
What Is SVG? | |
| |
| |
SVG and Related Technologies | |
| |
| |
Inside the SVG Language | |
| |
| |
Creating an SVG Drawing | |
| |
| |
Embedding an SVG Drawing in a Web Page | |
| |
| |
| |
Using XML Schema | |
| |
| |
XML Schema Construction Basics | |
| |
| |
Working with Simple Types | |
| |
| |
Digging into Complex Types | |
| |
| |
Namespaces and XSD Schemas | |
| |
| |
A Complete XML Schema Example | |
| |
| |
RELAX NG and the Future of XML Schema | |
| |
| |
| |
Validating XML Documents | |
| |
| |
Document Validation Revisited | |
| |
| |
Validation Tools | |
| |
| |
Repairing Invalid Documents | |
| |
| |
| |
Formatting and Displaying XML Documents | |
| |
| |
| |
XML Formatting Strategies | |
| |
| |
Style Sheets and XML Formatting | |
| |
| |
Leveraging CSS, XSLT, and XSL-FO | |
| |
| |
Style Sheets in Action | |
| |
| |
| |
Styling XML Content with CSS | |
| |
| |
Getting to Know CSS | |
| |
| |
Wiring a Style Sheet to an XML Document | |
| |
| |
Your First CSS Style Sheet | |
| |
| |
Inside CSS Positioning | |
| |
| |
The Ins and Outs of Text Formatting | |
| |
| |
Your Second Complete Style Sheet | |
| |
| |
| |
Getting Started with XSL | |
| |
| |
XSL Basics | |
| |
| |
The Pieces and Parts of XSL | |
| |
| |
An XSLT Primer | |
| |
| |
Wiring an XSL Style Sheet to an XML Document | |
| |
| |
Your First XSLT Style Sheet | |
| |
| |
| |
Transforming XML with XSLT | |
| |
| |
A Closer Look at XSLT | |
| |
| |
Pattern Essentials | |
| |
| |
Putting Expressions to Work | |
| |
| |
A Complete XSLT Example | |
| |
| |
Yet Another XSLT Example | |
| |
| |
| |
Access Your iTunes Music Library via XML | |
| |
| |
The Role of XML in iTunes | |
| |
| |
Digging Into the iTunes Library File | |
| |
| |
Linking to Tracks in the iTunes Store | |
| |
| |
Building an iTunes Web Viewer | |
| |
| |
| |
Formatting XML with XSL-FO | |
| |
| |
What Is XSL-FO? | |
| |
| |
Working with the XSL-FO Language | |
| |
| |
Validating an XSL-FO Document | |
| |
| |
Converting an XSL-FO Document to PDF | |
| |
| |
A More Complete XSL-FO Example | |
| |
| |
| |
Using XML to Hack Google Maps | |
| |
| |
Getting to Know Google Maps | |
| |
| |
Google Maps Customization Basics | |
| |
| |
Brainstorming a Custom Mapping Application | |
| |
| |
Developing a Custom Map Document | |
| |
| |
Hacking Together a Custom Google Map | |
| |
| |
| |
Processing and Managing XML Data | |
| |
| |
| |
Parsing XML with the DOM | |
| |
| |
What Is the DOM? | |
| |
| |
How the DOM Works | |
| |
| |
DOM Interfaces | |
| |
| |
Binding XML Data to a Web Page | |
| |
| |
Using the DOM to Access XML Data | |
| |
| |
A Complete DOM Example | |
| |
| |
Updating the DOM Tree | |
| |
| |
| |
SAX: The Simple API for XML | |
| |
| |
What Is SAX? | |
| |
| |
Writing Programs That Use SAX Parsers | |
| |
| |
Obtaining a SAX Parser | |
| |
| |
Using SAX with Java | |
| |
| |
Inside the SAX Sample Program | |
| |
| |
| |
Querying XML Data with XQuery | |
| |
| |
What Is XQuery? | |
| |
| |
XML Data Querying 101 | |
| |
| |
Processing XQuery Results | |
| |
| |
Getting to Know Saxon | |
| |
| |
Practical XML Querying with XQuery and Saxon | |
| |
| |
| |
Using XML with Databases | |
| |
| |
A Quick Relational Database Primer | |
| |
| |
The World's Shortest Guide to SQL | |
| |
| |
Databases and XML | |
| |
| |
Exporting an XML Document from a Database | |
| |
| |
Accessing Data from a Database as XML | |
| |
| |
| |
Using XML to Assist Search Engines | |
| |
| |
Web Crawling Basics | |
| |
| |
Getting to Know Google Sitemaps | |
| |
| |
Inside the Google Sitemap Protocol | |
| |
| |
Creating Your Own Sitemap | |
| |
| |
Validating Your Sitemap | |
| |
| |
Submitting Your Sitemap to Google | |
| |
| |
Using an Automated Sitemap Tool | |
| |
| |
| |
XML's Impact on HTML | |
| |
| |
| |
Adding Structure to the Web with XHTML | |
| |
| |
XHTML: A Logical Merger | |
| |
| |
Comparing XHTML and HTML | |
| |
| |
Creating and Validating XHTML Documents | |
| |
| |
Migrating HTML to XHTML | |
| |
| |
| |
Addressing and Linking XML Documents | |
| |
| |
Understanding XPath | |
| |
| |
Navigating a Document with XPath Patterns | |
| |
| |
Using XPath Functions | |
| |
| |
The Role of XPath | |
| |
| |
HTML, XML, and Linking | |
| |
| |
Addressing with XPointer | |
| |
| |
Linking with XLink | |
| |
| |
A Complete XLink Example | |
| |
| |
| |
Going Wireless with WML and XHTML Mobile | |
| |
| |
XML and the Wireless Web | |
| |
| |
WML Essentials | |
| |
| |
Creating WML Documents | |
| |
| |
Blending WML with XHTML Mobile | |
| |
| |
| |
Syndicating the Web with RSS News Feeds | |
| |
| |
A Brief History of RSS | |
| |
| |
Using an RSS News Aggregator | |
| |
| |
Inside the RSS 2.0 Language | |
| |
| |
Creating and Validating a News Feed | |
| |
| |
Displaying a News Feed | |
| |
| |
| |
Appendix | |
| |
| |
| |
XML Resources | |
| |
| |
General XML Resources | |
| |
| |
XML Tools | |
| |
| |
XML-Based Languages | |
| |
| |
XML Specifications | |
| |
| |
Index | |