O "Validador de feeds RSS" é uma ferramenta concebida para analisar a estrutura e a conformidade de documentos XML nos formatos RSS 2.0 e Atom 1.0. Ao colar o código de um feed, o utilizador obtém um diagnóstico detalhado sobre a integridade do ficheiro, a presença de campos obrigatórios e a validade das referências de ligações.
Esta ferramenta é direcionada para operadores de websites, publicadores de conteúdo, programadores, equipas que realizam a migração de feeds e qualquer pessoa que necessite de verificar a formatação de um feed RSS 2.0 ou Atom 1.0. O validador ajuda a identificar de forma rápida marcações XML inválidas, campos em falta e referências de ligações que não podem ser analisadas.
Funcionamento e Processamento Local
O processamento do feed ocorre inteiramente no navegador do utilizador. O seu feed é verificado no navegador. O BroBroGo não envia nem guarda nada.
Para utilizar a ferramenta, basta colar o conteúdo XML na área de texto, respeitando o limite máximo de 500 000 carateres por verificação. Se o limite for excedido, é apresentada a mensagem "Esta ferramenta aceita até ‹max› carateres por verificação.". Caso a validação demore demasiado tempo, o sistema exibe o aviso "A validação demorou demasiado. Tente um feed mais pequeno.". Se ocorrer uma falha inesperada que impeça a conclusão do processo, surge a mensagem "Não foi possível concluir a validação.".
O validador disponibiliza botões para carregar exemplos rápidos: "Usar exemplo RSS" (que resulta na mensagem "Exemplo RSS carregado.") e "Usar exemplo Atom" (que exibe "Exemplo Atom carregado."). Para limpar a área de trabalho, o botão "Limpar" remove os dados e apresenta a mensagem "Entrada e resultados limpos.". Se tentar validar sem conteúdo, a ferramenta indica "Cole XML RSS ou Atom antes de validar.".
Estrutura e Requisitos do RSS 2.0
O formato RSS 2.0 possui regras estruturais específicas que a ferramenta valida rigorosamente:
- Elemento Channel: O documento RSS deve conter exatamente um elemento
<channel>direto sob a raiz. Se esta regra for violada, é gerado o erro "O RSS tem de conter exatamente um <channel> direto; foram encontrados ‹count›.". - Requisitos dos Itens: Para cada item presente no feed, a ferramenta verifica a regra
title-or-description, garantindo que existe pelo menos um título ou uma descrição. Adicionalmente, lê os camposGUID,linke a data de publicação. - Campos Obrigatórios: A ausência de elementos estruturais exigidos pela especificação resulta no erro "Adicione o campo obrigatório
‹field›.". Se houver duplicados de campos que devem ser únicos, surge o aviso "Mantenha exatamente um‹field›; foram encontrados‹count›.".
Estrutura e Requisitos do Atom 1.0
O formato Atom 1.0 segue uma especificação diferente, com exigências próprias de herança e integridade:
- Identificadores (ID): Os IDs no Atom devem ser IRIs absolutos. O uso de identificadores relativos resulta no erro "Utilize um IRI absoluto para
‹field›; identificadores relativos não são IDs Atom válidos.". Se um ID for repetido no mesmo feed, a ferramenta aponta "Este ID repete o valor visto pela primeira vez na linha‹first›.". - Autoria: O Atom exige regras estritas de autoria. Se o feed não tiver autor, é exibido o erro "Adicione um <author> ao feed ou um <author> direto a cada entrada.". Se uma entrada individual carecer de autor, a mensagem apresentada é "Adicione um <author> a esta entrada, ao respetivo <source> ou ao feed.".
- Conteúdo e Ligações Alternativas: Se uma entrada Atom não possuir conteúdo incorporado, é obrigatório fornecer uma ligação alternativa, gerando o erro "Adicione um <link> alternativo quando uma entrada Atom não tiver <content> incorporado." se esta faltar. Quando o elemento de conteúdo usa o atributo
srcpara apontar para um recurso externo, o texto incorporado e os elementos subordinados devem ser removidos, sob pena de acionar o erro "Quando <content> usar src, remova o texto e os elementos subordinados incorporados.". Se o conteúdo for externo ou não puder ser lido como texto, a ferramenta exige um resumo através do erro "Adicione <summary> quando o conteúdo Atom for externo ou não puder ser lido como texto.".
O Papel do xml:base e Validação de Ligações
As ligações presentes nos feeds são analisadas para garantir que a sua sintaxe é válida. Se uma ligação não puder ser processada, a ferramenta emite o erro "Corrija ‹field›; esta ligação não pode ser analisada como URL ou referência URI.".
No formato Atom, é permitido o uso de referências relativas, desde que exista uma base definida para as resolver. A ferramenta resolve estas referências relativas através do atributo xml:base. Se não for possível resolver o endereço por falta de uma base utilizável, o validador exibe o erro "Utilize um endereço absoluto para ‹field›; apenas as referências Atom com um xml:base utilizável podem ser relativas.".
É importante salvaguardar que a ferramenta apenas analisa a estrutura sintática das ligações. Ela nunca abre os URL, pelo que não testa a disponibilidade dos servidores, redirecionamentos HTTP, validade de certificados SSL/TLS ou o conteúdo de destino.
Erros Comuns de XML e Formato
Durante a análise, o validador pode encontrar problemas na própria construção do documento XML:
- Declarações DOCTYPE: A presença de uma declaração DOCTYPE não é permitida na validação, gerando o erro "Remova a declaração DOCTYPE antes de verificar este feed.".
- XML Malformado: Se o XML não estiver bem formatado (erros de sintaxe, etiquetas abertas, etc.), o validador interrompe a análise com a mensagem "Corrija o XML inválido e volte a validar.".
- Formatos Não Suportados: O validador identifica formatos antigos como RSS anterior a 2.0, RDF/RSS 1.0 e Atom 0.3, mas não os valida contra as regras atuais para evitar falsos diagnósticos. Se o formato for totalmente desconhecido, exibe "Use um documento RSS 2.0 <rss> ou Atom 1.0 <feed>.". Se detetar uma versão incorreta de um formato suportado, exibe "Este validador aceita
‹format›‹expected›; foi detetado‹actual›.". - Datas Inválidas: As datas de publicação devem respeitar estritamente os padrões de formatação de cada especificação (como o RFC 822 para RSS 2.0 ou o RFC 3339 para Atom 1.0). Datas malformadas ou inexistentes geram o erro "Use uma data real no formato exigido por este feed.".
Relatório de Diagnóstico e Limitações
Após a análise, a ferramenta gera um relatório detalhado. Se o feed estiver correto, exibe "Não foram encontrados problemas estruturais.". Caso contrário, mostra "Foram encontrados ‹errors› erros e ‹warnings› avisos.".
O relatório detalha cada problema identificando a localização exata: "Linha ‹line›, coluna ‹column›" e o caminho XML correspondente através de "Corrigir: ‹path›" ou "Ir para ‹path› na linha ‹line›". Se o analisador encontrar falhas internas de processamento, estas são detalhadas em "Detalhe do analisador: ‹detail›".
Para garantir a performance do navegador, a ferramenta limita a exibição visual dos resultados a um máximo de 200 problemas e 100 entradas. Quando estes limites são ultrapassados, são exibidas as notas de truncagem: "A mostrar os primeiros ‹shown› de ‹total› problemas." e "A mostrar as primeiras ‹shown› de ‹total› entradas.".
Por fim, deve notar-se que este relatório verifica apenas a estrutura e regras comuns de formato. Não prova que o conteúdo está correto, é seguro, é aceite por todos os leitores ou está pronto a publicar.
Perguntas Frequentes (FAQ)
Que formatos de feed são suportados?
São validados documentos atuais RSS 2.0 e Atom 1.0. Feeds RSS antigos, RDF/RSS 1.0 e Atom 0.3 são identificados, mas não são verificados segundo regras inadequadas.
As ligações do feed são abertas ou testadas?
A ferramenta analisa campos com ligações e resolve referências relativas do Atom através de xml:base. Nunca abre os URL, pelo que não testa disponibilidade, redirecionamentos, certificados nem o conteúdo de destino.
Que campos das entradas são verificados?
Nos itens RSS, verifica o título ou a descrição e lê GUID, ligação e data de publicação. Nas entradas Atom, verifica ID, título, atualização, herança de autor, ligações alternativas e regras de conteúdo ou resumo.
O validador garante que o meu feed vai funcionar em todos os leitores de RSS?
Não. O relatório verifica apenas a estrutura e regras comuns de formato. Não garante que o conteúdo esteja correto, seja seguro, seja aceite por todos os leitores do mercado ou esteja pronto a publicar.