Um estudo em RSS Parte 2: O Formato RSS

No meu último artigo eu apresentei para todos o que é RSS e como montar um XML padrão pelo PHP. Agora é hora de ligar o XML com o RSS e explicar o formato RSS como um todo: suas variações e evolução.

O formato RSS não foi o primeiro utilizado para resumos de sites, em 1997 o formato Channel Definition Format da Microsoft apareceu no mercado junto de outros formatos, porém não até o RSS um formato obteve a popularidade e uso pelo publico em geral. A primeira versão, conhecida como RDF Site Summary, foi criada por Dan Libby em 1999 para uso no portal da Netscape. Este formato ficou conhecido como RSS 0.9 e foi seguida pelo RSS 0.91, baseado em alterações sugeridas pelo público.

Neste momento, devido ao desinteresse da Netscape pelo formato, uma batalha pela sua “propriedade” começou, e ficou conhecida como RSS Fork. De forma resumida Dave Winer continuou a linha 0.91 e um grupo de trabalho evoluiu o RSS para a versão 1.0, publicada por Tristan Louis em 2000. Este formato era mais modular, porém ainda baseado no RDF.

Dabe Winer continuou insistindo na versão 0.91 e após alguns tropeços finalmente lançou o formato RSS 2.0 em 2002, forçando o uso da sigla Really Simple Syndication. Esse formato se viu livre do RDF e tornou a sintaxe muito mais simples que anteriormente. Outro formato, conhecido como Atom, também surgiu em 2003, tendo como diferencial o fato de uma grande empresa (IETF) estar por trás do padrão e procurando dar continuidade ao formato já que o RSS 2.0 estava congelado.

A disputa entre RSS 2.0 e Atom segue, e para este artigo vou seguir a implementação 2.0, como é o formato utilizado por mim nos feeds que implementei, do ComuniWEB e deste blog.

RSS 2.0

Veja a estrutura básica de um feed RSS 2.0 :

 < ?xml version="1.0"?> Liftoff News http://liftoff.msfc.nasa.gov/ Liftoff to Space Exploration.

Star City http://liftoff.msfc.nasa.gov/news/ 2003/news-starcity.asp How do Americans get ready to work with Russians aboard the International Space Station? They take a crash course in culture, language and protocol at Russia's Star City. Space Exploration http://liftoff.msfc.nasa.gov/ Sky watchers in Europe, Asia, and parts of Alaska and Canada will experience a partial eclipse of the Sun on Saturday, May 31st. The Engine That Does More http://liftoff.msfc.nasa.gov/news/ 2003/news-VASIMR.asp Before man travels to Mars, NASA hopes to design new engines that will let us fly through the Solar System more quickly. The proposed VASIMR engine would do that.

Observem a estrutura, temos a declaração padrão de xml e o elemento raiz “rss”. Dentro deste RSS temos o elemento “channel” que simboliza o canal, digamos que seja algo como as editorias de um jornal “esporte, política, etc…”. Dentro dele temos os “itens”, ou matérias.

Elemento channel

 Liftoff News http://liftoff.msfc.nasa.gov/ Liftoff to Space Exploration. en-us Tue, 10 Jun 2003 04:00:00 GMT Tue, 10 Jun 2003 09:41:01 GMT http://blogs.law.harvard.edu/tech/rss Weblog Editor 2.0 [email protected] [email protected] 

O elemento canal possui informações obrigatórias (3) e opcionais (inúmeras), vou me restringir aos mais importantes:

Obrigatórios:

  • Title: Título do Canal, ex: ComuniWEB – Últimas
  • Link: URL para o site que contém o canal
  • Description: Uma breve descrição do conteúdo do canal

Opcionais: Language: Língua do canal “pt-br,em-us,…” Ttl: “time to live”, tempo máximo que o canal deve ser mantido em cache

Para conhecer os outros elementos acesse a especificação RSS 2.0

Elemento item

 The Engine That Does More http://liftoff.msfc.nasa.gov/news/2003/news-VASIMR.asp Before man travels to Mars, NASA hopes to design new engines that will let us fly through the Solar System more quickly. The proposed VASIMR engine would do that. Tue, 27 May 2003 08:37:32 GMT http://liftoff.msfc.nasa.gov/2003/05/27.html#item571 

Este é o elemento chave do RSS, ele representa cada pedaço de conteúdo que será disponibilizado, seja ele uma matéria, dados de um evento, recados, itens de agenda, enfim qualquer forma de conteúdo. Diferente do caso do canal o elemento item só tem uma “amarração” pelomenos um destes três elementos deve estar presente: title, link, description.

Neste caso o elemento “link” aponta para a matéria e não apenas para o site. Outros elementos compõem o resultado final:

  • author: Autor do item, créditos
  • category: identifica uma categoria e pode conter um atributo domain que aponta para o url daquela categoria
  • comments: URL que aponta para uma pagina re comentários sobre o item
  • enclousure: permite anexar uma mídia externa, imagem, mp3, vídeo, etc…
  • guid: identificador único deste item
  • pubDate: data de publicação do item, formato: Sun, 19 May 2002 15:21:36 GMT
  • source: link de volta para o RSS original

Portanto está é a estrutura de um arquivo RSS 2.0, ele se mostra maleável o bastante para ser usado com conteúdos de diferentes formatos e com isso se encaixar ao conteúdo que você deseja fornecer. Espero ter mais uma vez clareado as idéias sobre essa tecnologia, e no próximo post podemos entrar na criação de um RSS a partir de uma base de dados de matérias utilizando XML DOM como foi apresentado no primeiro post .

comments powered by Disqus

Related Posts

Mimicking TravisCI with Jenkins

Mimicking TravisCI with Jenkins

  • February 6, 2013

We are all awaiting the day when all of us can get TravisCI Pro and get all of that testing goodness into our private repositories right?

Read More
4ª Edição da PHP Magazine, e artigo sobre AJAX

4ª Edição da PHP Magazine, e artigo sobre AJAX

  • March 10, 2008

Finalmente saiu a 4ª edição da PHP Magazine, prometida para agosto de 2007.

Read More
AJAX: What is it?

AJAX: What is it?

  • October 12, 2006

Author’s note: This article was first published in my AJAX Column (AjaxOnline.com.br ) in Portuguese where my intended audience is a group of beginners learning about the AJAX initiative. Since it turned out to be a really interesting article I decided to translate it and share it with a wider audience.

I wondered where I should begin explaining AJAX and finally decided I should begin explaining what’s behind it and how it came around, so everyone knows where we are coming from.

Ajax, web 2.0, RSS, if you’ve never heard any of these terms than something is wrong, you are either way behind in web technologies or not serious enough about web development. The concept of Web 2.0 is what we may call the “father” of the latest trends in web applications, where various technologies are used to improve the user’s experience, but what is the concept?

Read More