O'Reilly logo

Stay ahead with the world's most comprehensive technology and business learning platform.

With Safari, you learn the way you learn best. Get unlimited access to videos, live online training, learning paths, books, tutorials, and more.

Start Free Trial

No credit card required

Content Syndication with RSS

Book Description

RSS is sprouting all over the Web, connecting weblogs and providing news feeds. Originally developed by Netscape in 1999, RSS (which can stand for RDF Site Summary, Rich Site Summary, or Really Simple Syndication) is an XML-based format that allows web developers to describe and syndicate web site content. Using RSS files allows developers to create a data feed that supplies headlines, links, and article summaries from a web site. Other sites can then incorporate them into their pages automatically. Although RSS is in widespread use, people struggle with its confusing and sometimes conflicting documentation and versions. Content Syndication with RSS is the first book to provide a comprehensive reference to the specifications and the tools that make syndication possible. Content Syndication with RSS offers webloggers, developers, and the programmers who support them a thorough explanation of syndication in general and RSS in particular. Written for web developers who want to offer XML-based feeds of their content, as well as developers who want to use the content that other people are syndicating, the book explores and explains metadata interpretation, different forms of content syndication, and the increasing use of web services in this field. This concise volume begins with an introduction to content syndication on the Internet: its purpose, limitations, and traditions, and answers the question of why would you consider "giving your content away" like this? Next, the book delves into the architecture of content syndication with an overview of the entire system, from content author to end user on another site. You'll follow the flow of data: content, referral data, publish-and-subscribe calls, with a detailed look at the protocols and standards possible at each step. Topics covered in the book include:

  • Creating XML syndication feeds with RSS 0.9x and 2.0

  • Beyond headlines: creating richer feeds with RSS 1.0 and RDF metadata

  • Using feeds to enrich a site or find information

  • Publish and subscribe: intelligent updating

  • News aggregators, such as Meerkat, Syndic8, and Newsisfree, and their web services

  • Alternative industry-centric standards

If you're interested in producing your own RSS feed, this step-by-step guide to implementation is the book you'll want in hand.

