Really Simple Syndication (RSS) Programming Interview Preparation Guide
Download PDF

Learn Really Simple Syndication (RSS) by RSS programming interview questions and answers

25 Really Simple Syndication (RSS) Questions and Answers:

Table of Contents

Really Simple Syndication (RSS) Interview Questions and Answers
Really Simple Syndication (RSS) Interview Questions and Answers

1 :: What Is RSS (Really Simple Syndication)?

RSS (Really Simple Syndication) is technology that can be used on Websites to syndicate and distribute frequently updated content via news aggregators.

Syndication benefits both users and publishers by helping users consume more information instead of visiting multiple web sites to see what's new, users can scan headlines or article summaries and click to read the full text. Some publishers also make their entire content (whether full-text or audio/video) available for users to access via RSS and view in other applications. It's "really simple" for publishers to make content available in this format.

RSS is also a special XML based language used to create RSS files on Websites that contains headlines or summaries of news, or site contents to allow news aggregators to fetch and redistribute.

2 :: What Is the Relation between RSS and XML?

XML (Extensible Markup Language) is a generic markup language to organize generic information into a structured document with embedded tags.

RSS (Really Simple Syndication) is an extension of XML designed to organize headlines of news or summaries of Web pages to feed to news aggregators.

For more information on XML, please visit http://www.w3.org/XML/.

3 :: How Many Versions of RSS Language Standards?

RSS is relatively new. Many versions have been developed in recent years:

► RSS 0.90 - The earliest known version of RSS released to the public by Netscape in 1999. RSS 0.90 is based on RDF (Resource Description Framework). When RSS 0.90 was created, the RSS initialization stood for Rich Site Summary and not Really Simple Syndication.
► RSS 0.91 - Developed by UserLand in 2000.
► RSS 1.0 - Published as a proposal by a group led by Rael Dornfest at O'Reilly in 2000.
► RSS 2.0 - Released through Harvard under a Creative Commons license in 2003.

4 :: What Is Atom in RSS?

Atom is an XML-based document format that describes lists of related information known as "feeds". Feeds are composed of a number of items, known as "entries", each with an extensible set of attached metadata. For example, each entry has a title.

The current version of Atom is Atom 1.0. For more information, please visit http://www.ietf.org/rfc/rfc4287.txt.

5 :: What Are the Main Differences between Atom 1.0 and RSS 2.0?

Main differences between Atom 1.0 and RSS 2.0:

► Atom has separate "summary" and "content" elements, while RSS only has one "description" element.
► Atom standardizes auto-discovery in contrast to the many non-standard variants used with RSS 2.0.
► In Atom, it is mandatory that each entry have a globally unique ID, which is important for reliable updating of entries.
► Atom 1.0 allows standalone Atom Entry documents whereas with RSS 2.0 only full feed documents are supported.
► Atom specifies that dates be in the format described in RFC 3339. The date format in RSS 2.0 was underspecified and has led to many different formats being used.

6 :: What Is the Icon for RSS and Atom?

The Web browser and Website syndication industry has adopted a standard icon to identify syndicated content as shown below:
Syndication Feed Icon

7 :: What RSS 2.0 Files Look Like?

A RSS 2.0 file looks like the sample RSS 2.0 document below:

<?xml version="1.0"?>
<rss version="2.0">
<channel>
<title>Developer HTML Tutorial and Tips</title>
<link>http://www.globalguideline.com/html/</link>
<description>Massive collection of frequently asked
questions by developers with clear answers and
tutorials tips.
</description>
<language>en-us</language>
<pubDate>Sat, 1 Jul 2006 04:00:00 GMT</pubDate>
<webMaster>noreply@globalguideline.com</webMaster>
<item>
<title>CSS Tutorial Tips</title>
<link>http://www.globalguideline.com/css/</link>
<description>A collection of FAQs on CSS and Atom
introduction and generation of feed files.</description>
<pubDate>Sat, 1 Jul 2006 04:00:00 GMT</pubDate>
<guid>http://www.globalguidelinecom/xml/</guid>
</item>
</channel>
</rss>

8 :: What Atom 1.0 Files Look Like?

An Atom 1.0 file looks like the sample Atom 1.0 document below:

<?xml version="1.0" encoding="utf-8"?>
<feed xmlns="http://www.w3.org/2005/Atom">
<title>Atom FAQs, Tips and Tutorials</title>
<subtitle>The first Atom document example</subtitle>
<link href="http://www.globalguideline.com/faq/rss/"/>
<updated>2006-07-13T18:30:02Z</updated>
<author>
<name>globalguideline.com</name>
<email>noreply@globalguideline.com</email>
</author>
<id>urn:uuid:60a76c80-d399-11d9-b91C-0003939e0af6</id>
<entry>
<title>Introduction to Atom</title>
<link href="http://globalguideline.com/faq/rss/index.html"/>
<id>urn:uuid:1225c695-cfb8-4ebb-aaaa-80da344efa6a</id>
<updated>2006-07-13T18:30:02Z</updated>
<summary>A collection of 7 FAQs to introduce you the
basics of RSS and Atom for Website syndication.</summary>
</entry>
</feed>

