Tutorial RSS

Publicado em: 06/03/2006
Atualizado em: 03/12/2006

Autor: Mark Nottingham
URL do original: http://www.mnot.net/rss/tutorial/
Título original: RSS Tutorial - for Content Publishers and Webmasters
Traduzido com autorização expressa do autor e licença Creative Communs

Para publicadores de conteúdos e Webmasters

Este tutorial explica as funcionalidades e benefícios do uso do formato Web denominado RSS e fornece uma visão geral dos seus aspectos técnicos. Apresenta ainda informações sobre um formato semelhante denominado Atom. São requisitos básicos para entendimento deste tutorial, noções de XML e algumas outras tecnologias Web. Não se trata de uma explicação aprofundada e cansativa e para maiores informações consulte o título ‘Mais informações sobre RSS’.

Índice

  1. Introdução ao RSS
    1. O que existe em um feed?
    2. Como as pessoas usam feeds?
    3. Porque devo disponibilizar feed no meu site/blog?
    4. Estarei abrindo mão da propriedade e controle dos meus conteúdos?
  2. Escolhendo os conteúdos para seu feed
  3. Publicando seu feed
  4. Divulgando a existência do seu feed
  5. Formatos e módulos para feeds
    1. RSS 2.0
    2. RSS 1.0
      1. Módulo Dublin Core
    3. Atom
  6. Que formato devo escolher ?
  7. Dicas para escrever bons feeds
  8. Ferramentas para feeds
  9. Mais informações sobre feeds
  10. Sobre este documento

Introdução ao RSS

Pense na quantidade de informações que você acessa na Web no seu dia-a-dia; novas matérias, resultados de buscas, “o que há de novo”, trabalhos temporários, e mais uma variedade enorme de assuntos de seu interesse. Imagine todo este variado conteúdo apresentado resumidamente para você em forma de uma lista; não uma lista necessariamente marcada com elementos HTML <li> e sim no sentido de uma listagem para ser rapidamente consultada.

As pessoas precisam fazer suas buscas na web para encontrar assuntos do seu interesse, mas isto pode tornar-se uma tarefa difícil quando existirem muitas e variadas fontes de informação que interessam. E a dificuldade existe pela necessidade de se abrir cada uma das fontes, lembrar como a informação está formatada e ainda procurar o último assunto visitado, para se chegar nas novidades ou assuntos ainda não lidos em cada site.

RSS é um formato XML que permite a sindicalização de listas de links, juntamente com outras informações, ou metadados, que visam a fornecer aos usuários informações rápidas para ajudar a decidir se querem ou não visitar os conteúdos apontados nos links.

Isto possibilita a que computadores pessoais procurem e processem automaticamente listas contendo informações, de uma forma personalizada pelo usuário . Trata-se de um formato para ser usado pelo computador para comunicação e não um formato para marcação de conteúdos (como é o HTML).

Para habilitar esta tecnologia o Web site desenvolve um arquivo feed, ou um canal que é colocado no servidor como normalmente é feito com qualquer uma de suas páginas. Uma vez disponibilizado o feed, os computadores poderão fazer uma busca regular e programada pelos feeds e encontrar novos itens acresentados nas listas (ou seja, novidades publicadas no site). Para estas buscas, na maioria das vezes as pessoas se utilizam de um agregador, que nada mais é do que um programa capaz de gerenciar as listas e apresentá-las ao usuário em uma interface própria.

Feeds podem ainda ser utilizados para fornecer outros tipos de informações nas suas listas, tais como, a sindicalização de todo o conteúdo publicado (normalmente os weblogs) juntamente com o link para o conteúdo. Este tutorial no entanto, está focado para o uso de RSS para sindicalização de links.

O que existe em um feed ?

Um feed contém uma listagem dos itens ou entradas do site, cada um deles com um link. Complementarmente cada item pode ainda fornecer uma quantidade de informação ou outros metadados a ele associados.

A forma mais básica de metadado consiste em um título para o link e uma breve descrição do link; quando sindicaliza-se as novidades, estas informações são usadas, por exemplo: para apresentar o título e o primeiro parágrafo ou um sumário do assunto. A seguir um exemplo do código de um item ou entrada;

<item>
<title>Tutorial RSS</title>