Table of Contents

  1. Content Syndication with RSS
    1. Preface
      1. Audience
      2. Assumptions This Book Makes
      3. Conventions Used in This Book
      4. Comments and Questions
      5. Acknowledgments
    2. 1. Introduction
      1. What Is Content Syndication?
      2. A Short History
        1. HotSauce: MCF and RDF
        2. Channel Definition Format
        3. RSS First Appears
        4. The Standards Evolve
        5. The First Fork
        6. The Second Fork
        7. Future Developments
        8. Desktop Headlines
        9. Registries, Aggregators, and Search Engines
        10. Corporate Intranets
        11. RSS on Other Platforms
      3. Why Syndicate Your Content?
      4. Legal Implications
    3. 2. Content-Syndication Architecture
      1. Information Flow and Other Metaphors
      2. And at the Other End
      3. Structuring the Feed Itself
      4. Serving RSS
        1. Consuming the Feed
    4. 3. The Main Standards
      1. RSS 0.91
        1. The Specification in Summary
      2. RSS 0.92
        1. The Specification in Summary
      3. RSS 2.0
        1. The Specification in Summary
      4. RSS 1.0
        1. The Specification in Summary
    5. 4. RSS 0.91 and 0.92 (Really Simple Syndication)
      1. RSS 0.91
        1. The Basic Structure
        2. Required channel Subelements
        3. Optional channel Subelements
        4. item Elements
        5. Special Notes for RSS 0.91
      2. RSS 0.92
        1. Changes to Existing Elements
        2. New Elements to RSS 0.92
      3. Creating RSS 0.9x Feeds
        1. Creating RSS with Perl Using XML::RSS
          1. Creating an RSS feed with the Google SOAP API
      4. Once You Have Created Your Simple RSS Feed
        1. Publish a Link
        2. Registering with Aggregators
        3. Metadata for the Main Page
    6. 5. Richer Metadata and RDF
      1. Metadata in RSS 0.9x
        1. Using URIs in RSS
      2. Resource Description Framework
        1. Resources, PropertyTypes, and Properties
        2. Nodes and Arcs
        3. Fitting RDF with RSS
      3. RDF in XML
        1. The Root Element
        2. <element rdf:about="URI OF ELEMENT">
        3. <element rdf:resource="URI” />
        4. RDF Containers
          1. rdf:Bag
          2. rdf:Seq
          3. rdf:Alt
    7. 6. RSS 1.0 (RDF Site Summary)
      1. Walking Through an RSS 1.0 document
      2. The Specification in Detail
        1. The Basic Structure
        2. The Root Element
        3. <channel rdf:about=""> (a Subelement of rdf:RDF)
          1. Required subelements of channel
        4. <image rdf:resource=""> (a Subelement of rdf:RDF)
        5. <textinput rdf:about=""> (a Subelement of rdf:RDF)
        6. <item rdf:about=""> (a Subelement of rdf:RDF)
      3. Creating RSS 1.0 Feeds
        1. Creating RSS 1.0 with Perl
        2. Creating RSS Feeds from Amazon.com’s Web Service
          1. XML to data to RSS
    8. 7. RSS 1.0 Modules
      1. Module Status
        1. mod_admin
        2. mod_aggregation
        3. mod_annotation
        4. mod_audio
        5. mod_changedpage
        6. mod_company
        7. mod_content
        8. mod_dublincore
        9. mod_DCTerms
        10. mod_event
        11. mod_rss091
        12. mod_servicestatus
        13. mod_slash
        14. mod_streaming
        15. mod_syndication
        16. mod_taxonomy
        17. mod_threading
        18. mod_wiki
    9. 8. RSS 2.0 (Simply Extensible)
      1. The Specification in Detail
        1. When a guid Is Not a GUID
        2. Changes from RSS 0.92
      2. Module Support Within RSS 2.0
        1. BlogChannel Module
      3. Producing RSS 2.0 with Blogging Tools
    10. 9. Using Feeds
      1. Using RSS Feeds Inside Another Site
        1. Parsing RSS as Simply as Possible
          1. XML parsers
        2. Regular Expressions
      2. Other Outputs and Selective Parsing
        1. Transforming RSS with XSLT
        2. Client-Side Inclusion
        3. Server-Side Inclusion
          1. Enabling server-side includes within Apache 1.3.x
          2. Server-side includes with Microsoft IIS
    11. 10. Directories, Web Aggregators, and Desktop Readers
      1. Directories: Introducing Syndic8
        1. Registering Your Feed with Syndic8
        2. Using Syndic8
        3. Syndic8 API
      2. Web Aggregators: Introducing Meerkat
        1. The Meerkat API
      3. Desktop Readers
        1. A Little History
        2. Common Features
          1. Automatic subscribing
          2. Blogrolls and subscription lists
          3. Outline Processor Markup Language (OPML)
    12. 11. Developing New Modules
      1. Namespaces and Modules with RSS 2.0
        1. Differences from RSS 1.0
      2. Case Study: mod_Book
        1. What Do We Know?
        2. Can We Express This Data Already?
        3. Putting the New Elements to Work with RSS 2.0
        4. Putting the New Elements to Work with RSS 1.0
        5. Documentation
      3. Extending Your Desktop Reader
      4. Introducing AmphetaDesk
        1. Installing AmphetaDesk
        2. index.html
    13. 12. Publish and Subscribe
      1. Introducing Publish and Subscribe
        1. Publish and Subscribe Within RSS 0.92 and 2.0
        2. Publish and Subscribe with RSS 1.0
      2. Rolling Your Own: LinkPimp PubSub
      3. LinkpimpClient.pl
        1. LinkpimpListener.pl
    14. A. The XML You Need for RSS
      1. What Is XML?
      2. Anatomy of an XML Document
        1. Elements and Attributes
        2. Name Syntax
        3. Well-Formedness
        5. Entity References
        6. Character References
        7. Character Encodings
          1. Unicode encoding schemes
          2. Other character encodings
        8. Validity
          1. Document Type Definitions (DTDs)
        9. Putting It Together
        10. XML Namespaces
      3. Tools for Processing XML
        1. Selecting a Parser
        2. XSLT Processors
    15. B. Useful Sites and Software
      1. Specification Documents
      2. Mailing Lists
      3. Validators
      4. Desktop Readers
    16. Index
    17. Colophon