Introduction | p. xxv |
Introduction | p. 1 |
What Is XML? | p. 3 |
Of Data, Files, and Text | p. 3 |
So What Is XML? | p. 7 |
What Is the World Wide Web Consortium? | p. 18 |
Where Is XML Used, and Where Can It Be Used? | p. 20 |
Summary | p. 21 |
Exercise Questions | p. 21 |
Well-Formed XML | p. 23 |
Parsing XML | p. 23 |
Tags and Text and Elements, Oh My! | p. 24 |
Attributes | p. 38 |
Comments | p. 44 |
Empty Elements | p. 47 |
XML Declaration | p. 49 |
Processing Instructions | p. 54 |
Illegal PCDATA Characters | p. 57 |
Errors in XML | p. 62 |
Summary | p. 63 |
Exercise Questions | p. 63 |
XML Namespaces | p. 65 |
Why Do We Need Namespaces? | p. 65 |
How XML Namespaces Work | p. 69 |
What Exactly Are URIs? | p. 82 |
When Should I Use Namespaces? | p. 86 |
Summary | p. 87 |
Exercise Questions | p. 87 |
Validation | p. 89 |
Document Type Definitions | p. 91 |
Running the Samples | p. 92 |
Sharing Vocabularies | p. 101 |
Anatomy of a DTD | p. 102 |
Developing DTDs | p. 145 |
DTD Limitations | p. 146 |
Summary | p. 147 |
Exercise Questions | p. 147 |
XML Schemas | p. 149 |
Benefits of XML Schemas | p. 150 |
Do We Still Need DTDs? | p. 151 |
XML Schemas | p. 151 |
Creating a Schema from Multiple Documents | p. 207 |
Documenting XML Schemas | p. 216 |
Summary | p. 219 |
Exercise Questions | p. 220 |
RELAX NG | p. 221 |
Basic RELAX NG Patterns | p. 222 |
Combining and Reusing Patterns and Grammars | p. 234 |
Additional RELAX NG Features | p. 247 |
Useful Resources | p. 255 |
Summary | p. 256 |
Exercise Questions | p. 256 |
Processing | p. 257 |
XPath | p. 259 |
Ways of Looking at an XML Document | p. 260 |
Serialized Document | p. 260 |
Visualizing XPath | p. 261 |
Abbreviated and Unabbreviated Syntax | p. 267 |
XPath 1.0 Axes | p. 268 |
XPath 1.0 Functions | p. 282 |
Predicates | p. 284 |
Structure of XPath Expressions | p. 285 |
Looking Forward to XPath 2.0 | p. 287 |
Summary | p. 288 |
Exercise Questions | p. 288 |
XSLT | p. 291 |
What Is XSLT? | p. 291 |
How Does an XSLT Processor Work? | p. 292 |
Running the Examples | p. 293 |
Procedural versus Declarative Programming | p. 295 |
Foundational XSLT Elements | p. 297 |
Getting Information from the Source Tree | p. 301 |
Influencing the Output with the [left angle bracket]xsl:output[right angle bracket] Element | p. 309 |
Conditional Processing | p. 310 |
The [left angle bracket]xsl:for-each[right angle bracket] Element | p. 314 |
The [left angle bracket]xsl:sort[right angle bracket]Element | p. 316 |
XSLT Modes | p. 318 |
XSLT Variables and Parameters | p. 323 |
Named Templates and the [left angle bracket]xsl:call-template[right angle bracket] Element | p. 325 |
XSLT Functions | p. 325 |
Looking Forward to XSLT 2.0 | p. 326 |
Summary | p. 326 |
Exercise Questions | p. 326 |
Databases | p. 329 |
XQuery, the XML Query Language | p. 331 |
Why XQuery? | p. 332 |
XQuery Tools | p. 335 |
Some XQuery Examples | p. 338 |
The XQuery Data Model | p. 352 |
XQuery Expressions | p. 353 |
XQuery Functions | p. 360 |
Using Parameters with XQuery | p. 361 |
Proprietary Extensions to XQuery | p. 362 |
Looking Ahead | p. 363 |
Summary | p. 364 |
Exercise Questions | p. 364 |
XML and Databases | p. 365 |
The Need for Efficient XML Data Stores | p. 365 |
Approaches to Storing XML | p. 368 |
Using Native XML Databases | p. 369 |
XML in RDBMS | p. 380 |
Choosing a Database to Store XML | p. 399 |
Looking Ahead | p. 399 |
Summary | p. 399 |
Exercise Questions | p. 400 |
Programming | p. 401 |
The XML Document Object Model (DOM) | p. 403 |
What Is an XML Document Object Model For? | p. 403 |
The Document Object Model at the W3C | p. 405 |
Two Ways to View DOM Nodes | p. 406 |
Overview of the XML DOM | p. 407 |
Tools to Run the Examples | p. 408 |
The Node Object | p. 412 |
The Document Interface | p. 434 |
How the XML DOM Is Used in InfoPath 2003 | p. 436 |
Summary | p. 437 |
Exercise Questions | p. 438 |
Simple API for XML (SAX) | p. 439 |
What Is SAX and Why Was It Invented? | p. 439 |
Where to Get SAX | p. 441 |
Receiving SAX Events | p. 442 |
Good SAX and Bad SAX | p. 474 |
Consumers, Producers, and Filters | p. 475 |
Other Languages | p. 475 |
Summary | p. 476 |
Exercise Questions | p. 476 |
Communication | p. 479 |
RSS and Content Syndication | p. 481 |
Syndication and Meta Data | p. 481 |
Working with News Feeds | p. 496 |
A Simple Aggregator | p. 498 |
Useful Resources | p. 528 |
Summary | p. 529 |
Exercise Questions | p. 530 |
Web Services | p. 531 |
What Is an RPC? | p. 531 |
RPC Protocols | p. 533 |
The New RPC Protocol: Web Services | p. 535 |
Taking a REST | p. 549 |
The Web Services Stack | p. 552 |
Summary | p. 557 |
Exercise Questions | p. 557 |
SOAP and WSDL | p. 559 |
Laying the Groundwork | p. 559 |
The New RPC Protocol: SOAP | p. 562 |
Basic SOAP Messages | p. 568 |
More Complex SOAP Interactions | p. 576 |
Defining Web Services: WSDL | p. 587 |
Summary | p. 598 |
Exercise Questions | p. 599 |
Display | p. 601 |
XHTML | p. 603 |
Separating Style from Content | p. 604 |
Learning XHTML 1.0 | p. 605 |
Modularized XHTML | p. 622 |
Summary | p. 626 |
Exercise Questions | p. 627 |
Cascading Style Sheets (CSS) | p. 629 |
Why Style Sheets? | p. 630 |
Introducing CSS | p. 631 |
Using CSS with XHTML versus Other XML Vocabularies | p. 637 |
Attaching the Style Sheet to an XML Document | p. 637 |
Selectors | p. 638 |
Using CSS for Layout of XML Documents | p. 639 |
Laying Out Tabular Data | p. 656 |
Links in XML Documents | p. 658 |
Images in XML Documents | p. 662 |
Using CSS to Add Content to Documents | p. 663 |
Attribute Content | p. 666 |
Summary | p. 668 |
Exercise Questions | p. 669 |
Scalable Vector Graphics (SVG) | p. 671 |
What Is SVG? | p. 671 |
Getting Started | p. 674 |
Tangram: A Simple Application | p. 688 |
The SVG Specification | p. 702 |
Useful Resources | p. 706 |
Summary | p. 706 |
Exercise Questions | p. 707 |
XForms | p. 709 |
How Does XForms Improve on HTML Forms? | p. 709 |
XForms Tools | p. 710 |
An Illustrative XForms Example | p. 714 |
XForms Form Controls | p. 722 |
XForms Model Item Properties | p. 732 |
XForms Events | p. 737 |
The XForms Action Module | p. 737 |
Commercial Alternatives to XForms | p. 741 |
Summary | p. 743 |
Exercise Questions | p. 743 |
Case Studies | p. 745 |
Case Study 1: .NET XML Web Services | p. 747 |
The XML Web Service | p. 747 |
Consuming the Web Service | p. 757 |
Summary | p. 768 |
Case Study 2: XML and PHP | p. 771 |
Elementary Programming in PHP | p. 772 |
Basic Information about PHP | p. 773 |
Building a Program | p. 787 |
Useful Resources | p. 797 |
Summary | p. 798 |
Appendixes | p. 799 |
Exercise Solutions | p. 801 |
The XML Document Object Model | p. 857 |
XPath 1.0 Reference | p. 871 |
XSLT 1.0 Reference | p. 883 |
XML Schema Element and Attribute Reference | p. 911 |
Schema Data Types Reference | p. 941 |
Index | p. 961 |
Table of Contents provided by Rittenhouse. All Rights Reserved. |
The New copy of this book will include any supplemental materials advertised. Please check the title of the book to determine if it should include any access cards, study guides, lab manuals, CDs, etc.
The Used, Rental and eBook copies of this book are not guaranteed to include any supplemental materials. Typically, only the book itself is included. This is true even if the title states it includes any access cards, study guides, lab manuals, CDs, etc.