Product Overview
No Nonsense XML Web Development With PHP
Table Of Contents
- Here’s a look at the table of contents:
- Preface
- Who Should Read this Book?
- What’s in this Book?
- The Book’s Website
- The Code Archive
- Updates and Errata
- The SitePoint Forums
- The SitePoint Newsletters
- Your Feedback
- Acknowledgements
- Introduction to XML
- An Introduction to XML
- What is XML?
- Why Do We Need XML?
- A Closer Look at the XML Example
- Formatting Issues
- Well-Formedness and Validity
- Getting Your Hands Dirty
- Viewing Raw XML in Internet Explorer
- Viewing Raw XML in Firefox
- Options for Using a Validating Parser
- What if I Can’t Get a Validating Parser?
- Starting Our CMS Project
- So, What’s a Content Management System?
- Requirements Gathering
- Defining your Content Types
- Gathering Requirements for Content Display
- Gathering Requirements for the Administrative Tool
- Summary
- An Introduction to XML
- XML in Practice
- Meet the Family
- A Closer Look at XHTML
- A Minimalist XHTML Example
- XML Namespaces
- Declaring Namespaces
- Placing Namespace Declarations in your XML Documents
- Using Default Namespaces
- Using CSS to Display XML In a Browser
- Getting to Know XSLT
- Your First XSLT Exercise
- Transforming XML into HTML
- Using XSLT to Transform XML into other XML
- Our CMS Project
- News
- Summary
- DTDs for Consistency
- Consistency in XML
- What’s the Big Deal About Consistency?
- DTDs
- Getting Our Hands Dirty
- Our First Case: A Corporate Memo
- Second Case: Using an External DTD for Memos
- Our CMS Project
- Reworking the Way we Track Author Information
- Assign DTDs to our Project Documents?
- Summary
- Consistency in XML
- Displaying XML in a Browser
- A Word on XPath
- A Practical XSLT Application
- A First Attempt at Formatting
- Using XPath to Discern Element Context
- Matching Attribute Values with XPath
- Using value-of to Extract Information
- Our CMS Project
- Why Start with the Display Side?
- Creating a Common Include File
- Creating a Search Widget Include File
- Building the Homepage
- Creating an Inner Page
- Summary
- XSLT in Detail
- XPath
- Programmatic Aspects of XSLT
- Sorting
- Counting
- Numbering
- Conditional Processing
- Looping Through XML Data
- Our CMS Project
- Finishing our Search Engine
- Creating an XSLT-Powered Site Map
- Summary
- Manipulating XML with JavaScript/DHTML
- Why Use Client-Side Scripting?
- Working with the DOM
- Loading Documents into Memory
- Accessing Different parts of the Document
- XSLT Processing with JavaScript
- Making our Test Script Cross-Browser Compatible
- Creating Dynamic Navigation
- Our CMS Project
- Assigning Content to Categories
- Retrieving Content by Category
- Summary
- Manipulating XML with PHP
- Using SAX
- Creating Handlers
- Creating the Parser and Processing the XML
- Using DOM
- Creating a DOM Parser
- Retrieving Elements
- Creating Nodes
- Printing XML from DOM
- Using SimpleXML
- Loading XML Documents
- The XML Element Hierarchy
- XML Attribute Values
- XPath Queries
- Using SimpleXML to Update XML
- Fixing SimpleXML Shortcomings with DOM
- When to Use the Different Methods
- Our CMS Project
- The Login Page
- The Admin Index Page
- Working with Articles
- Summary
- Using SAX
- RSS and RDF
- What are RSS and RDF?
- What’s the Big Deal?
- What Kind of Information Should be Featured in an RSS Feed?
- Before We Get Started
- Creating Your First Basic RSS Feed
- Telling the World about your Feed
- Going Beyond the Basics
- RDF and RSS 1.0
- Adding Information with Dublin Core
- When to use RSS 1.0
- Parsing RSS Feeds
- Parsing our Feed with SimpleXML
- Our CMS Project
- Creating an RSS Feed
- Summary
- What are RSS and RDF?
- XML and Web Services
- What is a Web Service?
- What’s the Big Deal?
- What are Web Services Good At?
- XML-RPC
- The XML-RPC Data Model
- XML-RPC Requests
- XML-RPC Responses
- What do we Use to Process XML-RPC?
- SOAP
- What we Haven’t Covered
- Our CMS Project
- Building an XML-RPC Server
- Building an XML-RPC Client that Counts Articles
- Building an XML-RPC Client that Searches Articles
- Summary
- What is a Web Service?
- XML and Databases
- XML and Databases
- Why use XML and Databases Together?
- Relational Database? Native XML Database? Somewhere in Between?
- Converting Relational Data to XML
- Using phpMyAdmin to Export XML
- Using mysqldump to Export XML
- Hand-Rolling an XML Converter
- Our CMS Project
- Building the MySQL Table
- Building the PHP
- Setting up a Cron Schedule to Run Periodically
- Summary
- XML and Databases
- Appendix A: PHP XML Functions
- SAX Functions
- Error Code Constants
- Function Listing
- DOM Functions
- Object Listing
- Function Listing
- SimpleXML Functions
- Function Listing
- SimpleXMLElement methods
- SAX Functions
- Appendix B: CMS Administration Tool
- Picking Up Where We Left Off
- Managing Web Copy
- Web Copy Index Page
- Web Copy Creation Page
- New Web Copy Processing Script
- Web Copy Editing Page
- Web Copy Update Processing Script
- Web Copy Delete Processing Script
- Managing News Items
- News Item Index Page
- News Item Creation Page
- New News Item Processing Script
- News Item Editing Page
- News Item Update Processing Script
- News Item Delete Processing Script
- Managing Authors, Administrators, and Categories
- Managing Authors
- Managing Administrators
- Managing Categories
- Updating the Admin Index Page
- Summary
- Index
Special Bonus
Bonus $9.95 PHP Poster!
FREE with every purchase of ‘No Nonsense XML Web Development With PHP’ made through sitepoint.com (Hard copy only)
Features:
- Large, time-saving, format (17” x 24”)
- Lists all the most commonly-used Array, MySQL, String functions and more.
- Includes a complete PHP date & time format reference
- Puts tricky Regular Expressions syntax (POSIX and PCRE) at your fingertips
- Is ONLY available while stocks last