<link>http://www.maujor.com/tutorial/rsstuto.php</link>
<description>
Este tutorial explica as funcionalidades e benefícios do uso do formato Web denominado RSS  
e fornece uma visão geral dos seus aspectos técnicos. Apresenta ainda informações sobre um
formato semelhante denominado  Atom. São requisitos básicos ... 
</description>
</item>

O feed pode conter ainda metadados associados a ele como um título (por exemplo: “Novidades no site do Maujor ”), uma descrição e outros campos tais como nome de quem publica e direitos autorais.

Adiante, neste artigo em ‘Formatos e módulos para feeds’ estão descritos os tipo de feeds existentes.

Como as pessoas usam feeds?

A forma mais comum para se usar um feed e através de um dos vários tipos de agregadores existentes. Agregadores Web (algumas vezes chamados de portais) permitem a vizualisação do feed em uma página web; meu Yahoo é um exemplo bem conhecido de agregador. Agregadores podem também ser integrados a clientes de email, ao desktop do usuário ou instalados como software dedicado standalone.

Agregadores podem ainda fornecer uma variedade de funcionalidades especiais como por exemplo; apresentar diversos feeds diferentes e relacionados de uma só vez, 'esconder' as entradas que já tenham sido vistas pelo usuário, e grupar feeds e entradas por categorias.

Outro uso de feeds está relacionado com a indexação do site por mecanismos de busca e por outros softwares automatizados; uma vez que o código dos feeds é desenvolvido para ser lido por máquinas, os softwares de busca e indexação não precisam fazer identificação e seleção das partes importantes do documento, bem como de navegação e apresentação. Você pode ainda permitir que outros republiquem seus feeds nos Web sites deles e apresentem o conteúdo formatado de acordo com seus sites.

Porque devo disponibilizar feed no meu site/blog?

Seus visitantes agradecerão e crescerá o número deles, pois isto irá permitir que a informação sobre seu site chegue até eles sem que tenham de abandonar os seus hábitos de navegação via feeds.

À primeira vista isto pode ser uma desvantagem, mas na verdade é uma forma de aumentar a visibilidade do seu site; pois facilitando as coisas para o usuário — uma vez que eles escolheram navegar por feeds — é mais provável que eles entrem no site quando forem informados da publicação de algum assunto do seu interesse.

Imagine por exemplo que a sua companhia anuncia o lançamento de um novo produto ou serviço todo mês ou de dois em dois meses. Sem um feed, seus visitantes tem que se lembrar de voltar ao site para ver se existe alguma novidade — e isto se eles tiverem um tempo. Se você disponibiliza um feed para eles, a informação com descrição e link para o novo produto ou serviço chegará ao agregador deles tão logo for publicada no seu site.

Para as novidades no site, acontece o mesmo; como existem muitos sites de interesse do usuário, eles não vão querer entrar em cada site uma vez por dia para verificar as novidades. Com um feed, você estará sempre adiantando-se ao seu usuário e assim aumentando as chances de visitas ao seu site.

Estarei abrindo mão da propriedade e controle dos meus conteúdos?

Não! Você continuará com os direitos autorais sobre seus conteúdos (se assim quiser).

Você pode ainda selecionar e controlar as informações que serão sindicalizadas no feed, se publicará o artigo inteiro ou somente um resumo. Seu conteúdo permanecerá sobre controle dos seus mecanismos de acesso; somente os links e os metadados serão distribuidos. Você pode proteger até mesmo o seu próprio feed RSS com uso de criptografia SSL e sistema HTML de usuário-senha se assim desejar.

Em alguns aspectos a sindicalização é semelhante a newsletter que muitos sites oferecem como forma de manter seus usuários atualizados. A grande diferença é que não há necessidade de o usuário fornecer um endereço de e-mail, diminuindo sua privacidade e fornecendo um canal de comunicação direto com eles. Os feeds ainda proporcionam ao usuário uma maneira de acessar as novidades do site de uma maneira mais conveniente para eles o que afinal significa mais atenção para os conteúdos publicados por você.

Escolhendo os conteúdos para seu feed

Qualquer informação que possa ser formatada como uma listagem e que seja de interesse de seus leitores tanto para ler como para reusar é uma boa candidata a feed. Entre estas informações englobam-se as manchetes de notícias, notas para imprensa, listas de trabalhos, calendários de conferências e rankeamento (como por exemplo "Os 10 mais").

