Structura și cerințele tehnice pentru feedurile RSS 2.0
Formatul RSS 2.0 este reglementat de reguli structurale precise care definesc modul în care conținutul este distribuit și interpretat de agregatoare. Un feed RSS 2.0 valid trebuie să aibă ca element rădăcină eticheta <rss> cu atributul de versiune corespunzător. În interiorul acestui element, structura impune existența unui canal principal. Regula strictă de validare aplicată este: „RSS trebuie să conțină exact un element <channel> copil direct; s-au găsit ‹count›.”
Pentru fiecare element de tip item (articol sau intrare) inclus în canalul RSS, validatorul verifică prezența câmpurilor esențiale. În mod specific, se controlează regula title-or-description, care cere ca fiecare item să conțină cel puțin un titlu sau o descriere pentru a fi valid. De asemenea, parserul citește și validează următoarele elemente asociate fiecărui item:
- Identificatorul unic (
GUID) - Linkul direct către articol (
link) - Data publicării (
publication date), care trebuie să respecte formatul de dată cerut de specificație.
Dacă aceste elemente lipsesc sau sunt duplicate în mod nepermis, validatorul va semnala erori precum „Adăugați câmpul obligatoriu ‹field›.” sau „Păstrați exact un câmp ‹field›; s-au găsit ‹count›.”
Structura și cerințele tehnice pentru feedurile Atom 1.0
Formatul Atom 1.0 utilizează un set diferit de reguli și elemente structurale în comparație cu RSS 2.0. Elementul rădăcină pentru acest format este <feed>. Pentru a asigura conformitatea cu specificațiile Atom 1.0, validatorul analizează elementele de tip entry (intrări) și aplică verificări stricte asupra următoarelor componente:
- ID: Fiecare intrare trebuie să aibă un identificator unic. Acesta trebuie să fie un IRI absolut. Identificatorii relativi nu sunt permiși, generând eroarea „Folosiți un IRI absolut pentru
‹field›; identificatorii relativi nu sunt ID-uri Atom valide.” - Titlu: Prezența unui titlu valid pentru fiecare intrare.
- Actualizare: Elementul care indică data ultimei actualizări (
updated) este obligatoriu. - Moștenirea autorului: Atom impune reguli stricte privind autorul. Dacă feedul nu are un autor global, fiecare intrare trebuie să specifice un autor direct. Lipsa acestuia declanșează erorile „Adăugați un <author> la feed sau un <author> direct la fiecare intrare.” sau „Adăugați un <author> la această intrare, la <source> sau la feed.”
- Linkuri alternative: Se verifică prezența unui link alternativ atunci când o intrare Atom nu are conținut inclus direct, conform regulii „Adăugați un <link> alternativ când o intrare Atom nu are <content> inclus.”
- Conținut sau rezumat: Când conținutul utilizează un atribut
srcextern, elementul nu trebuie să conțină text inclus sau elemente copii, regula fiind „Când <content> folosește src, eliminați textul inclus și elementele copil.” De asemenea, este obligatorie adăugarea unui rezumat în anumite condiții: „Adăugați <summary> când conținutul Atom este extern sau nu poate fi citit ca text.”
Rolul xml:base în referințele relative Atom
În documentele Atom 1.0, adresele URL pot fi exprimate sub formă de referințe relative. Pentru ca aceste legături să fie valide, ele trebuie să poată fi rezolvate într-o adresă absolută utilizând atributul standard xml:base.
Validatorul analizează câmpurile care conțin linkuri și încearcă să rezolve referințele relative Atom exclusiv prin intermediul acestui atribut. Dacă o referință este relativă și nu se poate identifica un xml:base utilizabil pentru a o reconstitui, sistemul va raporta eroarea „Folosiți o adresă absolută pentru ‹field›; numai referințele Atom cu un xml:base utilizabil pot fi relative.” Orice alt link care nu poate fi analizat structural ca un URL sau o referință URI validă va genera mesajul de eroare „Remediați ‹field›; acest link nu poate fi analizat ca URL sau referință URI.”
Validarea structurală versus validarea conținutului
Este important să se facă o distincție clară între verificarea conformității structurale a unui fișier XML și validarea calitativă a datelor pe care acesta le conține. Acest validator analizează exclusiv corectitudinea sintactică, prezența câmpurilor obligatorii și structura legăturilor din feed.
Validatorul nu deschide și nu accesează fizic URL-urile incluse în feed. Acest lucru înseamnă că:
- Disponibilitatea serverelor de destinație nu este testată.
- Redirecționările HTTP nu sunt urmărite.
- Validitatea certificatelor SSL/TLS ale linkurilor nu este verificată.
- Conținutul paginilor de destinație nu este analizat.
Acest raport verifică doar structura și regulile uzuale de format. Nu dovedește că informațiile sunt corecte, sigure, acceptate de orice cititor sau gata de publicare.
Probleme comune și erori în XML-ul de feed
În timpul procesării fișierelor XML pentru RSS și Atom, pot apărea diverse erori de sintaxă sau de configurare. Printre cele mai frecvente se numără:
- Declarații DOCTYPE: Prezența unei declarații DOCTYPE în feed nu este permisă în timpul verificării, generând eroarea „Eliminați declarația DOCTYPE înainte de a verifica acest feed.”
- XML malformat: Orice eroare de închidere a etichetelor sau caractere nepermise blochează analizatorul, caz în care se afișează „Remediați XML-ul malformat, apoi validați din nou.” (sau „Remediați XML-ul malformat, apoi validați din nou.”).
- Formate sau versiuni neacceptate: Dacă feedul aparține unui format necunoscut, se returnează „Format de feed necunoscut” sau „Folosiți un document RSS 2.0 <rss> sau un document Atom 1.0 <feed>.”. Pentru versiuni nepotrivite ale formatelor suportate, mesajul este „Acest validator acceptă
‹format›‹expected›; s-a detectat‹actual›.” - ID-uri duplicate: Fiecare identificator trebuie să fie unic în cadrul feedului. Repetarea unui ID va genera eroarea „Acest ID repetă valoarea văzută prima dată la linia
‹first›.” - Date invalide: Atât RSS, cât și Atom cer ca datele calendaristice să respecte formate standardizate stricte. Nerespectarea acestora duce la eroarea „Folosiți o dată reală în formatul cerut de acest feed.”
Limite de procesare și confidențialitate
Instrumentul este conceput pentru a procesa documente de dimensiuni moderate, având o limită maximă de 500.000 de caractere per verificare. Dacă această limită este depășită, se va afișa mesajul „Acest instrument acceptă până la ‹max› caractere per verificare.”
În cazul în care analiza durează prea mult sau întâmpină probleme tehnice de execuție, validatorul va afișa mesajele „Validarea a durat prea mult. Încercați un feed mai mic.” sau „Validarea nu s-a putut finaliza.” Pentru a asigura o vizualizare clară a rezultatelor, interfața limitează afișarea la maximum 200 de probleme și 100 de intrări, afișând note de trunchiere precum „Se afișează primele ‹shown› dintre cele ‹total› probleme.” sau „Se afișează primele ‹shown› dintre cele ‹total› intrări.”
În ceea ce privește securitatea datelor, feedul este verificat în browser. BroBroGo nu încarcă și nu salvează nimic. Procesarea are loc local, pe dispozitivul utilizatorului.
Întrebări frecvente
Ce formate de feed acceptă acest validator?
Validează documentele RSS 2.0 și Atom 1.0 actuale. Feedurile RSS mai vechi, RDF/RSS 1.0 și Atom 0.3 sunt identificate, dar nu sunt verificate după reguli nepotrivite.
Deschide sau testează linkurile din feed?
Analizează câmpurile care conțin linkuri și rezolvă referințele relative Atom cu xml:base. URL-urile nu sunt deschise, deci disponibilitatea, redirecționările, certificatele și conținutul destinației nu sunt testate.
Ce câmpuri ale intrărilor sunt verificate?
Pentru elementele RSS, verifică titlul sau descrierea și citește GUID, linkul și data publicării. Pentru intrările Atom, verifică ID-ul, titlul, actualizarea, moștenirea autorului, linkurile alternative și regulile pentru conținut sau rezumat.
Ce se întâmplă dacă feedul meu are o declarație DOCTYPE?
Validatorul va respinge feedul și va afișa mesajul de eroare „Eliminați declarația DOCTYPE înainte de a verifica acest feed.” Trebuie să ștergeți această declarație din codul XML înainte de a rula din nou verificarea.