- XML Reference Guide
- Overview
- What Is XML?
- Informit Articles and Sample Chapters
- Books and e-Books
- Official Documentation
- Table of Contents
- The Document Object Model
- Informit Articles and Sample Chapters
- Books and e-Books
- Official Documentation
- DOM and Java
- Informit Articles and Sample Chapters
- Books and e-Books
- Implementations
- DOM and JavaScript
- Using a Repeater
- Repeaters and XML
- Repeater Resources
- DOM and .NET
- Informit Articles and Sample Chapters
- Books and e-Books
- Documentation and Downloads
- DOM and C++
- DOM and C++ Resources
- DOM and Perl
- DOM and Perl Resources
- DOM and PHP
- DOM and PHP Resources
- DOM Level 3
- DOM Level 3 Core
- DOM Level 3 Load and Save
- DOM Level 3 XPath
- DOM Level 3 Validation
- Informit Articles and Sample Chapters
- Books and e-Books
- Documentation and Implementations
- The Simple API for XML (SAX)
- Informit Articles and Sample Chapters
- Books and e-Books
- Official Documentation
- SAX and Java
- Informit Articles and Sample Chapters
- Books and e-Books
- SAX and .NET
- Informit Articles and Sample Chapters
- SAX and Perl
- SAX and Perl Resources
- SAX and PHP
- SAX and PHP Resources
- Validation
- Informit Articles and Sample Chapters
- Books and e-Books
- Official Documentation
- Document Type Definitions (DTDs)
- Informit Articles and Sample Chapters
- Books and e-Books
- Official Documentation
- XML Schemas
- Informit Articles and Sample Chapters
- Books and e-Books
- Official Documentation
- RELAX NG
- Informit Articles and Sample Chapters
- Books and e-Books
- Official Documentation
- Schematron
- Official Documentation and Implementations
- Validation in Applications
- Informit Articles and Sample Chapters
- Books and e-Books
- XSL Transformations (XSLT)
- Informit Articles and Sample Chapters
- Books and e-Books
- Official Documentation
- XSLT in Java
- Java in XSLT Resources
- XSLT and RSS in .NET
- XSLT and RSS in .NET Resources
- XSL-FO
- Informit Articles and Sample Chapters
- Books and e-Books
- Official Documentation
- XPath
- Informit Articles and Sample Chapters
- Books and e-Books
- Official Documentation
- XML Base
- Informit Articles and Sample Chapters
- Official Documentation
- XHTML
- Informit Articles and Sample Chapters
- Books and e-Books
- Official Documentation
- XHTML 2.0
- Documentation
- Cascading Style Sheets
- Informit Articles and Sample Chapters
- Books and e-Books
- Official Documentation
- XUL
- XUL References
- XML Events
- XML Events Resources
- XML Data Binding
- Informit Articles and Sample Chapters
- Books and e-Books
- Specifications
- Implementations
- XML and Databases
- Informit Articles and Sample Chapters
- Books and e-Books
- Online Resources
- Official Documentation
- SQL Server and FOR XML
- Informit Articles and Sample Chapters
- Books and e-Books
- Documentation and Implementations
- Service Oriented Architecture
- Web Services
- Informit Articles and Sample Chapters
- Books and e-Books
- Official Documentation
- Creating a Perl Web Service Client
- SOAP::Lite
- Amazon Web Services
- Creating the Movable Type Plug-in
- Perl, Amazon, and Movable Type Resources
- Apache Axis2
- REST
- REST Resources
- SOAP
- Informit Articles and Sample Chapters
- Books and e-Books
- Official Documentation
- SOAP and Java
- Informit Articles and Sample Chapters
- Books and e-Books
- Official Documentation
- WSDL
- Informit Articles and Sample Chapters
- Books and e-Books
- Official Documentation
- UDDI
- UDDI Resources
- XML-RPC
- XML-RPC in PHP
- Informit Articles and Sample Chapters
- Books and e-Books
- Official Documentation
- Ajax
- Asynchronous Javascript
- Client-side XSLT
- SAJAX and PHP
- Ajax Resources
- JSON
- Ruby on Rails
- Creating Objects
- Ruby Basics: Arrays and Other Sundry Bits
- Ruby Basics: Iterators and Persistence
- Starting on the Rails
- Rails and Databases
- Rails: Ajax and Partials
- Rails Resources
- Web Services Security
- Web Services Security Resources
- SAML
- Informit Articles and Sample Chapters
- Books and e-Books
- Specification and Implementation
- XML Digital Signatures
- XML Digital Signatures Resources
- XML Key Management Services
- Resources for XML Key Management Services
- Internationalization
- Resources
- Grid Computing
- Grid Resources
- Web Services Resource Framework
- Web Services Resource Framework Resources
- WS-Addressing
- WS-Addressing Resources
- WS-Notifications
- New Languages: XML in Use
- Informit Articles and Sample Chapters
- Books and e-Books
- Official Documentation
- Google Web Toolkit
- GWT Basic Interactivity
- Google Sitemaps
- Google Sitemaps Resources
- Accessibility
- Web Accessibility
- XML Accessibility
- Accessibility Resources
- The Semantic Web
- Defining a New Ontology
- OWL: Web Ontology Language
- Semantic Web Resources
- Google Base
- Microformats
- StructuredBlogging
- Live Clipboard
- WML
- XHTML-MP
- WML Resources
- Google Web Services
- Google Web Services API
- Google Web Services Resources
- The Yahoo! Web Services Interface
- Yahoo! Web Services and PHP
- Yahoo! Web Services Resources
- eBay REST API
- WordML
- WordML Part 2: Lists
- WordML Part 3: Tables
- WordML Resources
- DocBook
- Articles
- Books and e-Books
- Official Documentation and Implementations
- XML Query
- Informit Articles and Sample Chapters
- Books and e-Books
- Official Documentation
- XForms
- Informit Articles and Sample Chapters
- Books and e-Books
- Official Documentation
- Resource Description Framework (RDF)
- Informit Articles and Sample Chapters
- Books and e-Books
- Official Documentation
- Topic Maps
- Informit Articles and Sample Chapters
- Books and e-Books
- Official Documentation, Implementations, and Other Resources
- Rich Site Summary (RSS)
- Informit Articles and Sample Chapters
- Books and e-Books
- Official Documentation
- Simple Sharing Extensions (SSE)
- Atom
- Podcasting
- Podcasting Resources
- Scalable Vector Graphics (SVG)
- Informit Articles and Sample Chapters
- Books and e-Books
- Official Documentation
- OPML
- OPML Resources
- Summary
- Projects
- JavaScript TimeTracker: JSON and PHP
- The Javascript Timetracker
- Refactoring to Javascript Objects
- Creating the Yahoo! Widget
- Web Mashup
- Google Maps
- Indeed Mashup
- Mashup Part 3: Putting It All Together
- Additional Resources
- Frequently Asked Questions About XML
- What's XML, and why should I use it?
- What's a well-formed document?
- What's the difference between XML and HTML?
- What's the difference between HTML and XHTML?
- Can I use XML in a browser?
- Should I use elements or attributes for my document?
- What's a namespace?
- Where can I get an XML parser?
- What's the difference between a well-formed document and a valid document?
- What's a validating parser?
- Should I use DOM or SAX for my application?
- How can I stop a SAX parser before it has parsed the entire document?
- 2005 Predictions
- 2006 Predictions
- Nick's Book Picks
InformIT Articles and Sample Chapters
Rather than a topic in and of itself, Ajax is really an amalgamation of different technologies. Here are some places you can go for more information:
The heart of this technique is Javascript. Steve Holzner gives a great introduction to Essential JavaScript in a chapter from Inside Javascript (New Riders, 2002, ISBN 0735712859). He covers everything from the very basics to script errors and even touches on cross-browser issues.
As far as cross-browser issues go, Paul McFedries provides an excellent look in Cross-Browser Solutions: Detection and Generic Functions, covering not just how to figure out what browser it is, but also what kinds of functions you can perform in what browser. Very handy.
And while we're on the subject of Javascript, Andrew King's book, Speed Up Your Site: Web Site Optimization (New Riders, 2003, ISBN 0735713243) has great information on optimizing your Javascript for execution speed and download speed.
With all of the data you'll be moving around, you'll also want to have a good handle on using CSS to style and position your data on the page. To get you started, read The Basics of Cascading Style Sheets, from Matthew Pizzi and Zak Ruvalcaba's Macromedia Dreamweaver MX 2004 Unleashed (Sams, 2004, ISBN 0672326310).
If you already know the basics, you can move on to Molly Holzschlag's Integrated Web Design: Position This! CSS Positioning Demystified. Once you've got the basics of positioning down, you can move on to Shelly Brisbin's Layers and Positioning for information on content that adjusts its position based on the rest of the page, and William Weinman's Cascading Style Sheets (CSS): Absolute Positioning for information on content that doesn't.
Once you've already got your data, if it's in XML form, you'll need to deal with it just as you would in any other XML-based application. Check out the XML Reference Guide's sections on The Document Object Model, XSL Transformations, XPath, and REST. Meryl Evans also has a terrific section on Enhancing web page interaction in the Web Design Reference Guide.
Books and eBooks
Inside Javascript, by Steve Holzner (New Riders, 2002, ISBN 0735712859) gives you both the basics of working with Javascript and the advanced techniques you can use to really make your Ajax applications sing. (Start reading online)
Andrew King's book, Speed Up Your Site: Web Site Optimization (New Riders, 2003, ISBN 0735713243) tells you how to create Javascript applications that won't bog down. Considering that you'll be making network connections, you'll need all the help you can get here! (Start reading online)
DHTML and CSS for the World Wide Web, 2nd Edition: Visual QuickStart Guide by Jason Cranford Teague (Peachpit Press, 2001, ISBN 0-201-73084-7) may seem like an older idea, but DHTML -- the idea of using Javascript to dynamically affect the information on a web page is really the basis for Ajax. (Everything old is new again, I guess!) This book gently gives you a solid foundation from which to work. (Start reading online)
XML by Example, Second Edition by Benoît Marchal (Que, 2001, ISBN 0-7897-2504-5) demonstrates the use and manipulation of XML using Javascript, from the basics to the creation of an actual ecommerce application. (Start reading online)
Documentation and Implementations
Ajax is still extremely new, so there aren't any "formal specifications". You can, however, check out these links for some of the thinking behind this new technology:
- Wikipedia has an entry on Ajax that includes a discussion of the history, pros, and cons and links to other resources, including the seminal piece from Adaptive Path that coined the term and started the discussion.
- Alex Bosworth has a list of mistakes Ajax programmers make for you to avoid.
- Luke Wroblewski has a great discussion on AJAX & Interface Design, and also has links to more attendees of the Ajax Summit.
- FiftyFourEleven has a great list of working Ajax examples.
- Modern Method has released version 0.1 (note the decimal point's position) of SAJAX, a "Simple Ajax" toolkit.