Por exemplo;

  • Novidades e Anúncios - manchetes, notícias e qualquer tipo de lista de anúncios;
  • Listas de documentos - listas de páginas adicionadas ou atualizadas para que as pessoas não precisem verificar constantemente adições ou alterações;
  • Favoritos e outros links externos - RSS é usado não só para compartilhar os links do site com seus usuários, mas também para compartilhar links externos;
  • Calendários - listas de eventos passados e futuros, datas de vencimento ou prazos finais e feriados.
  • Listas de e-mail - referências a listas de e-mail públicas ou privadas
  • Resultados de buscas - permitir o acompanhamento de mudanças ou acréscimo de novos resultados em buscas;
  • Banco de dados - listas de trabalhos, lançamentos de softwares, etc.

É um bom começo disponibilizar um "feed pricipal" para seu site, com listas de novidades e eventos recentes, mas não pare por aí. De um modo geral, cada área do seu site sujeita a novas adições ou mudanças de conteúdo deve ter seu feed correspondente; isto permite aos usuários um acesso preciso aos seus interesses.

Por exemplo se o seu site de notícias contém páginas para notícias do mundo, para notícias nacionais, para notícias locais, para negócios, para esportes, etc., deverá existir um feed para cada uma destas seções.

Se o seu site oferece determinados tipos de dados personalizados (por exemplo, um desenvolvedor pode escolher uma categoria de informação para ser apresentada na home page do seu site), crie um feed correspondente para que que os leitores de feed possam integrar-se com esta funcionalidade.

Um ótimo exemplo disto é a variety of feeds that Netflix provides; nos quais você pode não somente acompanhar novos lançamentos, mas também recomendações personalizadas como as listas de filmes da sua preferência.

Um outro bom exemplo é o iTunes Music Store RSS feed generator da Apple; que pode ser personalizado de acordo com suas preferências para acompanhar o que lhe interessa dentre todos os itens disponibilizados.

Finalmente convém lembrar que feeds são pelo menos — quando não mais — tão úteis para uso em Intranet como o são na Internet. A sindicalização pode ser uma ferramenta fortíssima para compartilhar e integrar informações dentro de uma companhia.

Publicando seu feed

Existem várias maneiras de gerar feed a partir do seu conteúdo. Antes de tudo tire proveito do seu gerenciador de conteúdos - ele deve ter uma opção para gerar feeds RSS.

Se não houver tal opção existem outras escolhas;

  • Self-scraping — A maneira mais fácil de publicar um feed a partir de um conteúdo existente. Ferramentas Scraping varem sua página web e extraem as partes relevantes para o feed e assim você não precisa fazer alterações no seu sistema de publicação. Algumas se utilizam de expressões regulares ou de expressões XPath enquanto outras necessitam que você codifique sua página fornecendo algumas dicas (normalmente usando tags <div> ou <span>) para que a ferramenta identifique o que incluir no feed.
  • Feed integration — Se o seu site é gerado dinamicamente (usando linguagem de programação como Perl, Python ou PHP), deve haver uma biblioteca de RSS disponível que permita a integração de seus feeds dentro do processo de publicação.
  • Starting with the feed — Alternativamente você pode iniciar pelo feed RSS e gerar a partir dele, suas páginas Web (bem como outros conteúdos como listas de email por exemplo). Esta opção tem a vantagem de sempre ter a informação correta no feed e ferramantas como XSLT facilitam o trabalho especialmente se você estiver implantando RSS partindo do zero.
  • Third party scraping — Se nenhuma das opções acima for interessante para o seu caso, você pode utilizar os serviços disponibilizados por terceiros na Web. Contudo tome cuidado com esta opção pois o resultado nunca será o mesmo que aquele obtido se fosse feito por você mesmo, pois nesta solução a geração do feed será por pessoas ou processos que não conhecem os detalhes dos seus conteúdos e sistemas tão bem como você. Adicionamente um outro complicador e possível ponto de falha poderá ser o processo de entrega do feed; problemas relacionados (na rede, no servidor ou no serviço) podem tornar seu feed indisponível.

Mais informações sobre estas opções para feed , ver “Ferramentas para feeds ” e “Mais informações sobre feeds ”.

