Struktur dan Keperluan RSS 2.0 untuk Podcast
Sistem pengedaran podcast bergantung sepenuhnya pada format RSS 2.0 yang ditulis dalam bentuk XML. Untuk memastikan suapan (feed) anda dapat dibaca oleh pelbagai aplikasi pengagregat, struktur XML mestilah menepati piawaian yang ditetapkan. Pengesah Podcast RSS menyemak sama ada dokumen XML anda mempunyai bentuk yang betul (well-formed) dan mematuhi peraturan struktur yang ketat.
Setiap suapan podcast yang sah mesti memenuhi kriteria asas berikut:
- Dokumen XML tidak boleh mengandungi perisytiharan DOCTYPE. Jika dikesan, alat akan memaparkan ralat: "Alih keluar perisytiharan DOCTYPE sebelum menyemak feed ini."
- Akar dokumen mestilah
<rss>. - Atribut
versionbagi<rss>mestilah ditetapkan kepada "2.0". - Elemen
<rss>mesti mengandungi tepat satu elemen anak<channel>secara langsung. Jika terdapat bilangan lain, ralat "RSS mesti mengandungi tepat satu elemen anak<channel>secara langsung;‹count›ditemui." akan dipaparkan. - Saluran tersebut mesti mengandungi sekurang-kurangnya satu episod. Jika tiada, ralat "Tambahkan sekurang-kurangnya satu episod <item> pada saluran." akan muncul.
Alat ini mengehadkan saiz input sehingga 500,000 aksara bagi setiap semakan. Jika had ini dilampaui, mesej "Alat ini menerima sehingga ‹max› aksara bagi setiap semakan." akan dipaparkan. Sekiranya proses semakan tergendala atau mengambil masa terlalu lama, sistem akan mengeluarkan amaran "Pengesahan mengambil masa terlalu lama. Cuba suapan yang lebih kecil." atau "Pengesahan tidak dapat diselesaikan.".
Keperluan Khas untuk Apple Podcasts
Selain daripada standard RSS 2.0 asas, direktori utama seperti Apple Podcasts memerlukan ruang nama (namespace) dan tag khusus untuk memproses maklumat rancangan serta episod dengan betul.
Semasa melakukan imbasan, alat ini akan mengesahkan peraturan khusus Apple Podcasts berikut:
- Isytihar Ruang Nama: Ruang nama Apple Podcasts mesti diisytiharkan pada
<rss>. Kegagalan berbuat demikian akan mencetuskan ralat: "Isytiharkan ruang nama Apple Podcasts pada <rss>:‹namespace›". - Medan Wajib: Setiap saluran dan episod memerlukan medan tertentu. Jika ada yang tertinggal, ralat "Tambahkan
‹field›yang diperlukan." akan dipaparkan. - Pautan dan Imej: Sebarang pautan dalam suapan mestilah menggunakan protokol yang selamat. Ralat "
‹field›mestilah URL HTTP atau HTTPS yang lengkap." atau "Tetapkan itunes:image href kepada URL HTTP atau HTTPS yang lengkap." akan muncul jika format URL tidak sah. - Kategori: Kategori podcast tidak boleh dibiarkan kosong. Anda mesti "Tambahkan atribut text yang tidak kosong pada itunes:category.".
- Kandungan Eksplisit: Tag
<itunes:explicit>mestilah ditetapkan kepada "true" atau "false" sahaja. - Rancangan Bersiri: Bagi podcast yang menggunakan struktur susunan bersiri (serial), setiap episod wajib mempunyai nombor giliran yang sah. Ralat "Rancangan bersiri memerlukan integer positif itunes:episode untuk setiap episod." akan dipaparkan jika nilai ini tidak sah atau hilang.
- Had Bilangan Episod: Apple Podcasts mengehadkan paparan episod dalam direktori mereka. Jika suapan anda terlalu besar, amaran "Suapan ini mengandungi
‹count›episod; Apple Podcasts hanya memaparkan 2,000 episod terkini." akan dikeluarkan.
Pengesahan Atribut Enclosure Audio
Elemen <enclosure> merupakan bahagian paling penting dalam RSS podcast kerana ia mengandungi fail media sebenar bagi setiap episod. Setiap episod hanya dibenarkan mempunyai tepat satu elemen <enclosure>. Jika terdapat lebih daripada satu, ralat "Simpan tepat satu <enclosure> dalam episod ini; dijumpai ‹count›." akan dipaparkan.
Alat ini melakukan pemeriksaan terperinci terhadap atribut <enclosure> tanpa memuat turun atau menyahkod fail audio tersebut:
- Atribut Wajib: Jika terdapat atribut yang hilang, ralat "Tambahkan atribut
‹attribute›yang diperlukan pada <enclosure>." akan dipaparkan. - URL Media: URL fail audio mestilah sah dan lengkap. Jika tidak, ralat "Tetapkan atribut url bagi <enclosure> kepada URL HTTP atau HTTPS yang lengkap." akan muncul.
- Saiz Fail (Length): Atribut
lengthmesti menunjukkan saiz fail dalam bentuk bait yang sah. Ralat "Tetapkan atribut length bagi <enclosure> kepada bilangan bait bulat." akan dipaparkan jika nilai tersebut bukan nombor bulat. Jika nilainya adalah 0, amaran "Atribut length bagi <enclosure> ialah 0. Sahkan bilangan byte sebenar sebelum diterbitkan." akan dikeluarkan. - Jenis MIME: Jenis media mestilah sah, contohnya
audio/mpeg. Jika jenis MIME tidak sah, ralat "Gunakan jenis MIME yang sah seperti audio/mpeg." akan dipaparkan. Jika anda menggunakan jenis MIME bukan audio, amaran "enclosure ini tidak ditandakan sebagai audio. Sahkan bahawa episod ini memang sengaja diterbitkan sebagai video atau dokumen." akan muncul. - Ketidakserasian Fail: Alat ini juga membandingkan nama fail dengan jenis MIME yang diisytiharkan. Jika tidak sepadan, amaran "Nama fail media dan jenis MIME tidak bersetuju (
‹extension›lwn‹mime›)." akan dipaparkan.
Format Tarikh dan Pengurusan Nilai Pendua
Penyusunan episod dalam aplikasi podcast bergantung sepenuhnya pada tarikh penerbitan yang ditulis dalam format RFC 2822. Kegagalan menulis tarikh dengan betul boleh menyebabkan episod tidak muncul atau tersusun secara rawak.
Format Tarikh RFC 2822
Jika tag <pubDate> hilang, amaran "Tambahkan <pubDate> supaya apl podcast boleh menyusun dan menerbitkan episod ini dengan betul." akan dipaparkan. Tarikh yang dimasukkan mestilah menggunakan zon waktu dan kalendar yang sah. Jika formatnya salah, ralat berikut akan dipaparkan: "Gunakan tarikh RFC 2822 dengan tarikh dan zon waktu kalendar sebenar, contohnya: Sat, 01 Apr 2023 19:00:00 +0000.". Penggunaan zon waktu bernama (seperti EST atau GMT) akan mencetuskan amaran: "Zon waktu bernama ini diterima tetapi kurang serasi; gunakan ofset angka seperti +0000 jika boleh.".
Pengesanan Nilai Pendua
Untuk mengelakkan kekeliruan pada aplikasi pemain podcast, setiap episod mestilah mempunyai pengecam unik (GUID) dan URL media yang unik. Alat ini akan mengesan sebarang pertindihan nilai:
- GUID Pendua: "GUID ini mengulangi nilai pada baris
‹first›." - URL Media Pendua: "URL dalam <enclosure> ini mengulangi nilai pada baris
‹first›."
Cara Membaca Keputusan Diagnosis Suapan
Apabila anda menampal XML ke dalam kotak input dan menekan butang "Sahkan", alat ini akan memproses data tersebut secara setempat. Hasil analisis akan dipaparkan di bawah bahagian "Diagnosis suapan".
Jika XML anda mempunyai ralat sintaksis yang menghalang proses pembacaan, alat akan memaparkan ralat "Betulkan XML yang cacat, kemudian sahkan semula." berserta maklumat teknikal tambahan melalui "Butiran penghurai: ‹detail›".
Bagi suapan yang berjaya diproses, alat akan memaparkan ringkasan status seperti "‹errors› ralat dan ‹warnings› amaran ditemui." atau "Tiada masalah struktur ditemui." jika suapan anda bersih. Setiap isu yang dikesan akan disenaraikan secara khusus dengan menunjukkan lokasi tepatnya, contohnya "Baris ‹line›, lajur ‹column›". Anda boleh melihat laluan XML yang bermasalah melalui label "Betulkan: ‹path›" dan menggunakan pautan "Pergi ke ‹path› pada baris ‹line›" untuk terus melompat ke bahagian kod yang perlu dibetulkan. Jika senarai isu terlalu panjang, paparan akan dihadkan dengan nota "Menunjukkan ‹shown› isu pertama daripada ‹total›.".
Privasi dan Pemprosesan Data
Keselamatan data anda adalah keutamaan kami. Proses pengesahan XML podcast ini dilakukan sepenuhnya di dalam pelayar web anda sendiri. Tiada sebarang data, kandungan XML, atau maklumat suapan yang dihantar, dimuat naik, atau disimpan oleh BroBroGo pada pelayan luar.
Walau bagaimanapun, anda perlu ingat bahawa ini merupakan semakan struktur statik sahaja. Alat ini tidak membuka URL suapan, imej muka depan, atau fail media secara langsung. Oleh itu, kelulusan semakan statik di sini tidak menjamin bahawa fail audio anda boleh diakses atau direktori podcast luar akan menerima dan menerbitkan suapan anda secara automatik. Anda perlu menyemak ketersediaan fail dan penerimaan direktori secara berasingan.
Soalan Lazim (FAQ)
Apakah yang disemak oleh Pengesah Podcast RSS ini?
Ia menyemak struktur RSS 2.0 XML, medan RSS wajib dan medan Apple Podcasts yang lazim, serta atribut <enclosure>, nilai pendua dan tarikh RFC 2822.
Adakah ia menguji fail audio?
Ia menyemak URL dalam <enclosure>, bilangan bait, jenis MIME, URL pendua dan keserasian nama fail dengan jenisnya. Fail audio tidak dimuat turun atau dinyahkod.
Adakah feed yang lulus akan diterima di mana-mana sahaja?
Tidak. Apl dan direktori podcast boleh mengenakan peraturan tambahan serta semakan jauh. Keputusan lulus hanya bermakna XML yang ditampal melepasi semakan statik yang ditunjukkan di sini.
Mengapakah saya mendapat ralat DOCTYPE semasa mengesahkan suapan saya?
Format RSS podcast tidak memerlukan pengisytiharan DOCTYPE. Anda perlu membuang baris pengisytiharan DOCTYPE tersebut daripada dokumen XML anda sebelum melakukan pengesahan semula.