9 :: What Is Atom 1.0 Standard?

Atom is an XML-based document format that describes lists of related information known as "feeds". Feeds are composed of a number of items, known as "entries", each with an extensible set of attached metadata. For example, each entry has a title.

The current version of Atom is Atom 1.0. For more information, please visit http://www.ietf.org/rfc/rfc4287.txt.

10 :: What Is the Relation between Atom and XML?

XML (Extensible Markup Language) is a generic markup language to organize generic information into a structured document with embedded tags.

Atom is an extension of XML designed to organize headlines of news or summaries of Web pages to feed to news aggregators.

For more information on XML, please visit http://www.w3.org/XML/.

11 :: What Is the Icon for Atom Syndication?

The Web browser and Website syndication industry has adopted a standard icon to identify syndicated content as shown below:
Syndication Feed Icon

12 :: What Is the MIME Type Definition for Atom Files?

Atom files have its own MIME type definition as:

► MIME type: application/atom+xml
► File extension: .atom, .xml
► Type of format: Syndication
► Extended from: XML

13 :: What Is an Atom Syndication Feed?

An Atom Syndication feed is just a file that:

► Is generated statically or dynamically.
► Has an accessible URL.
► Confirms with Atom standard.
► Contains headlines or summaries of an entire Website, a Website section, or a single Web page.

14 :: How To Write a Minimum Atom 1.0 Feed File?

If you want your Website to support a minimum Atom 1.0 feed, you can follow the tutorial exercise bellow.

1. First create a file called "atom.xml" with the following content:

<?xml version="1.0" encoding="utf-8"?>
<feed xmlns="http://www.w3.org/2005/Atom">
<title>Webmaster globalguideline</title>
<subtitle>A place to find information for Webmasters
</subtitle>
<link rel="self" href="http://globalguideline.com/atom.xml"/>
<id>http://globalguideline/</id>
<updated>2005-07-13T18:30:02Z</updated>
<author>
<name>globalguideline.com</name>
<email>noreply@globalguideline.com</email>
</author>
<entry>
<title>Webmaster FAQ Collection</title>
<link href="http://globalguideline.com/faq/"/>
<id>http://globalguideline.com/faq/</id>
<updated>2005-07-13T18:30:02Z</updated>
<summary>A massive collection of FAQs for Webmasters.
</summary>
</entry>
</feed>

2. Relace domain name "globalguideline.com" with your domain name.

3. Upload "atom.xml" to your Website.

4. Your Website supports Atom 1.0 syndi

15 :: How To Validate an Atom 1.0 Feed File?

If you created an Atom feed file yourself, and want to know if the file meets the Atom 1.0 standards or not, you can validate your feed file using the following methods:

► Using the on-line validator provided by http://validator.w3.org/feed/.
► Using the on-line validator provided by http://feedvalidator.org/.

16 :: How To Use w3.org Feed Validation Service?

w3.org feed validation service is provided at http://validator.w3.org/feed/. It offers you two methods to validate your feed document:

► Validate by URL - Validating a feed file by entering the URL where the feed file is located.
► Validate by Direct Input - Validating a feed file by entering the content of the feed file. But this method is not working at this time.

If you want to the w3.org feed validator, you can follow the tutorial exercise below:

1. Go to http://validator.w3.org/feed/.

2. Enter http://globalguideline.com/atom.xml into the Address field and click the Check button as shown in following picture:
W3 Atom Feed Validator

3. You should see the validation result page with a "Congratulations" message.

17 :: What Happens If Your Atom Feed Fails the Validation?

If your Atom feed file fails the w3.org validator, you will get an error message explaining where the error is in your feed file. The tutorial exercise below shows you a good example.

Try to validate the following Atom feed file:

<?xml version="1.0" encoding="utf-8"?>
<feed xmlns="http://www.w3.org/2005/Atom">
<title>Webmaster GlobalGuideLine</title>
<subtitle>A place to find information for Webmasters
</subtitle>
<link href="http://GlobalGuideLine.com/atom.xml"/>
<id>http://GlobalGuideLine.com/</id>
<updated>2005-07-13T18:30:02Z</updated>
<author>
<name>GlobalGuideLine.com</name>
<email>noreply@GlobalGuideLine.com</email>
</author>
<entry>
<title>Webmaster FAQ Collection</title>
<link href="http://GlobalGuideLine.com/faq/"/>
<id>http://GlobalGuideLine.com/faq/</id>
<updated>2005-07-13T18:30:02Z</updated>
<summary>A massive collection of FAQs for Webmasters.
</summary>
</entry>
</feed>