Divulgando a existência do seu feed

Um passo importante após a publicação do seu feed é a divuilgação da existência dele para seus visitantes; existe uma grande quantidade de feeds na Web, mas ficará difícil encontrá-los se você não facilitar as coisas para o usuário.

Páginas que tem um arquivo RSS a elas associado, devem indicar isto de forma muito clara usando um link do tipo ‘RSS para esta página ’. Veja o exemplo a seguir,

<a type="application/rss+xml" href="feed.rss">RSS para esta página</a>

sendo ‘feed.rss’ a URL para o arquivo feed. O atributo ‘type’ do elemento a informa ao navegador que trata-se de um link para um feed RSS e assim deve ser tratado.

Adicionalmente alguns programas detectam a existência de um feed na página pela existência de um link na seção <head> do documento HTML. A inclusão desta tag <link> faz-se conforme mostrado a seguir;

<head>
  <title>Minha Pagina</title>
  <link rel="alternate" type="application/rss+xml" href="feed.rss" title="RSS feed para Minha Pagina"> 
</head>

Tal link deverá ser colocado na página Web para informar ao usuário da existência de um feed, na ocasião em que ele estiver navegando na página.

Observe que para feed Atom deverá ser usado application/atom+xml no lugar de application/rss+xml.

Finalizando, existem várias formas para listar e registrar feeds RSS de modo a que as pessoas os encontre em suas buscas, um processo semelhante ao do registro de Web sites em diretórios no Yahoo; é sempre uma boa idéia registrar seu feed; ver Mais informações sobre feeds.

Formatos e módulos para feeds

Existem diferentes versões de RSS hoje em dia, mas as principais são RSS 1.0 e RSS 2.0. cada versão tem seus benifícios e seus incivenientes; RSS 2.0 é conhecido pela sua simplicidade enquanto RSS 1.0 é mais extensível e mais detalhadamente especificado. Ambos os formatos tem a mesma estrutura básica e são desenvolvidos com tecnologia XML.

Há ainda uma outra escolha; Atom é um esforço do IETF (uma organização geradora de documentos e normas para Internet) no sentido de criar uma norma devidamente documentada para o formato de sindicalização. Embora com nome diferente, desempenha as mesmas funções básicas do RSS e muitas pessoas usam o termo “RSS” para se referir a sindicalização RSS e a Atom.

A seguir uma rápida visão geral dos formatos; para mais informações sobre feeds, consultar suas especificações e material de suporte.

RSS 2.0

RSS 2.0 é disponibilizado e mantido por Dave Winer da UserLand. Nesta versão, RSS é a sigla para “Really Simple Syndication,” e a simplicidade é o seu foco.

Esta versão RSS é baseada na versão RSS 0.91, que foi originariamente documentada em documented at Netscape e depois em refined by Userland.

No metadado channel da versão 2.0.1 - a última versão estável das versões 2.0 — além dos existentes link, title, description; foram incluídos metadados image, que permite especificar uma imagem tipo thumbnail para ser apresentada no feed; webMaster e managingEditor, para identificar o responsável pelo feed e lastBuildDate, para mostrar a data da última atualização do feed.

Items contém os metadados standards link, title e description , bem como outras facilidades experimentais como enclosure, que permitem o download automático de anexos (não conte com suporte para estas facilidades por todos os agregadores). Finalmente, items podem conter um elemento guid que é um identificador único do item e que servem para uso por algumas funcionalidades avançadas em alguns agregadores.

A seguir um exemplo de um feed RSS 2.0 simples:

<?xml version="1.0"?>
<rss version="2.0">
  <channel>
    <title>Example Channel</title>

    <link>http://example.com/</link>
    <description>My example channel</description>
    <item>
       <title>News for September the Second</title>

       <link>http://example.com/2002/09/01</link>
       <description>other things happened today</description>
    </item>
    <item>
       <title>News for September the First</title>

       <link>http://example.com/2002/09/02</link>
    </item>
  </channel>
</rss>

Na trajetória do RSS 2.0, Winer afirma que a versão 2.0 e suas derivadas para todos os propósitos práticos é uma versão 'congelada' (não sujeita a modificações) exceto para o caso eventual da necessidade de clarificação das especificações existentes.

