RSS болон Atom сувгийн бүтцийн шалгалт
Вэбсайт ажиллуулагчид, контент нийтлэгчид, хөгжүүлэгчид болон RSS/Atom сувгийг шилжүүлэн суулгаж буй багуудад сувгийн XML бүтцийг зөв бүрдүүлэх шаардлага тулгардаг. RSS сувгийн шалгагч нь RSS 2.0 болон Atom 1.0 форматын XML контентыг задлан шинжилж, түүний бүтэц, шаардлагатай талбарууд болон холбоосын заалтуудад гарсан аливаа асуудлыг илрүүлэн тайлагнадаг хэрэгсэл юм.
Энэхүү хэрэгсэл нь сувгийн XML тэмдэглэгээг шалгахдаа алдаа болон анхааруулгын дэлгэрэнгүй тайланг гаргах бөгөөд асуудал тус бүрийн мөр, баганын дугаар, XML замыг тодорхой зааж өгдөг. Ингэснээр алдаатай тэмдэглэгээ, дутуу талбар, задлах боломжгүй холбоосыг хурдан хугацаанд олж засах боломжтой болно.
Таны оруулсан сувгийн өгөгдлийг шалгах ажиллагаа бүрэн таны хөтөч дээр хийгдэнэ. BroBroGo таны сувгийн мэдээллийг сервер рүү байршуулахгүй бөгөөд ямар нэгэн байдлаар хадгалж үлдэхгүй.
Дэмжих формат ба оролтын хязгаарлалт
Шалгагч нь одоогийн идэвхтэй ашиглагдаж буй дараах форматын баримтуудыг шалгадаг:
- RSS 2.0
- Atom 1.0
Хуучин хувилбар болох RSS, RDF/RSS 1.0 болон Atom 0.3 форматын сувгуудыг систем таньж мэдэх боловч тэдгээрийг буруу дүрмээр шалгахгүй. Хэрэв дэмжигдээгүй формат эсвэл хувилбар оруулбал систем дараах алдааг заана:
- "RSS 2.0 <rss> баримт эсвэл Atom 1.0 <feed> баримт ашиглана уу."
- "Энэ шалгагч
‹format›‹expected›-г дэмждэг;‹actual›илэрлээ."
Оролтын дээд хязгаар нь нэг шалгалтад 500,000 тэмдэгт байна. Хэрэв энэ хязгаарыг хэтрүүлбэл "Энэ хэрэгсэл нэг шалгалтад ‹max› хүртэлх тэмдэгт хүлээн авна." гэсэн алдаа гарна. Хэрэв сувгийн хэмжээ хэт том байснаас шалгалт удааширвал "Шалгалт хэт удав. Жижиг суваг ашиглаж үзнэ үү." гэсэн мэдэгдэл гарах бөгөөд шалгалтыг гүйцэтгэж чадаагүй үед "Шалгалтыг дуусгаж чадсангүй." гэж заадаг.
Мөн XML баримтын эхэнд DOCTYPE тунхаглал байвал "Энэ сувгийг шалгахаас өмнө DOCTYPE мэдэгдлийг устгана уу." гэсэн алдааг буцаана. XML-ийн бүтэц эвдэрсэн тохиолдолд "Алдаатай XML-ийг засаад дахин шалгана уу." гэсэн заавар гарна.
RSS 2.0 сувгийн бүтцийн шаардлага
RSS 2.0 сувгийг зөв форматлахын тулд дараах үндсэн дүрмүүдийг хангасан байх шаардлагатай:
- Сувгийн тоо: RSS суваг нь яг нэг шууд сувгийн элемент агуулсан байх ёстой. Хэрэв энэ тоо зөрчигдвөл "RSS яг нэг шууд <channel> агуулсан байх ёстой; ‹count› олдлоо." гэсэн алдааг заана.
- Шаардлагатай талбарууд: Сувгийн элементүүдэд шаардлагатай талбар дутуу бол "Шаардлагатай
‹field›-г нэмнэ үү." гэж заах бөгөөд давхардсан талбар байвал "Зөвхөн нэг‹field›үлдээнэ үү;‹count›олдлоо." гэсэн алдаа гарна. - Бичлэгийн (Item) дүрэм: RSS зүйл бүрт гарчиг эсвэл тайлбарын аль нэг нь заавал байх ёстой (title-or-description дүрэм). Шалгагч нь бичлэг бүрийн GUID, холбоос (link) болон нийтэлсэн огноог (publication date) уншиж шалгадаг.
- Огнооны формат: Огноог сувгийн шаардсан стандартын дагуу зөв бичсэн байх ёстой бөгөөд буруу форматтай бол "Энэ сувгийн шаардсан форматаар бодит огноо ашиглана уу." гэсэн алдаа гарна.
Atom 1.0 сувгийн бүтцийн шаардлага
Atom 1.0 суваг нь RSS-ээс өөр бүтэц, шаардлагатай талбаруудыг шаарддаг:
- ID болон Холбоосууд: Atom сувгийн ID нь абсолют IRI байх ёстой. Хэрэв харьцангуй танигч ашигласан байвал "
‹field›-д абсолют IRI ашиглана уу; харьцангуй танигч нь хүчинтэй Atom ID биш." гэсэн алдаа гарна. Хэрэв ID давхардвал "Энэ ID нь‹first›-р мөрөнд анх гарсан утгыг давтаж байна." гэж заана. - Зохиогчийн удамшил (Author Inheritance): Сувагт зохиогчийн мэдээлэл дутуу бол "Сувагт <author> нэмэх эсвэл бичлэг бүрт шууд <author> нэмнэ үү." эсвэл "Энэ бичлэг, түүний <source> эсвэл сувагт <author> нэмнэ үү." гэсэн алдааг мэдээлнэ.
- Агуулга ба Хураангуй (Content or Summary): Atom бичлэгт доторх агуулга байхгүй бол өөр холбоос нэмэх шаардлагатай бөгөөд дутуу бол "Atom бичлэгт доторх <content> байхгүй бол өөр <link> нэмнэ үү." гэж заана. Хэрэв агуулга нь гаднын эх сурвалжтай (src ашигласан) бол доторх текст болон дэд элементүүдийг устгах ёстой бөгөөд зөрчвөл "<content> нь src ашиглах үед доторх текст болон дэд элементүүдийг устгана уу." гэсэн алдаа гарна. Мөн агуулга нь гаднын эсвэл унших боломжгүй бол "Atom агуулга гаднын эсвэл текст хэлбэрээр унших боломжгүй бол <summary> нэмнэ үү." гэж шаардана.
Холбоос болон xml:base шийдвэрлэлт
Сувгийн доторх холбоосуудыг шалгахдаа систем дараах дүрмийг баримталдаг:
- Холбоосын задлал: Холбоос агуулсан талбаруудыг задлан унших бөгөөд хэрэв URL эсвэл URI заалт болгон задлах боломжгүй бол "
‹field›-г засна уу; энэ холбоосыг URL эсвэл URI заалт болгон задлах боломжгүй." гэсэн алдаа гарна. - Харьцангуй заалтууд: Atom сувгийн хувьд
xml:baseшинж чанарыг ашиглан харьцангуй заалтуудыг шийдвэрлэдэг. Хэрэв ашиглах боломжтойxml:baseбайхгүй бөгөөд харьцангуй хаяг ашигласан бол "‹field›-д абсолют хаяг ашиглана уу; зөвхөн ашиглах боломжтой xml:base бүхий Atom заалт харьцангуй байж болно." гэж заана. - Холбоосыг нээж туршихгүй байх: Шалгагч нь сувагт заасан URL холбоосуудыг интернэтээр нээж үздэггүй. Иймд холбоосуудын серверийн хүртээмж, дахин чиглүүлэлт (redirects), SSL сертификатын хүчинтэй байдал болон очих хуудасны агуулгыг шалгахгүй.
Энэхүү тайлан нь зөвхөн бүтэц болон нийтлэг форматын дүрмийг шалгадаг тул сувгийн агуулга үнэн зөв, аюулгүй, эсвэл нийтлэхэд бэлэн эсэхийг батлахгүй гэдгийг анхаарна уу.
Түгээмэл асуулт, хариулт
Энэ шалгагч ямар сувгийн форматыг дэмждэг вэ? Одоогийн RSS 2.0 болон Atom 1.0 баримтуудыг шалгана. Хуучин RSS, RDF/RSS 1.0 болон Atom 0.3 сувгийг таних боловч буруу дүрмээр шалгахгүй.
Сувгийн холбоосыг нээж эсвэл туршдаг уу? Холбоос агуулсан талбаруудыг задлан уншиж, xml:base ашиглан Atom-ын харьцангуй заалтыг шийднэ. URL-уудыг нээдэггүй тул хүртээмж, дахин чиглүүлэлт, сертификат болон зорьсон агуулгыг шалгахгүй.
Бичлэгийн ямар талбаруудыг шалгадаг вэ? RSS зүйлд гарчиг эсвэл тайлбарыг шалгаж, GUID, холбоос болон нийтэлсэн огноог уншина. Atom бичлэгт ID, гарчиг, шинэчилсэн огноо, зохиогчийн удамшил, өөр холбоос болон агуулга эсвэл хураангуйн дүрмийг шалгана.
Шалгагчийн үр дүнгийн тайланд хязгаарлалт байдаг уу?
Тийм, тайланд дээд тал нь 200 хүртэлх асуудал (алдаа болон анхааруулга) болон 100 хүртэлх задлан уншсан бичлэгийг харуулна. Хэрэв үүнээс олон байвал тайланг богиносгож, "Нийт ‹total› асуудлын эхний ‹shown›-г харуулж байна." эсвэл "Нийт ‹total› бичлэгийн эхний ‹shown›-г харуулж байна." гэсэн тэмдэглэгээг харуулдаг.