You will get the following error message:

line 2, column 3: Missing atom:link with rel="self"

<feed xmlns="http://w

18 :: Is There Any DTD File to Validate Atom Feed Files?

A DTD (Document Type Definitions) file contains a set of definitions of XML elements and attributes to form a new XML based language. The same DTD file can be used to validate XML files that comply with the new language.

Atom feed files are XML based, but there seems to be no DTD files exist to validate Atom feed files.

19 :: Is There Any XSD File to Validate Atom Feed Files?

A XSD (XML Schema Definition) file contains a set of definitions of XML elements and attributes to form a new XML based language. The same DTD file can be used to validate XML files that comply with the new language.

Atom feed files are XML based, but there seems to be no XSD files exist to validate Atom feed files.

20 :: How To Create Atom Feed Files?

Obviously, there are many ways to create Atom Feed files:

► Using Atom on-line scrapers - On-line scrapers are on-line services that can analyze your Web pages and convert the result into Atom feed files automatically. All you need to do is to provide the URLs of your Web pages.
► Using Atom off-line scrapers - Off-line scrapers are software tools that can analyze your Web pages and convert the result into Atom feed files automatically. All you need to do is to provide your Web page contents to scrapers.
► Using Atom file editors - Creating Atom feed files by entering required data and let the editor to finish the XML elements for you. A good example of Atom file editor is Tristana Writer.
► Using generic text editors - Creating Atom feed files by entering all the required XML elements yourself with generic editors, like UltraEdit or vi.
► Using Atom file generation APIs - APIs (Application Programming Interfaces) are programming packages, modules or libraries that you can interact with in your own programs to perform predefined functions. Atom file generation APIs helps you to write your own programs to generate Atom files. For example, XML::Atom is Atom file generation API for Perl language.

21 :: How To Tell Visitors That You Have Atom Syndication Feeds?

There are several ways you can tell your visitors that you have Atom syndication feeds available on your Web site:

► Showing your syndication feed URLs as hyper links with the Atom syndication icon.
► Adding a <link> tag in your regular Web pages to allow browsers to show the RSS boomark icons.
► Making your Atom feed file name to be "atom.xml" to allow browsers and search engines to auto discover feeds.

22 :: How To Tell Web Browsers That Your Web Pages Have Atom Feeds?

One way to tell Web browsers that your Web pages have Atom Feed files is to add a "link" tag in the header section of your Web pages. The "link" tag defines a "link" element with 4 attributes:

* rel="alternate" - Defines the relation of this Web page and the Atom feed file.
* type="application/atom+xml" - Defines the MIME type of the Atom feed file.
* href="urlOfAtomFeedFile" - Defines the location of the Atom feed file.
* title="titleOfTheFeed" - Defines the title of the Atom feed file.

The following Web page contains a "link" tag good example that associate an Atom feed to this page:

<html><head>
<title>Webmaster GlobalGuideLine</title>
<link rel="alternate" type="application/atom+xml"
href="atom.xml" title="Atom feed for FAQ pages">
</head><body>
<p>Definitions of Webmaster on the Web:</p>
<li>The person responsible for maintaining and
updating a Web site.</li>
<li>The administrator, maintainer and/or creater
of a web site.<li>
<li>The person who lays out the information trees,
designs the look, codes HTML pages, handles editing
and additions and checks that links are intact.</li>

23 :: What Happens When FireFox Knows a Web Page Has Atom Feeds?

When you use a FireFox browser visiting a Web page that has an Atom feed define, FireFox will display a "live bookmark" icon in the status bar. You can click the "live bookmark" to add the Atom feed to the bookmark list.

If you want to see FireFox's "live bookmark" icon, you can use a FireFox browser to visit the "webmaster.html" page created in previous tutorials. You will the "live bookmark" icon displayed in the status bar at the right bottom corner as shown in the picture below:
FireFox Live Bookmark Icon

Clicking on the "live bookmark" icon, the Atom feed file "atom.xml" will show up to allow you to select and add to the bookmark list.

24 :: Are Atom Feed Files XML Documents?

Yes. Atom feed files are XML (eXtensible Markup Language) documents. Atom feed files must be well-formed XML documents, respecting the following XML rules.

► The first line must be the "xml" processing instruction with "version" and "encoding" attributes.
► There must be only one root element in a single XML document.
► All elements must be closed with the closing tags.
► One element can be nested inside another element.
► One element can not be partially nested inside another element.
► Element attribute values must be quoted with double quotes.
► Special characters in element attribute values or element contents must be protected using entities, like < and >.

25 :: How Many Document Types Are Defined for Atom Feed Files?

There are 2 document types defined for Atom feed files:

► Atom Feed Document - Representing an Atom feed, including metadata about the feed, and some or all of the entries associated with it. Its root element is the <feed> element.
► Atom Entry Document - Representing only one Atom entry. Its root element is the <entry> element.