De toda forma, extensões do formato são permitidas em módulos separados com uso de XML Namespaces para evitar conflitos. Por exemplo: se você tem um módulo ISBN para livros, poderia escrever assim;

<item xmlns:book="http://namespace.example.com/book/1.0"
 rdf:about="http://www.amazon.com/exec/obidos/tg/detail/-/0553575376">
  <title>Excession</link>
  <link>http://www.amazon.com/exec/obidos/tg/detail/-/0553575376</link>

  <book:isbn>0553575376</book:isbn>
</item>

Você deverá procurar por módulos RSS disponíveis antes de definí-los por sua conta, a não ser que você tenha certeza que o que você precisa, não existe.

RSS 1.0

RSS 1.0 é a sigla para “RDF Site Summary.” Esta modalidade de RSS incorpora RDF, um metadado Web standard. Como RSS 1.0 usa RDF, qualquer processador de RDF é capaz de entender RSS sem conhecer nenhuma particularidade dele. Isto permite que a sindicalização do feed faça parte da Web Semântica.

RSS 1.0 também se utiliza de Namespaces XML para permitir extensões de maneira semelhante ao RSS 2.0.

Feeds RSS 1.0 se parecem com feeds RSS 2.0; com algumas diferenças mostradas a seguir;

  • O feed todo e cercado pelo elemento <rdf:RDF></rdf:RDF> (assim os processadores identificam RDF)
  • Cada <item> usualmente tem seu atributo rdf:about, mas nem sempre, casa com <link>; este confere um identificador ao item
  • Existe um elemento <items> no metadado channel que contém uma listagem dos itens no channel, assim os processadores de RDF podem acompanhar as relações entre os itens.
  • Alguns metadados usam o atributo rdf:resource para apontar links, em lugar de colocá-los no próprio elemento.

RSS 1.0 é desenvolvido e mantido por um grupo de interessados; ver o Web site deles para mais informações sobre RSS 1.0 e Módulos RSS. Ver mais abaixo um exemplo de feed RSS 1.0.

Módulo Dublin Core

O mais conhecido exemplo de módulo RSS 1.0 é o Módulo Dublin Core . O Dublin Core é um conjunto de metadados desenvolvido por bibliotecários e cientistas da informação e que normatiza um conjunto de metadados mais comuns para descrever documentos entre outras coisas. O Módulo Dublin Core usa estes metadados para fornecer informações tanto sobre os feeds (no metadado channel) como sobre os itens individualmente.

Este módulo inclui elementos úteis tais como dc:date, para associação de datas entre itens, dc:subject, útil para categorização de itens ou feeds e dc:rights, para direitos de propriedade ou intelectual sobre o item ou feed.

A seguir um exemplo de um feed RSS 1.0 simples que usa o Módulo Dublin Core:

<?xml version="1.0"?>
<rdf:RDF 
 xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
 xmlns="http://purl.org/rss/1.0/"
 xmlns:dc="http://purl.org/dc/elements/1.1/"
>
  <channel rdf:about="http://example.com/news.rss">
    <title>Example Channel</title>
    <link>http://example.com/</link>

    <description>My example channel</description>
    <items>
      <rdf:Seq>
        <rdf:li resource="http://example.com/2002/09/01/"/>
        <rdf:li resource="http://example.com/2002/09/02/"/>

      </rdf:Seq>
    </items>
  </channel>
  <item rdf:about="http://example.com/2002/09/01/">
     <title>News for September the First</title>

     <link>http://example.com/2002/09/01/</link>
     <description>other things happened today</description>
     <dc:date>2002-09-01</dc:date>
  </item>

  <item rdf:about="http://example.com/2002/09/02/">
     <title>News for September the Second</title>
     <link>http://example.com/2002/09/02/</link>
     <dc:date>2002-09-02</dc:date>

  </item>
</rdf:RDF>

Como você pode ver, RSS 1.0 contém mais sintaxe que RSS 2.0, na maior parte porque necessita ser compatível com outras versões de RSS e por conter marcação específica para os processadores de RDF.

Atom

Tanto RSS 1.0 como RSS 2.0 são especificações ditas informais; isto é, elas não são publicadas por uma corporação ou órgão normatizador e nem por um consórcio de indústrias interessadas, mas por um pequeno grupo de pessoas.

