RSS 2.0 struktūra ir reikalavimai tinklalaidėms
Tinklalaidžių platinimas remiasi RSS 2.0 specifikacija, kuri nustato griežtus XML struktūros reikalavimus. Kad sklaidos kanalas (angl. feed) veiktų korektiškai, dokumento šaknis turi būti <rss>. Taip pat privaloma užtikrinti, kad šio elemento versijos atributas atitiktų standartą – nustatykite atributą version į 2.0.
Kiekvienas RSS dokumentas privalo turėti aiškią hierarchiją. XML struktūroje leidžiamas tik vienas pagrindinis informacijos srauto elementas, todėl RSS turi būti tiksliai vienas tiesioginis <channel>. Šiame kanale pateikiama bendroji informacija apie laidą, o atskiri epizodai aprašomi naudojant <item> elementus.
Atliekant statinę analizę, tikrinama, ar XML dokumentas yra gerai suformuotas. Jei faile yra sintaksės klaidų, analizatorius negalės apdoroti duomenų ir pateiks pranešimą: Pataisykite netinkamai suformuotą XML, tada patvirtinkite dar kartą. Be to, saugumo ir suderinamumo sumetimais XML dokumente neturi būti išorinių esybių apibrėžimų – aptikus tokią deklaraciją, rodoma klaida: Prieš tikrindami šį feed, pašalinkite deklaraciją DOCTYPE.
Apple Podcasts platformos reikalavimai
Norint, kad tinklalaidė būtų sėkmingai indeksuojama didžiosiose platformose, ypač „Apple Podcasts“, standartinio RSS 2.0 XML nepakanka. Būtina išplėsti dokumento struktūrą naudojant specialią vardų erdvę. Paskelbkite Apple Podcasts vardų erdvę <rss>: ‹namespace› ties <rss> elementu, kad programos galėtų nuskaityti specifines žymas.
„Apple Podcasts“ taiko papildomas taisykles kanalo ir epizodų metaduomenims:
- Kategorijos: Kiekviena laida turi būti priskirta bent vienai teminei grupei. XML faile tai nurodoma
<itunes:category>žyma. Jei ši žyma tuščia, validatorius pateiks klaidą: Pridėkite ne tuščią text atributą prie itunes:category. - Turinio žymėjimas: Žyma
<itunes:explicit>nurodo, ar laidoje naudojama necenzūrinė kalba. Šio elemento reikšmė negali būti palikta tuščia arba užpildyta laisvu tekstu – nustatykite<itunes:explicit>į true arba false. - Laidų tipai: Jei pasirinktas serijinis laidos tipas (angl. serial), taikoma griežtesnė epizodų numeracija. Serijinių laidų kiekviename epizode reikia teigiamo sveikojo skaičiaus itunes:episode.
- Epizodų limitai: Nors techniškai RSS kanale gali būti neribotas įrašų skaičius, platformos riboja rodomą kiekį. Šiame kanale yra
‹count›epizodų; Apple Podcasts rodo tik 2 000 naujausių.
Privalomi kanalo ir epizodų laukai
Kiekvienas tinklalaidės kanalas privalo turėti tam tikrus bazinius elementus, be kurių programos negali identifikuoti laidos pavadinimo, aprašymo ar nuorodų. Jei trūksta esminių žymų, validatorius praneša: Pridėkite reikiamą ‹field›.
Visi nuorodų laukai, tokie kaip kanalo tinklalapis ar epizodo nuoroda, privalo naudoti saugius ir galiojančius interneto adresų protokolus. Jei įvestas netinkamas formatas, sistema parodys klaidą: ‹field› turi būti visas HTTP arba HTTPS URL. Ši taisyklė taikoma ir laidos bei epizodų viršeliams – Nustatykite itunes:image href į visą HTTP arba HTTPS URL.
Kanalo struktūroje taip pat privalo būti bent viena laida, kitaip kanalas laikomas tuščiu: Prie kanalo pridėkite bent vieną <item> seriją. Kiekvienas epizodas <item> privalo turėti unikalią identifikavimo žymą, kad programos žinotų, jog tai naujas įrašas. Kiekvienas epizodas turi turėti tiksliai vieną <guid>. Jei XML faile netyčia panaudojamas tas pats identifikatorius keliems įrašams, validatorius užfiksuos klaidą: Šis GUID pakartoja reikšmę ‹first› eilutėje.
Garso failų (enclosure) atributų patikra
Tinklalaidės epizodas XML struktūroje yra susiejamas su medijos failu naudojant <enclosure> žymą. Šis elementas privalo turėti tris pagrindinius atributus: url, length ir type. Jei trūksta bent vieno iš jų, rodomas pranešimas: Pridėkite reikiamą ‹attribute› atributą prie <enclosure>.
Kiekvienas epizodas gali turėti tik vieną medijos failą. Jei viename <item> elemente aptinkami keli failai, validatorius pateikia klaidą: Šiame epizode laikykite tiksliai vieną <enclosure>; rastas ‹count›.
Atributų reikšmėms taikomi šie reikalavimai:
- URL adresas: Nustatykite <enclosure> atributą url į visą HTTP arba HTTPS URL. Taip pat tikrinama, ar tas pats failas nėra priskirtas keliems epizodams: Šis enclosure URL pakartoja reikšmę
‹first›eilutėje. - Failo dydis: Nustatykite <enclosure> atributą length į sveikąjį baitų skaičių. Jei nurodyta reikšmė yra nulinė, sistema pateiks įspėjimą:<enclosure> atributo length reikšmė yra 0. Prieš skelbdami patikrinkite tikrąjį baitų skaičių.
- MIME tipas: Naudokite tinkamą MIME tipą, pvz., audio/mpeg. Jei nurodomas ne garso formatas, sistema įspėja: Šis <enclosure> nepažymėtas kaip garso įrašas. Patikrinkite, ar epizodas sąmoningai skelbiamas kaip vaizdo įrašas arba dokumentas. Taip pat tikrinama failo plėtinio ir MIME tipo atitiktis: Medijos failo pavadinimas ir MIME tipas nesutampa (
‹extension›vs‹mime›).
Šis įrankis neatlieka tinklo užklausų – garso failas neatsisiunčiamas ir nedekoduojamas.
Datų formatavimas pagal RFC 2822 standartą
Tinklalaidžių programos naudoja publikavimo datas epizodų rūšiavimui chronologine tvarka. Jei epizode trūksta datos, rodomas įspėjimas: Pridėkite <pubDate>, kad podcast programos galėtų patikimai užsisakyti ir paskelbti šį epizodą.
Datos privalo griežtai atitikti RFC 2822 standartą. Jei formatas neteisingas arba nurodyta neegzistuojanti kalendoriaus diena, validatorius išveda klaidą: Naudokite RFC 2822 datą su tikra kalendoriaus data ir laiko juosta, pavyzdžiui: Sat, 01 Apr 2023 19:00:00 +0000.
Laiko juostos nurodymui rekomenduojama naudoti skaitinius poslinkius (pavyzdžiui, +0200 arba +0000). Nors tekstiniai laiko juostų pavadinimai (pavyzdžiui, GMT arba EST) yra techniškai leistini, jie gali sukelti suderinamumo problemų senesnėse programose, todėl validatorius pateikia įspėjimą: Ši pavadinta laiko juosta yra priimtina, bet mažiau nešiojama; pirmenybę teikia skaitiniam poslinkiui, pvz., +0000.
XML klaidų paieška ir taisymas
Aptikus klaidų, validatorius pateikia išsamią ataskaitą, kurioje nurodoma tiksli problemos vieta XML dokumente. Kiekvienam aptiktam įrašui pateikiama nuoroda: Eikite į ‹path› ties ‹line› linija. Taip pat nurodoma tiksli vieta: Linija ‹line›, stulpelis ‹column› bei pateikiamas XPath kelias: Pataisymas: ‹path›.
Jei faile yra labai daug klaidų, sąrašas gali būti sutrumpintas, kad būtų lengviau skaityti: Rodomos pirmosios ‹shown› iš ‹total› problemų. Jei XML analizatorius susiduria su kritine klaida, pateikiama papildoma informacija: Išsami analizės informacija: ‹detail›.
Sėkmingos patikros atveju, kai XML struktūra yra visiškai tvarkinga, rodomas pranešimas: Nerasta jokių struktūrinių problemų. Kitu atveju pateikiama suvestinė: Rasta ‹errors› klaidų ir ‹warnings› įspėjimų.
Privatumas ir duomenų apdorojimas
Naudojantis šiuo įrankiu, jūsų privatumui nekyla joks pavojus. Tinklalaidės sklaidos kanalas tikrinamas jūsų naršyklėje. BroBroGo nieko neįkelia ir neišsaugo. Visi skaičiavimai ir XML analizė vyksta lokaliai jūsų įrenginyje, todėl jokie jūsų XML failo duomenys ar asmeninė informacija nepasiekia išorinių serverių.
Dažniausiai užduodami klausimai (DUK)
Ką tikrina šis „Podcast RSS Validator“?
Tikrinama RSS 2.0 XML struktūra, privalomi RSS ir įprasti Apple Podcasts laukai, <enclosure> atributai, pasikartojančios reikšmės ir RFC 2822 datos.
Ar jis išbando garso failą?
Tikrinamas <enclosure> URL, baitų skaičius, MIME tipas, URL unikalumas ir failo pavadinimo atitiktis tipui. Garso failas neatsisiunčiamas ir nedekoduojamas.
Ar išlaikantis feed bus priimtas visur?
Ne. Tinklalaidžių programos ir katalogai gali taikyti papildomas taisykles bei nuotolinius patikrinimus. Teigiamas rezultatas reiškia tik tai, kad įklijuotas XML praėjo čia rodomus statinius patikrinimus.
Kokie yra įvesties apribojimai?
Įrankis priima tik XML formato duomenis. Maksimalus vieno tikrinimo simbolių skaičius yra 500 000. Jei viršysite šį limitą arba analizė užtruks per ilgai, sistema parodys atitinkamą įspėjimą.