Assumptions This Book Makes

Assumptions This Book Makes

The technology used in this book is not all that hard to understand, and the concepts specific to RSS and Atom are fully explained. The book assumes some familiarity with HTML and, specifically, XML and its processing techniques, although you will be reminded of important technical points and given places to look for further information. (Appendix A provides a brief introduction to XML if you need one.)

Most of the code in this book is written in Perl, but the examples are commented sufficiently to make things clear and easily portable. There are also some examples in PHP and Ruby. However, users of any language will get a lot from this book: the explanations of the standards and the uses of RSS and Atom are language-agnostic.

    How This Book Is Organized

    Because RSS and now Atom come in a number of flavors, and there are lots of ways to use them, this book has a lot of parts.

    Chapter 1 explains where these things came from and why there is so much diversity in what seems on the surface to be a relatively simple field. Chapter 2 and Chapter 3 look at what you can do with RSS and Atom without writing code or getting close to the data. Chapter 2 looks at these technologies from the ordinary user's perspective, showing how to read feeds with a number of tools. Chapter 3 digs deeper into the challenge of creating RSS and Atom feeds, but does so using tools that don't require any programming.

    The next four chapters look at the most common varieties of syndication feeds and how to create them. Chapter 4 examines RSS 2.0, inheritor of the 0.91 line of RSS. Chapter 5 looks at RSS 1.0, and its rather different philosophy. Chapter 6 explores the many modules available to extend RSS 1.0. Chapter 7 looks at a third alternative: the recently emerging Atom specification.

    Chapter 8 through Chapter 11 focus on issues that developers building and consuming feeds will need to address. Chapter 8 looks at the complex world of parsing these many flavors of feeds, and the challenges of parsing feeds that aren't always quite right. Chapter 9 looks at ways to integrate feeds with publishing models, particularly publish-and-subscribe. Chapter 10 demonstrates a number of applications for feeds that aren't the usual blog entries or news information, and Chapter 11 describes how to extend RSS 2.0 or RSS 1.0 with new modules in case the existing feed structures don't do everything you need.

    Finally, there are two appendixes. Appendix A provides a quick tutorial to XML that should give you the foundation you need to work with feeds, while Appendix B provides a list of sites and software you can explore while figuring out how best to apply these technologies to your projects.

      Conventions Used in This Book

      The following font conventions are used in this book:

      Italic is used for:

      • Unix pathnames, filenames, and program names

      • Internet addresses, such as domain names and URLs

      • New terms where they are defined

      Constant width is used for:

      • Command lines and options that should be typed verbatim

      • Names and keywords in programs, including method names, variable names, and class names

      • XML element tags and URIs

      Constant width italic is used for:

      • Replaceable items, such as variables or optional elements, within syntax lines or code

      This icon signifies a tip, suggestion, or general note.

      This icon indicates a warning or caution.