Algumas pessoas fazer restrições sobre isso, pois tais especificações podem ser alteradas e modificadas ao sabor do pequeno grupo que as desenvolve. Órgãos normatizadores adotam procedimentos preliminares tais como testes, experiências, versões em rascunho, discussões públicas, etc. antes da publicação definitiva o que garante estabilidade às suas normas, limitando ao máximo eventuais necessidades de introduzir modificações. Com a finalidade de tornar estável as normas para sindicalização, um grupo de pessoas criou um IETF Working Group para normatizar um formato chamado Atom.

Atom é uma funcionalidade similar às versões do RSS e baseada no formato XML.

Por exemplo;

<?xml version="1.0" encoding="utf-8"?>
<feed xmlns="http://www.w3.org/2005/Atom">
  <title>Example Feed</title> 
  <link href="http://example.org/"/>

  <updated>2003-12-13T18:30:02Z</updated>
  <author> 
    <name>John Doe</name>
  </author> 
  <id>urn:uuid:60a76c80-d399-11d9-b93C-0003939e0af6</id>

  <entry>
    <title>Atom-Powered Robots Run Amok</title>
    <link href="http://example.org/2003/12/13/atom03"/>
    <id>urn:uuid:1225c695-cfb8-4ebb-aaaa-80da344efa6a</id>

    <updated>2003-12-13T18:30:02Z</updated>
    <summary>Some text.</summary>
  </entry>
</feed>

Como você pode observar, Atom tem um elemento feed que contém tanto metadados como entry (equivalente a item no RSS) e entry pode conter metadados tais como title, link, id (equivqlente a rdf:about do RSS 1.0 ou guid do RSS 2.0) e mais uma pequena descrição textual summary (equivalente a description do RSS).

Por ser uma tecnologia relativamente nova, Atom atualmente (ano de 2005) não é tão largamente suportado como RSS 1.0 ou 2.0. Contudo, rapidamente este suporte deverá crescer como consequência da conscientização dos fabricantes em resposta aos esforços para a normatização.

Que formato devo escolher ?

A existência de variados tipos de formatos em uso, torna a escolha da sindicalização uma tarefa confusa e as vezes não tão fácil. Além dos formatos citados acima é muito comum encontrar-se em uso na Web outros formatos (por exemplo: RSS 0.9, 0.91, 0.92).

Bem ou mal contudo, a decisão de escolha não é tão crítica como pode parecer. A maioria dos agregadores e outros softwares correlatos usam uma biblioteca de sindicalização que permite processar o feed independentemente do formato em que ele foi escrito.

Como resultado, o formato a escolher depende unicamente do gosto pessoal de cada um. RSS 1.0 é bastante extensível e útil para ser integrado a sistemas de Web Semântica. RSS 2.0 é bastante simples a fácil para codificação manual. Atom é atualmente uma IETF Standard, estável, apoiada e suportada pela comunidade interessada no seu uso.

Dicas para escrever bons feeds

