About the Author | p. ix |
About the Technical Reviewers | p. x |
Acknowledgments | p. xi |
Introduction | p. xii |
Introduction to XML and Web Services | p. 1 |
Exploring the History of XML | p. 2 |
Using XML in the Real World | p. 4 |
Introducing Service Oriented Architecture and Web Services | p. 9 |
Defining Common Terms and Acronyms | p. 14 |
Conclusion | p. 14 |
XML Structure | p. 15 |
Introducing Characters | p. 15 |
Understanding Basic Layout | p. 18 |
Understanding Basic Syntax | p. 20 |
Using Namespaces | p. 29 |
Using IDs, IDREF/IDREFS, and xml:id | p. 36 |
Using xml:space and xml:lang | p. 41 |
Understanding XML Base | p. 42 |
Conclusion | p. 43 |
Validation | p. 45 |
Introducing Validation | p. 45 |
Introducing Document Type Definitions | p. 46 |
Using XML Schemas | p. 71 |
Using RELAX NG | p. 100 |
Conclusion | p. 121 |
XPath, XPointer, XInclude, and the Future | p. 123 |
Introducing XPath | p. 123 |
Introducing XPointer | p. 146 |
Introducing XInclude | p. 151 |
Examining the Future of XML | p. 157 |
Conclusion | p. 161 |
PHP and XML | p. 163 |
Introducing XML in PHP 5 | p. 163 |
Configuring libxml Support | p. 167 |
Introducing Encoding | p. 168 |
Figuring Out the libxml2 Version | p. 172 |
Introducing Parser Options | p. 173 |
Introducing PHP Streams | p. 174 |
Performing Error Handling | p. 177 |
Conclusion | p. 179 |
Document Object Model (DOM) | p. 181 |
Introducing the DOM | p. 181 |
Using the DOM Extension | p. 188 |
Performing Validation | p. 214 |
Using XPath | p. 216 |
Extending Classes | p. 219 |
Common Questions, Misconceptions, and Problems | p. 223 |
Migrating from domxml to the DOM Extension | p. 228 |
Seeing Some DOM Examples | p. 230 |
Conclusion | p. 237 |
SimpleXML | p. 239 |
Introducing SimpleXML | p. 239 |
Using SimpleXML | p. 239 |
Using Namespaces in SimpleXML | p. 258 |
Using XPath | p. 260 |
Seeing Some Examples in Action | p. 262 |
Conclusion | p. 268 |
Simple API for XML (SAX) | p. 269 |
Introducing SAX | p. 269 |
Using the xml Extension | p. 270 |
Migrating from PHP 4 to PHP 5 | p. 300 |
Seeing Some Examples in Action | p. 306 |
Conclusion | p. 310 |
XMLReader | p. 311 |
Introducing XMLReader | p. 311 |
Using XMLReader | p. 314 |
Exporting to DOM Objects | p. 328 |
Dealing with Namespaces | p. 328 |
Performing Validation | p. 333 |
Seeing Some Examples in Action | p. 335 |
Conclusion | p. 340 |
Extensible Stylesheet Language Transformations (XSLT) | p. 341 |
Introducing XSL and XSLT | p. 341 |
Introducing the XSL Extension | p. 387 |
Using the XSL Extension | p. 390 |
Using Parameters in XSL | p. 393 |
Calling PHP Functions from XSL | p. 395 |
Seeing Some Examples in Action | p. 399 |
Conclusion | p. 408 |
Effective and Efficient Processing | p. 409 |
Looking at the Pros and Cons of Parsers | p. 409 |
Optimizing Parsing and Processing | p. 426 |
Combining Technologies | p. 433 |
Conclusion | p. 439 |
XML Security | p. 441 |
Introducing XML Security | p. 441 |
Introducing Basic Security | p. 442 |
Introducing Enterprise Security | p. 448 |
Introducing Canonical XML | p. 449 |
Introducing Exclusive XML Canonicalization | p. 456 |
Introducing XML Signatures | p. 460 |
Introducing XML Encryption | p. 474 |
Conclusion | p. 489 |
PEAR and XML | p. 491 |
What Is PEAR? | p. 491 |
Using PEAR | p. 492 |
Using PEAR and XML Together | p. 493 |
Conclusion | p. 519 |
Content Syndication: RSS and Atom | p. 521 |
Understanding the Evolution of RSS and Atom | p. 521 |
Introducing RSS 1.0: RDF Site Summary | p. 523 |
Introducing RSS 2.0: Really Simple Syndication | p. 534 |
Introducing Atom 1.0 | p. 542 |
Choosing a Format | p. 550 |
Seeing Some Examples in Action | p. 551 |
Using PEAR XML_RSS | p. 563 |
Conclusion | p. 566 |
Web Distributed Data Exchange (WDDX) | p. 567 |
Introducing WDDX | p. 567 |
Understanding the Structure of WDDX | p. 569 |
Using WDDX | p. 576 |
Seeing Some Examples in Action | p. 583 |
Using PEAR XML_WDDX | p. 589 |
Conclusion | p. 593 |
XML-RPC | p. 595 |
Introducing XML-RPC | p. 595 |
Exploring the XML-RPC Structure | p. 596 |
Using xmlrpc in PHP | p. 608 |
Using XML_RPC in PEAR | p. 622 |
Seeing Some Examples in Action | p. 629 |
Conclusion | p. 631 |
Representational State Transfer (REST) | p. 633 |
Introducing REST | p. 633 |
Introducing REST Web Services | p. 634 |
Creating a REST Web Service | p. 639 |
Introducing the Yahoo Web Services | p. 646 |
Introducing the Amazon Web Services | p. 660 |
Conclusion | p. 672 |
SOAP | p. 673 |
Introducing the Web Services Description Language (WSDL) | p. 673 |
Introducing SOAP | p. 696 |
Using the SOAP Extension | p. 706 |
Using PEAR SOAP | p. 734 |
Seeing Some Examples in Action | p. 735 |
Conclusion | p. 750 |
Universal Description, Discovery, and Integration (UDDI) | p. 751 |
Introducing UDDI | p. 751 |
Introducing Data Structures | p. 753 |
Introducing the SOAP API | p. 764 |
Accessing the SAP UDDI Registry via SOAP | p. 768 |
Conclusion | p. 780 |
PEAR and Web Services | p. 781 |
Using Services_Amazon | p. 781 |
Using Services_Delicious | p. 785 |
Using Services_Ebay | p. 786 |
Using Services_Google | p. 786 |
Using Services_Technorati | p. 789 |
Using Services_Weather | p. 793 |
Using Services_Webservice | p. 797 |
Using Services_Yahoo | p. 802 |
Using SOAP | p. 806 |
Using UDDI | p. 807 |
Using XML_RPC | p. 808 |
Conclusion | p. 809 |
Other XML Technologies and Extensions | p. 811 |
Using XMLWriter | p. 811 |
Using SDO XML Data Access Service | p. 820 |
Introducing Asynchronous JavaScript Technology and XML (Ajax) | p. 826 |
Introducing Wireless Application Protocol (WAP) | p. 830 |
Conclusion | p. 838 |
XML Schema Built-in Data Types Reference | p. 839 |
Type Definition | p. 839 |
Primitive Types | p. 839 |
Derived Types | p. 841 |
Extension APIs | p. 845 |
libxml | p. 845 |
xml | p. 847 |
XMLReader | p. 849 |
SimpleXML | p. 852 |
DOM | p. 854 |
XSL | p. 866 |
SOAP | p. 867 |
XMLWriter | p. 871 |
Features and Changes in PHP 6 | p. 875 |
xml Extension | p. 875 |
XMLReader Extension | p. 876 |
SimpleXML Extension | p. 879 |
DOM Extension | p. 883 |
Index | p. 889 |
Table of Contents provided by Ingram. All Rights Reserved. |