Memahami Struktur dan Persyaratan Feed RSS 2.0
Format RSS 2.0 (Really Simple Syndication) adalah salah satu standar sindikasi web yang paling banyak digunakan untuk mendistribusikan pembaruan konten. Agar feed RSS 2.0 dapat dibaca dengan benar oleh berbagai aplikasi pembaca feed (aggregator), dokumen XML harus mengikuti aturan struktural yang ketat.
Setiap dokumen RSS 2.0 harus berupa XML yang valid dan memiliki elemen akar <rss> dengan atribut versi "2.0". Di dalam elemen akar tersebut, harus terdapat elemen <channel> yang bertindak sebagai wadah utama untuk informasi feed. Aturan validasi menetapkan bahwa RSS harus memuat tepat satu <channel> langsung; ditemukan ‹count›. Jika elemen <channel> kurang atau lebih dari satu, struktur feed dianggap rusak.
Di dalam elemen <channel>, terdapat beberapa elemen wajib yang mendeskripsikan feed tersebut secara keseluruhan, seperti judul, tautan, dan deskripsi. Selain itu, feed dapat berisi satu atau beberapa elemen <item> yang mewakili entri konten individual, seperti artikel blog atau episode podcast. Untuk setiap RSS item, validator akan memeriksa aturan title-or-description. Aturan ini mewajibkan setiap item memiliki setidaknya elemen judul atau deskripsi agar pembaca feed dapat menampilkan informasi yang bermakna. Validator juga membaca elemen penting lainnya seperti GUID (Globally Unique Identifier), link, dan tanggal terbit (publication date) untuk memastikan setiap entri dapat diidentifikasi dan diurutkan dengan benar.
Memahami Struktur dan Persyaratan Feed Atom 1.0
Atom 1.0 adalah standar sindikasi XML alternatif yang dirancang untuk mengatasi beberapa keterbatasan format RSS. Struktur Atom 1.0 memiliki aturan yang berbeda dan sering kali lebih ketat dibandingkan dengan RSS 2.0. Elemen akar untuk feed Atom adalah <feed>.
Dalam validasi Atom entry, terdapat beberapa aturan spesifik yang harus dipenuhi:
- ID: Setiap entri harus memiliki pengenal unik global berupa URI/IRI absolut.
- Title: Setiap entri wajib memiliki judul.
- Updated: Tanggal pembaruan terakhir harus dicantumkan dalam format tanggal yang valid.
- Pewarisan Author: Atom mewajibkan adanya informasi penulis. Jika entri individual tidak memiliki elemen penulis, maka harus ada elemen penulis di tingkat feed, atau sebaliknya.
- Tautan Alternatif: Aturan mengharuskan adanya tautan alternatif jika entri tidak memiliki konten sebaris.
- Content atau Summary: Entri harus menyediakan konten lengkap atau ringkasan singkat.
Validator ini secara khusus dirancang untuk memeriksa dokumen RSS 2.0 dan Atom 1.0 terkini. Jika Anda memasukkan format yang lebih tua, alat ini akan mengidentifikasi format tersebut tetapi tidak akan melakukan pemeriksaan menggunakan aturan yang keliru. Jika format tidak dikenali, sistem akan menampilkan pesan Format feed tidak dikenal.
Penanganan Tautan dan Peran xml:base dalam Rujukan Relatif
Tautan adalah elemen krusial dalam feed sindikasi karena mengarahkan pengguna kembali ke situs web sumber. Validator ini mengurai setiap kolom yang berisi tautan untuk memastikan formatnya valid. Namun, penting untuk dipahami bahwa alat ini tidak pernah membuka URL tersebut. Oleh karena itu, pemeriksaan ketersediaan server, pengalihan (redirect), validitas sertifikat SSL/TLS, dan isi dari tujuan tautan tidak diuji sama sekali.
Salah satu fitur penting dalam spesifikasi Atom 1.0 adalah dukungan terhadap rujukan relatif menggunakan atribut xml:base. Atribut xml:base mendefinisikan URL dasar (base URL) yang digunakan untuk menyelesaikan (resolve) rujukan relatif di dalam elemen XML tersebut.
Sebagai contoh, jika sebuah entri Atom memiliki atribut xml:base="https://example.com/blog/" dan elemen tautan berisi <link href="artikel-terbaru.html" />, validator akan menggunakan nilai xml:base untuk menyelesaikan tautan tersebut menjadi alamat absolut: https://example.com/blog/artikel-terbaru.html. Jika rujukan relatif ditemukan tanpa adanya atribut xml:base yang dapat digunakan, validator akan mendeteksi ini sebagai kesalahan karena rujukan tersebut tidak dapat diselesaikan menjadi alamat absolut yang valid.
Batasan Validasi Struktural vs. Validasi Konten
Alat ini berfungsi sebagai validator struktural dan format XML, bukan validator kelayakan konten. Laporan yang dihasilkan oleh alat ini hanya memeriksa struktur dan aturan format yang umum. Laporan tidak membuktikan bahwa isi akurat, aman, diterima setiap pembaca, atau siap diterbitkan.
Perbedaan utama antara kedua jenis validasi ini meliputi:
| Aspek Pemeriksaan | Validasi Struktural (Dilakukan Alat) | Validasi Konten (Tidak Dilakukan) |
|---|---|---|
| Sintaksis XML | Memeriksa dokumen dari kerusakan markup dan deklarasi DOCTYPE. | Tidak memeriksa kebenaran tata bahasa atau ejaan teks. |
| Keberadaan Kolom | Memastikan elemen wajib seperti <title>, <link>, atau <author> tersedia. |
Tidak menilai apakah informasi penulis atau judul tersebut benar dan akurat. |
| Format Tautan | Memastikan tautan dapat diurai sebagai URL atau URI yang valid. | Tidak memeriksa apakah tautan tersebut aktif, aman dari malware, atau bebas dari error 404. |
| Format Tanggal | Memastikan penulisan tanggal mematuhi standar format yang diwajibkan. | Tidak memverifikasi apakah tanggal kejadian tersebut secara historis benar. |
Masalah Umum dan Pesan Kesalahan pada Feed XML
Saat memvalidasi feed RSS atau Atom, beberapa kesalahan umum sering kali muncul akibat kesalahan penulisan kode XML atau hilangnya elemen wajib. Berikut adalah daftar pesan kesalahan yang dihasilkan oleh validator beserta penjelasannya:
- Hapus deklarasi DOCTYPE sebelum memeriksa feed ini. Deklarasi DOCTYPE tidak diperbolehkan dalam feed demi keamanan dan kompatibilitas parser.
- Perbaiki XML yang rusak, lalu validasi lagi. Terjadi kesalahan sintaksis XML, seperti tag yang tidak ditutup dengan benar atau karakter khusus yang tidak di-escape.
- Gunakan dokumen RSS 2.0 dengan <rss> atau dokumen Atom 1.0 dengan <feed>. Dokumen yang dimasukkan tidak menggunakan elemen akar yang sesuai dengan standar RSS 2.0 atau Atom 1.0.
- Validator ini mendukung
‹format›‹expected›; terdeteksi‹actual›. Feed menggunakan versi format yang tidak didukung oleh aturan pemeriksaan validator ini. - Tambahkan kolom wajib
‹field›. Elemen penting yang diwajibkan oleh spesifikasi (seperti judul atau tanggal pembaruan) tidak ditemukan. - Pertahankan tepat satu
‹field›; ditemukan‹count›. Elemen tertentu yang hanya boleh muncul sekali dalam satu blok (misalnya elemen deskripsi pada item tertentu) ditemukan lebih dari satu. - Perbaiki
‹field›; tautan ini tidak dapat diurai sebagai rujukan URL atau URI. Format penulisan alamat web pada kolom tersebut rusak atau tidak valid. - Gunakan IRI absolut untuk
‹field›; pengenal relatif bukan ID Atom yang valid. ID pada entri Atom harus berupa pengenal unik absolut dan tidak boleh menggunakan jalur relatif. - Gunakan alamat absolut untuk
‹field›; hanya rujukan Atom dengan xml:base yang dapat digunakan yang bisa bersifat relatif. Tautan relatif terdeteksi pada elemen yang tidak memiliki konteksxml:baseuntuk menyelesaikannya. - ID ini mengulangi nilai yang pertama kali terlihat di baris
‹first›. Ditemukan duplikasi ID entri, padahal setiap entri wajib memiliki ID yang unik secara global. - Tambahkan
<author>ke feed, atau tambahkan langsung<author>ke setiap entri. Informasi penulis tidak ditemukan baik di tingkat feed utama maupun di tingkat entri individu. - Tambahkan <author> ke entri ini, <source>-nya, atau feed. Entri Atom kehilangan informasi penulis yang diwajibkan oleh aturan pewarisan.
- Tambahkan <link> alternatif jika entri Atom tidak memiliki <content> sebaris. Jika entri Atom tidak menyertakan konten langsung di dalam XML, maka harus disediakan tautan alternatif yang mengarah ke konten tersebut.
- Jika <content> memakai src, hapus teks sebaris dan elemen turunannya.
Elemen konten Atom yang menggunakan atribut
srcuntuk merujuk ke sumber eksternal tidak boleh memiliki teks atau elemen anak di dalamnya. - Tambahkan <summary> jika content Atom berada di luar atau tidak dapat dibaca sebagai teks. Ringkasan wajib disertakan jika konten utama berupa media eksternal atau format non-teks.
- Gunakan tanggal nyata dalam format yang diwajibkan feed ini. Penulisan tanggal tidak sesuai dengan standar RFC 822 (untuk RSS 2.0) atau RFC 3339 (untuk Atom 1.0), atau tanggal yang dimasukkan tidak ada di kalender.
Batasan Teknis dan Privasi Pemrosesan
Alat ini dirancang dengan mengutamakan efisiensi dan privasi pengguna. Batas ukuran input maksimal yang dapat diterima oleh validator adalah 500.000 karakter per pemeriksaan. Jika Anda memasukkan data yang melebihi batas ini, sistem akan menampilkan pesan kesalahan: Alat ini menerima hingga ‹max› karakter per pemeriksaan.
Untuk menjaga kinerja browser Anda, validator membatasi jumlah data yang ditampilkan pada laporan hasil. Laporan akan menampilkan maksimum 200 masalah dan 100 entri. Jika feed Anda memiliki data yang melebihi batas tersebut, laporan akan dipotong dan menampilkan catatan Menampilkan ‹shown› pertama dari ‹total› masalah atau Menampilkan ‹shown› pertama dari ‹total› entri.
Jika proses analisis memakan waktu terlalu lama karena struktur XML yang sangat rumit, sistem akan menghentikan proses dan menampilkan pesan: Validasi terlalu lama. Coba feed yang lebih kecil. Jika terjadi kegagalan sistem yang tidak terduga saat membaca dokumen, pesan Validasi tidak dapat diselesaikan akan muncul.
Mengenai keamanan data Anda, seluruh proses analisis dan penguraian XML dilakukan secara lokal di dalam browser Anda. Feed Anda diperiksa di browser. BroBroGo tidak mengunggah atau menyimpan apa pun.
Pertanyaan yang Sering Diajukan (FAQ)
Format feed apa saja yang didukung validator ini?
Validator ini memeriksa dokumen RSS 2.0 dan Atom 1.0 terkini. Feed RSS lama, RDF/RSS 1.0, dan Atom 0.3 dikenali, tetapi tidak diperiksa dengan aturan yang keliru.
Apakah tautan di dalam feed dibuka atau diuji?
Kolom berisi tautan diurai dan rujukan relatif Atom diselesaikan dengan xml:base. URL tidak pernah dibuka, sehingga ketersediaan, pengalihan, sertifikat, dan isi tujuan tidak diuji.
Kolom entri apa saja yang diperiksa?
Untuk RSS item, validator memeriksa title atau description serta membaca GUID, tautan, dan tanggal terbit. Untuk Atom entry, validator memeriksa ID, title, updated, pewarisan author, tautan alternatif, serta aturan content atau summary.
Mengapa saya mendapatkan kesalahan tentang ID duplikat?
Setiap entri dalam feed RSS (melalui <guid>) atau Atom (melalui <id>) harus memiliki pengenal unik global. Jika ada dua entri atau lebih yang menggunakan nilai ID yang sama, validator akan menandai ini sebagai kesalahan dan menunjukkan baris tempat ID tersebut pertama kali muncul.