RSS e Atom são fáceis de se trabalhar, mas como acontece com todo formato novo você poderá encontrar alguns problemas. A seguir uma listagem que é uma tentativa de apontar soluções para os problemas mais comuns que surgem ao se desenvolver um feed.

  • Entradas distintas — Assegure-se de garantir meios que possibilitem aos agregadores distinguir claramente as entradas (NT: entradas = assuntos publicados) do feed usando diferentes identificadores em rdf:about (RSS 1.0), guid (RSS 2.0) e id (Atom). Tal procedimento irá poupá-lo de muita dor de cabeça no processo de desenvolvimento.
  • Metadados significativos — Tente escrever metadados auto explicativos; por exemplo: se você se limitar a escrever um curto texto para o elemento <title>, as pessoas poderão ficar sem saber sobre qual assunto refere-se o link. Por outro lado, se você resolve transcrever todo o artigo no elemento <description> irá encher de informação a entrada, obrigando leitura de longos trechos para descobrir o assunto tratado e as pessoas ficarão desestimuladas em saber o que você tem a dizer. Em geral coloque no feed apenas o necessário para as pessoas tomar conhecimento do assunto tratado no artigo e decidir se querem ou não seguir o link.
  • Codifique o HTML — Embora seja uma tentação incluir marcação HTML (tal como <a href="...">, <b> ou<p>) no seu feed RSS, evite esta prática, pois você não sabe como será renderizada a marcação. Caso você necessite incluir marcação HTML no texto do seu feed (por exemplo: o título de uma entrada é “Uso do elemento <title>”), use caracteres de escape para os sinais de abre e fecha tag (seria assim: “Uso do elemento &lt;title&gt;”).
  • Entidades XML — Lembre-se que XML não possue entidades pre-definidas como o HTML; assim não estão disponíveis entidade4s como &nbsp; &copy; e outras. Você poderá definí-las no XML ou ainda alternativamente usar uma codificação de caracteres que forneça as entidades que você irá utilizar no feed.
  • Codificação de caracteres — Alguns softwares geram feeds usando conjunto de caracteres do Windows e nem todos válidos. A maneira mais segura é a de codificar seu feed em UTF-8 e verificar a sintaxe num parser XML.
  • Comunicação com leitores — não use as entradas do feed para se comunicar com seus leitores; por exemplo: alguns feeds erroneamente fazem uso do elemento <description> para descrever termos de copyright. Use o módulo ou o elemento apropriado.
  • Comunicação com máquinas — Use códigos HTTP apropriados sempre que precisar relocar seu feed (em geral, 301 Moved Permanently) ou não mais disponível (410 Gone ou 404 Not Found).
  • Crie feeds amigáveis a cache — Feeds de sucesso são visitados com frequência por usuários em busca de novidades. Para reduzir o tempo de descarga e suportar melhor o tráfego poderá ser utilizado a 'cacheamento' do feed, ver caching tutorial.
  • Valide — Use o Validador de feed para detectar qualquer problema no seu feed; ele funciona para RSS e para Atom. Além disto, não se limite a uma validação esporádica, mas ao contrário habitue-se a validar seu feed regularmente para detectar erros.

Ferramentas para feeds

A seguir uma lista incompleta das ferramentas para criação de feeds e para verificação da correta sintaxe e construção do seu feed. Notar que existem muitas outras ferramentas para feeds; estas foram aqui incluídas por estarem mais em acordo com o foco deste tutorial que é o Webmaster e não o consumidor do feed.

  • xpath2rss — Ferramenta para 'varrer' Web sites usando expressões XPath (um método de seleção de trechos de documentos HTML e XML).
  • Site Summaries in XHTML — Serviço online (disponível também como folha de estilos XSLT) que se utiliza de dicas contidas no HTML para gerar um feed.
  • myRSS — Uma ferramenta automatizada e online pertencente a terceiro, que fornece serviço de 'varredura' de Web sites. Não requer marcação especial.
  • RSS.py — Biblioteca Python para gerar e parsear RSS.
  • ROME — Biblioteca Java para gerar e parsear RSS e Atom feeds, também faz traduções entre formatos.
  • XML::RSS — Módulo Perl para gerar e parsear RSS.
  • Validador online - Verifica feeds RSS 1.0, 2.0 e Atom.
  • Syndicated content — Uma lista de melhores práticas para criar feeds RSS.
  • Syndic8 — Uma comunidade voltada para assuntos de feeds em geral com uma grande quantidade de informações.
  • RSS Workshop — Uma útil introdução a publicação de feeds RSS produzido pela divisão de serviços online do estado de Utah.
  • RSS Devcenter — Portal O’reilly’s na Web sobre RSS.

Sobre este documento

Este documento é Copyright © 2002-2005 Mark Nottingham <mnot@pobox.com> e esta licenciado sobre Creative Commons License.

Caso você transcreva o original em inglês deste documento, por favor informe para o e-mail acima pois assim poderá receber notificação das atualizações.

Todas as marcas aqui citadas são de propriedade dos seus detentores.

Embora o autor acredite que este conteúdo é exato à época da sua publicação, não assume qualquer responsabilidade por sua aplicação, uso ou qualquer consequência. Se qualquer falha de interpretação, erro ou outra necessidade de esclarecimento se fizer necessária, por favor entre em contato com o autor.

A última revisão deste documento encontra-se em http://www.mnot.net/rss/tutorial/

Versão original 0.91 — September 7, 2005

Versão desta tradução 1.00 — January 13, 2006

Creative Commons License

topo