Dette værktøj gør det muligt at indsætte XML-indholdet fra et RSS 2.0- eller Atom 1.0-feed i et tekstfelt for at analysere strukturen. Værktøjet identificerer feedets format, fortolker de enkelte poster og rapporterer eventuelle problemer med feedets opbygning, påkrævede felter samt linkreferencer. Efter analysen genereres en detaljeret rapport over fejl og advarsler, som angiver det nøjagtige linje- og kolonnenummer samt XML-stien for hvert fundet problem.
Struktur og krav til RSS 2.0-feeds
RSS 2.0 (Really Simple Syndication) er et udbredt XML-format til distribution af webindhold. Et gyldigt RSS 2.0-feed skal overholde specifikke strukturelle regler for at kunne læses korrekt af feed-readere.
En af de mest grundlæggende regler for RSS-strukturen er, at dokumentet skal indeholde præcis ét direkte <channel>-element under rodelementet. Hvis dette ikke er tilfældet, udløses fejlmeddelelsen: "RSS skal indeholde præcis ét direkte <channel>; der blev fundet ‹count›.".
For de enkelte poster i feedet, kaldet <item>-elementer, gælder der specifikke krav til indholdet:
- Titel eller beskrivelse: Hvert enkelt item skal indeholde mindst en titel eller en beskrivelse. Dette kaldes
title-or-description-reglen. - Identifikatorer og links: Validatoren læser og kontrollerer elementerne
GUID,linkog udgivelsesdato (publication date). - Krav om unikke værdier: Hvis et ID genbruges flere steder i feedet, rapporteres fejlen: "Dette ID gentager værdien, der først blev set på linje
‹first›.".
Struktur og krav til Atom 1.0-feeds
Atom 1.0 er et nyere syndikeringsformat, som har mere stringente krav til metadata og struktur end RSS. Validatoren kontrollerer Atom-dokumenter mod de officielle specifikationer og fokuserer på følgende elementer i en <entry>:
- ID: Hver post skal have en unik identifikator.
- Titel og opdateringstidspunkt: Elementerne
titleogupdateder obligatoriske. - Forfatter-nedarvning: Atom kræver, at der er angivet en forfatter. Hvis dette mangler, udløses fejlen: "Tilføj en <author> til posten, dens <source> eller feedet." eller "Tilføj en <author> til feedet, eller føj en direkte <author> til hver post.".
- Alternative links: Der skal tilføjes et alternativt link, når en Atom-post ikke har indlejret indhold. Mangler dette, vises fejlen: "Tilføj et alternativt <link>, når en Atom-post ikke har indlejret <content>.".
- Indhold og resumé: Hvis et
<content>-element bruger en ekstern kilde via ensrc-attribut, må det ikke indeholde indlejret tekst eller underordnede elementer. Sker dette, vises fejlen: "Når <content> bruger src, skal indlejret tekst og underordnede elementer fjernes.". Derudover skal der tilføjes et<summary>-element, når Atom-indholdet er eksternt eller ikke kan læses som tekst.
Håndtering af links og xml:base i Atom-feeds
Links i feeds skal være formateret korrekt, så klienter kan finde de refererede ressourcer. Hvis et linkfelt indeholder en værdi, der ikke kan tolkes, rapporterer værktøjet: "Ret ‹field›; linket kan ikke fortolkes som en URL- eller URI-reference.".
I Atom-feeds er det tilladt at bruge relative referencer, forudsat at der er defineret en gyldig basis-URL via attributten xml:base. Validatoren anvender denne attribut til at opløse relative referencer til absolutte adresser. Hvis en relativ reference ikke kan opløses, fordi der mangler en brugbar xml:base, vises fejlen: "Brug en absolut adresse til ‹field›; kun Atom-referencer med en anvendelig xml:base må være relative.".
For identifikatorer (ID) i Atom gælder der strengere regler. Et Atom-ID skal altid være en absolut IRI (Internationalized Resource Identifier). Relative identifikatorer accepteres ikke som gyldige ID'er, hvilket udløser fejlen: "Brug en absolut IRI til ‹field›; relative identifikatorer er ikke gyldige Atom-id'er.".
Almindelige XML- og formatfejl i feeds
Udover de formatspecifikke regler for RSS og Atom, kontrollerer validatoren også selve XML-dokumentets generelle struktur og syntaks. Almindelige fejl omfatter:
- Ugyldig XML-markup: Hvis dokumentet indeholder syntaksfejl, stopper analysen med meddelelsen: "Ret den ugyldige XML, og valider igen.".
- DOCTYPE-erklæringer: Sikkerheds- og kompatibilitetshensyn gør, at DOCTYPE-erklæringer ikke er tilladt. Hvis en sådan findes, vises fejlen: "Fjern DOCTYPE-erklæringen, før feedet kontrolleres.".
- Uunderstøttede formater: Hvis feedet er i et ukendt format, vises meddelelsen: "Brug et RSS 2.0-dokument med <rss> eller et Atom 1.0-dokument med <feed>.". Hvis der detekteres en ældre version af et ellers understøttet format, rapporteres: "Validatoren understøtter
‹format›‹expected›;‹actual›blev fundet.". - Ugyldige datoformater: Datoer skal overholde de specifikke standarder for det valgte feed-format. Hvis en dato ikke kan tolkes, vises fejlen: "Brug en virkelig dato i det format, som feedet kræver.".
Strukturel validering versus indholdsvalidering
Det er vigtigt at skelne mellem en strukturel kontrol af XML-koden og en egentlig validering af indholdets tilgængelighed og rigtighed.
Værktøjet analyserer udelukkende feedets opbygning, syntaks og overholdelse af de formelle specifikationer. Det foretager ikke netværkskald for at teste de angivne URL-adresser. Det betyder, at links i feedet ikke åbnes, og værktøjet kontrollerer derfor ikke, om destinationssiderne er tilgængelige, om der sker omdirigeringer (redirects), om SSL-certifikater er gyldige, eller om det faktiske indhold på destinationen er korrekt.
Rapporten kontrollerer kun struktur og almindelige formatregler. Den beviser ikke, at indholdet er korrekt, sikkert, accepteres af alle læsere eller er klar til udgivelse.
Tekniske begrænsninger og privatliv
Værktøjet har en øvre grænse for inputstørrelse på 500.000 tegn pr. kontrol. Hvis denne grænse overskrides, vises fejlmeddelelsen: "Værktøjet accepterer op til ‹max› tegn pr. kontrol.". Hvis selve valideringsprocessen tager for lang tid, afbrydes den med meddelelsen: "Valideringen tog for lang tid. Prøv et mindre feed.". Hvis processen af uforudsete årsager slet ikke kan gennemføres, vises meddelelsen: "Valideringen kunne ikke fuldføres.".
For at sikre fuld kontrol over egne data, udføres hele valideringsprocessen lokalt i brugerens egen browser. Dit feed kontrolleres i din browser. BroBroGo uploader eller gemmer intet.
For store feeds begrænses visningen i rapporten for at bevare overskueligheden. Værktøjet viser maksimalt de første 200 problemer og de første 100 poster. Hvis grænsen nås, markeres dette med meddelelserne: "Viser de første ‹shown› af ‹total› problemer." samt "Viser de første ‹shown› af ‹total› poster.".
Ofte stillede spørgsmål (FAQ)
Hvilke feedformater understøtter validatoren?
Den validerer aktuelle RSS 2.0- og Atom 1.0-dokumenter. Ældre RSS-, RDF/RSS 1.0- og Atom 0.3-feeds genkendes, men kontrolleres ikke efter de forkerte regler.
Åbner eller tester den links i feedet?
Den fortolker felter med links og opløser relative Atom-referencer med xml:base. URL’er åbnes aldrig, så tilgængelighed, omdirigeringer, certifikater og destinationsindhold testes ikke.
Hvilke postfelter kontrolleres?
For RSS item kontrolleres titel eller beskrivelse, og GUID, link og udgivelsesdato læses. For Atom entry kontrolleres ID, titel, updated, nedarvning af author, alternative links samt regler for content eller summary.
Hvorfor fejler valideringen, hvis mit feed indeholder en DOCTYPE-erklæring?
Validatoren tillader ikke DOCTYPE-erklæringer i XML-koden. Du skal fjerne DOCTYPE-erklæringen, før feedet kontrolleres, for at analysen kan gennemføres.