RSS ve Atom Akışlarında Yapısal Doğrulama
RSS ve Atom akışları, web sitelerindeki güncellemeleri standart bir XML yapısında sunarak içerik dağıtımını sağlar. Ancak XML şemasındaki küçük bir biçimlendirme hatası veya eksik bir zorunlu alan, haber okuyucuların ve dizinlerin akışı ayrıştıramamasına yol açar. RSS Akışı Doğrulayıcı, yapıştırılan XML içeriğini doğrudan analiz ederek biçim hatalarını, eksik alanları ve geçersiz bağlantı yapılarını tespit eder.
Bu araç, girdi olarak en fazla 500,000 karakter uzunluğunda RSS 2.0 veya Atom 1.0 XML belgelerini kabul eder. Yapılan analiz sonucunda, akışın genel yapısı incelenir ve varsa hatalar ile uyarılar satır, sütun ve XML yolu bilgisiyle birlikte raporlanır.
RSS 2.0 Akış Yapısı ve Gereksinimleri
RSS 2.0 standartları, belirli bir hiyerarşik XML yapısını zorunlu kılar. Bir RSS akışının doğrulanabilmesi için öncelikle kök öğesinin ve altındaki kanalların doğru yapılandırılması gerekir.
- Kanal Sınırlandırması: RSS belgesi tam olarak bir doğrudan kanal içermelidir. Eğer bu kural ihlal edilirse, araç
RSS tam olarak bir doğrudan <channel> içermelidir; ‹count› tane bulundu.hatasını verir. - Öğe Gereksinimleri: Her RSS öğesi (item) içinde içerik tanımlayıcı alanların bulunması şarttır. Doğrulayıcı, her öğe için başlık veya açıklama (title-or-description) kuralını denetler. Ayrıca öğe içindeki
GUID,linkve yayın tarihi alanlarını okuyarak doğruluğunu kontrol eder. - Zorunlu Alanlar: Akışın veya öğelerin içinde bulunması zorunlu olan bir alan eksik olduğunda
Zorunlu ‹field› alanını ekleyin.uyarısı üretilir. Aynı alandan birden fazla bulunmaması gereken durumlarda iseTam olarak bir ‹field› bırakın; ‹count› tane bulundu.hatası gösterilir.
Atom 1.0 Akış Yapısı ve Kuralları
Atom 1.0, RSS 2.0'a göre daha katı yapısal kurallara ve farklı eleman adlarına sahiptir. Doğrulayıcı, Atom akışlarını incelerken şu kuralları temel alır:
- Kimlik ve Benzersizlik: Atom kayıtlarında (entry)
IDalanı zorunludur. Bu kimliklerin mutlak bir IRI (Internationalized Resource Identifier) olması gerekir. Göreli tanımlayıcılar geçerli kabul edilmez ve‹field› için mutlak bir IRI kullanın; göreli tanımlayıcılar geçerli Atom ID'leri değildir.hatası tetiklenir. Ayrıca akış genelinde yinelenen kimlikler içinBu ID, ilk kez ‹first›. satırda görülen değeri yineliyor.uyarısı verilir. - Yazar Bilgisi (Author Inheritance): Atom standartlarına göre, akışın genelinde bir yazar tanımlanmalıdır. Eğer bu yoksa, her bir kayıtta doğrudan yazar tanımlanmalıdır. Bu kural ihlal edildiğinde
Akışa bir <author> veya her kayda doğrudan bir <author> ekleyin.veyaBu kayda, <source> öğesine veya akışa <author> ekleyin.hataları oluşur. - Alternatif Bağlantılar ve İçerik: Bir Atom kaydında satır içi içerik bulunmuyorsa, alternatif bir bağlantı bulunmalıdır. Aksi takdirde
Atom kaydında satır içi <content> yoksa alternatif bir <link> ekleyin.uyarısı gösterilir. Eğer içerik alanı haricî bir kaynağı gösterensrcniteliği kullanıyorsa, satır içi metin barındırmamalıdır; bu durumda<content> src kullandığında satır içi metni ve alt öğeleri kaldırın.hatası verilir. İçeriğin haricî olduğu veya metin olarak okunamadığı durumlarda iseAtom içeriği haricîyse veya metin olarak okunamıyorsa <summary> ekleyin.uyarısı ile özet alanı talep edilir.
Bağlantıların ve xml:base Niteliğinin Çözümlenmesi
Akışlardaki en yaygın hatalardan biri, yanlış biçimlendirilmiş veya çözümlenemeyen bağlantı adresleridir. Doğrulayıcı, akış içindeki bağlantı içeren alanları ayrıştırır.
Eğer bir bağlantı geçerli bir URL veya URI şablonuna uymuyorsa, araç ‹field› alanını düzeltin; bu bağlantı URL veya URI başvurusu olarak ayrıştırılamıyor. hatasını raporlar.
Atom akışlarında göreli (relative) bağlantıların çözümlenmesi için xml:base niteliği kullanılır. Eğer akışta geçerli bir xml:base tanımlanmamışsa ve göreli bir bağlantı kullanılmışsa, ‹field› için mutlak bir adres kullanın; yalnızca kullanılabilir bir xml:base içeren Atom başvuruları göreli olabilir. uyarısı verilir.
Doğrulayıcının bağlantıları yalnızca yapısal olarak analiz ettiğini unutmamak gerekir. Araç, akış içerisindeki URL'leri internet üzerinden açmaz. Dolayısıyla, bağlantıların sunucuda aktif olup olmadığı, yönlendirmeleri (redirects), SSL sertifikası geçerliliği veya hedef sayfanın içeriği bu denetim kapsamında test edilmez.
Tarih Biçimleri ve XML Hataları
RSS ve Atom akışları, kendilerine özgü tarih ve saat biçimlendirme standartlarına sahiptir. RSS genellikle RFC 822 tarih biçimini kullanırken, Atom RFC 3339 standartlarını temel alır. Doğrulayıcı, akış içindeki tarih alanlarının bu kurallara uygunluğunu denetler ve geçersiz biçimlendirmelerde Bu akışın gerektirdiği biçimde gerçek bir tarih kullanın. hatasını gösterir.
Ayrıca, XML belgesinin kendisinde bulunabilecek temel yapısal hatalar da denetlenir:
- DOCTYPE Bildirimleri: Güvenlik ve standart uyumluluğu nedeniyle akışta DOCTYPE bulunmamalıdır. Tespit edilirse
Bu akışı denetlemeden önce DOCTYPE bildirimini kaldırın.uyarısı verilir. - Hatalı XML Yapısı: Kapatılmamış etiketler veya geçersiz karakterler bulunduğunda
Hatalı biçimlendirilmiş XML’i düzeltip yeniden doğrulayın.uyarısı gösterilir. - Sürüm Uyuşmazlıkları: Desteklenen sürümlerin dışındaki belgeler için
Bu doğrulayıcı ‹format› ‹expected› sürümünü destekler; ‹actual› algılandı.hatası üretilir.
Tarayıcı Tabanlı Çalışma ve Gizlilik
Bu doğrulama aracı, gizlilik ilkelerine uygun olarak tasarlanmıştır. Yapıştırdığınız RSS veya Atom XML içeriğinin analizi tamamen kendi web tarayıcınızın içinde gerçekleştirilir. Verileriniz hiçbir haricî sunucuya gönderilmez, BroBroGo tarafından hiçbir şekilde yüklenmez veya kaydedilmez. Bu sayede, henüz yayımlanmamış veya yerel ağınızda geliştirmekte olduğunuz akış yapılarını güvenle test edebilirsiniz.
Sıkça Sorulan Sorular
Bu doğrulayıcı hangi akış biçimlerini destekler?
Güncel RSS 2.0 ve Atom 1.0 belgelerini doğrular. Eski RSS, RDF/RSS 1.0 ve Atom 0.3 akışlarını tanır ancak yanlış biçimin kurallarıyla denetlemez.
Akıştaki bağlantıları açar veya test eder mi?
Bağlantı içeren alanları ayrıştırır ve göreli Atom başvurularını xml:base ile çözümler. URL’leri hiçbir zaman açmaz; bu yüzden erişilebilirlik, yönlendirmeler, sertifikalar ve hedef içerik test edilmez.
Hangi kayıt alanları denetlenir?
RSS öğelerinde başlık veya açıklamayı denetler; GUID, bağlantı ve yayın tarihini okur. Atom kayıtlarında ID, başlık, güncelleme, yazar devralma, alternatif bağlantılar ve içerik ya da özet kurallarını denetler.
Doğrulama raporu içeriğin doğruluğunu garanti eder mi?
Hayır. Bu rapor yalnızca yapıyı ve yaygın biçim kurallarını denetler. İçeriğin doğru, güvenli, her okuyucu tarafından kabul edilmiş veya yayıma hazır olduğunu kanıtlamaz.