|
|
|
RSS Introduction
RSS History
The Evolution of RSS
What is RSS?
- RSS is a Web content
syndication format.Its name is an acronym for Really Simple
Syndication.RSS is a dialect of XML. All RSS files must conform
to the XML 1.0specification, as published on the World Wide Web
Consortium (W3C) website.A summary of RSS version history.At the
top level, a RSS document is a
element, with a mandatory attribute called version, that
specifies the version of RSS that the document conforms to. If
it conforms to this specification, the version attribute must be
2.0. Subordinate to the
element is a single
element, which contains information about the channel
(metadata) and its contents.
RSS Introduction
- RSS stands for "RDF Site
Summary" or "Rich Site Summary" or "Really Simple Syndication"
and is a simple way to publish news updates or summary of a web
site. Any site could offer one or more RSS feeds for different
sections: new article, news, weblog new posts, forum new topics
and anything else you want.
Technically, is just an XML file, which have some specific tags
(see them all here). Also, it supports extensions (custom tags)
thru XML namespaces.
A RSS feed could have a single channel that has properties and
one or multiple items.
RSS History
- There are a lot of folk legends about the
evolution of RSS. Here's the scoop, the sequence of events in
the life of RSS, as told by the designer of most of the formats.
scriptingNews format, designed by DW at UserLand. 12/27/97.
RSS 0.90, designed by Netscape,
for use with my.netscape.com, which also supported
scriptingNews format. The only thing about it that was RDF was
the header, otherwise it was plain garden-variety XML. 3/15/99.
scriptingNews 2.0b1, designed by DW at UserLand, enhanced to
include all the features in RSS 0.90. Privately DW urged
Netscape to adopt the features in this format that weren't
present in RSS 0.90. 6/15/99.
RSS 0.91, designed by Netscape, spec written by Dan Libby,
includes most features from
scriptingNews 2.0b1. "We're trying to move towards a more
standard format, and to this end we have included several tags
from the popular
format." The RDF header is gone. 7/10/99.
UserLand adopts RSS 0.91, deprecates scriptingNews formats.
7/28/99.
The RSS team at Netscape evaporates.
UserLand's RSS 0.91 specification. 6/4/00.
RSS 1.0 published as a proposal, worked on in private by a
group led by Rael Dornfest at O'Reilly. Based on RDF and uses
namespaces. Most elements of previous formats moved into
modules. Like 0.90 it has an RDF header, but otherwise is a
brand-new format, not related to any previous format. 8/14/00.
RSS 0.92, which is 0.91 with optional elements, designed by
DW at UserLand. 12/25/00.
RSS 0.93 discussed but never deployed. 4/20/01.
MetaWeblog API merges RSS 0.92 with XML-RPC to provide a
powerful blogging API. 3/14/02.
RSS 2.0, which is 0.92 with optional elements, designed by DW,
after leaving UserLand. MetaWeblog API updated for RSS 2.0.
While in development, this format was called 0.94. 9/18/02.
RSS 2.0 spec released through Harvard under a Creative
Commons license.
The Evolution of RSS
- The Standards and People
Behind RSS
Before we delve into the various versions of RSS, let's first
take a look at the standards and people behind RSS.
XML
RSS files are XML files. XML (Extensible Markup Language) is a
set of rules for defining syntactic tags that break a document
into parts and identify the different parts of the document. It
is a meta-markup language that defines a syntax used to define
other domain-specific, structured markup languages (like RSS).
XML is designed to be easily processed by computers, for storing
and exchanging data.
XML gives data structure and meta information. This increases
the worth of the data many times over, allowing the content to
be used in a wide variety of applications. However, all parties
that exchange XML data must agree to a mutual vocabulary (the
syntax and semantics) of the data, or chaos will ensue. The XML
1.0 spec provides a mechanism for this with a DTD, which
describes the tags and hierarchy that the XML data may include.
Unlike HTML, which has a fixed set of tags, XML lets you create
your own.
DTDs
RSS 0.91 and 0.92 are based on Document Type Definitions (DTDs).
A DTD defines rules that constrain the structure of an XML
document or set of XML documents. The DTD lists all legal markup
and specifies where and how the markup may be included in a
document.
-
RDF
In contrast to Netscape's RSS 0.91 that uses DTDs, RSS 1.0 is,
as was RSS 0.9, an application of
Resource Description Framework (RDF).
RDF is a framework for describing and interchanging metadata.
The RDF framework is extensible and allows adding new types of
entities. It gives meaning to resources to enable automated
processing of Web resources.
RDF is a declarative language and provides a standard way for
using XML to represent metadata in the form of statements about
properties and relationships of items on the Web. These items,
known as resources, can be almost anything, providing they have
a Web address. Resources are identified by a Uniform Resource
Identifier (URI). The most common form of URI is a URL, like
http://www.webreference.com/. You can
associate metadata with a Web page, graphic, audio file, a GIF,
and so on.
- Through RDF, independent
communities can develop vocabularies that suit their specific
needs, and share vocabularies with other communities. In order
to share vocabularies, term meanings must be spelled out in
detail. The descriptions of these vocabulary sets are call XML
Schemas.
XML Schemas
XML Schemas may eventually supplant DTDs as the primary
mechanism for constraining XML data. An XML Schema, which is the
format of an XML document, serves the same function as a DTD
while correcting some of its limitations. While DTDs constrain
the type of tag that goes into an XML document, they have no way
to constrain ranges of a given attribute (i.e., age between 0
and 150 years). Schemas give developers more powerful data
typing for both element content and attribute values.
- Namespaces
What if you wanted to include elements or attributes from
different document types? You can't combine multiple DTDs for a
single document, but you can use a feature called "namespaces."
An XML namespace is a collection of names, identified by a URI
reference, which are used in XML documents as
element types and attribute names.
Namespaces disambiguate elements with the same name by assigning
elements and attributes to URIs. They group all related elements
and attributes from a single XML application together so
software can recognize them easily. Namespaces help avoid
element name collisions that would confuse XML applications.
Namespace-based modularization allows for compartmentalized
extensibility, allowing RSS 1.0 to be extended.
- Directed Labeled Graphs
As you can see above, the base element of the RDF model is the
triple (shows relationships): a resource (the subject) is linked
to another resource (the object) through an arc labeled with a
third resource (the predicate).
|
|
|