ساختار و الزامات فیدهای RSS 2.0
فیدهای RSS 2.0 از ساختار مشخصی بر پایه XML پیروی میکنند که برای توزیع محتوا طراحی شده است. در این قالب، عنصر ریشه باید شامل یک عنصر مستقیم <channel> باشد. ابزار اعتبارسنجی فید RSS بررسی میکند که فید شما دقیقاً دارای یک عنصر کانال مستقیم باشد؛ در غیر این صورت خطای «RSS باید دقیقاً یک <channel> مستقیم داشته باشد؛ ‹count› مورد پیدا شد.» صادر میشود.
هر کانال در فید RSS 2.0 شامل مجموعهای از عناصر است که اطلاعات کلی فید و محتوای هر بخش (item) را توصیف میکنند. برای هر <item> در فید RSS، قواعد ساختاری مشخصی وجود دارد. ابزار اعتبارسنجی فیلدهای کلیدی زیر را در هر آیتم بررسی میکند:
- عنوان یا توضیحات: وجود حداقل یکی از فیلدهای
<title>یا<description>برای هر آیتم الزامی است. - شناسه یکتا (GUID): این فیلد برای شناسایی منحصربهفرد هر آیتم در فیدخوانها استفاده میشود.
- پیوند (link): نشانی اینترنتی مربوط به محتوای آیتم.
- تاریخ انتشار (publication date): زمان انتشار آیتم که باید از قالبهای استاندارد تاریخ پیروی کند.
ساختار و الزامات فیدهای Atom 1.0
قالب Atom 1.0 یک استاندارد پیشرفتهتر و سختگیرانهتر نسبت به RSS 2.0 برای توزیع محتوا است. عنصر ریشه در این قالب <feed> است. در فیدهای Atom، هر ورودی به عنوان یک <entry> شناخته میشود و قوانین مشخصی برای اعتبارسنجی آن وجود دارد:
- شناسه (ID): هر ورودی باید دارای یک شناسه منحصربهفرد باشد. این شناسه باید یک IRI مطلق باشد؛ در غیر این صورت خطای «برای
‹field›از یک IRI مطلق استفاده کنید؛ شناسههای نسبی، ID معتبر Atom نیستند.» نمایش داده میشود. همچنین تکراری بودن شناسهها بررسی شده و در صورت تکرار، خطای «این ID مقدار نخستین بار دیدهشده در خط‹first›را تکرار میکند.» صادر میگردد. - عنوان (title) و تاریخ بهروزرسانی (updated): وجود این فیلدها برای هر ورودی الزامی است.
- نویسنده (author): قوانین وراثت نویسنده در Atom بررسی میشود. اگر فید فاقد نویسنده در سطح ریشه باشد، باید برای تکتک ورودیها نویسنده تعریف شده باشد. نقص در این بخش منجر به خطای «یک <author> به فید اضافه کنید، یا یک <author> مستقیم به هر ورودی بیفزایید.» یا «یک <author> به این ورودی، <source> آن یا فید اضافه کنید.» میشود.
- پیوندهای جایگزین (alternate links): بر اساس قوانین Atom، «وقتی ورودی Atom، <content> درونخطی ندارد، یک <link> جایگزین اضافه کنید.».
- محتوا (content) و خلاصه (summary): اگر عنصر محتوا از ویژگی
srcبرای ارجاع به منبع بیرونی استفاده کند، نباید دارای متن درونخطی یا عناصر فرزند باشد و خطای «وقتی <content> از src استفاده میکند، متن درونخطی و عناصر فرزند آن را حذف کنید.» صادر میشود. همچنین «وقتی محتوای Atom بیرونی است یا بهصورت متن خوانده نمیشود، <summary> اضافه کنید.».
نقش xml:base در ارجاعهای نسبی Atom
یکی از ویژگیهای مهم در فیدهای Atom 1.0، توانایی استفاده از نشانیهای نسبی به جای نشانیهای مطلق است. این کار از طریق ویژگی xml:base انجام میشود. ابزار اعتبارسنجی فید، ارجاعهای نسبی را با استفاده از مقدار تعیینشده در xml:base حل و بازسازی میکند.
اگر فید شما حاوی پیوندهای نسبی باشد اما عنصر xml:base معتبر و قابلاستفادهای برای حل این نشانیها تعریف نشده باشد، ابزار خطای «برای ‹field› از یک نشانی مطلق استفاده کنید؛ فقط ارجاعهای Atom دارای xml:base قابلاستفاده میتوانند نسبی باشند.» را نمایش میدهد. این ویژگی به توسعهدهندگان کمک میکند تا از صحت ارجاعهای درون فید بدون نیاز به تکرار نشانیهای طولانی دامنه اطمینان حاصل کنند.
تفاوت اعتبارسنجی ساختاری و اعتبارسنجی محتوا
درک تفاوت میان بررسی ساختار XML و بررسی محتوای واقعی فید اهمیت بالایی دارد. این ابزار یک اعتبارسنج ساختاری و قالبی است. این ابزار فیلدهای حاوی پیوند را تجزیه میکند و ساختار آنها را میسنجد، اما هرگز URLها را باز نمیکند. بنابراین مواردی مانند:
- دسترسپذیری سرور میزبان پیوند
- تغییر مسیرها (Redirects)
- صحت گواهیهای امنیتی (SSL/TLS)
- محتوای موجود در مقصد پیوند
توسط این ابزار آزمایش نمیشوند. همانطور که در بخش راهنمای ابزار اشاره شده است: «این گزارش فقط ساختار و قواعد رایج قالب را بررسی میکند. گزارش ثابت نمیکند که محتوا دقیق، امن، پذیرفتهشده در همهٔ فیدخوانها یا آمادهٔ انتشار است.».
خطاهای رایج در فیدهای RSS و Atom
در هنگام تولید یا انتقال فیدهای XML، خطاهای متعددی ممکن است رخ دهد که مانع از خوانده شدن فید توسط فیدخوانها میشود. برخی از رایجترین این خطاها عبارتند از:
| نوع خطا | پیام خطا در ابزار | علت رخ دادن |
|---|---|---|
| وجود اعلان DOCTYPE | پیش از بررسی این فید، اعلان DOCTYPE را حذف کنید. | وجود تعاریف نوع سند که در فیدهای مدرن مجاز نیستند. |
| نقص در ساختار XML | XML نادرست را اصلاح و دوباره اعتبارسنجی کنید. | باز ماندن تگها، عدم رعایت ترتیب عناصر یا نویسههای غیرمجاز. |
| قالب نامعتبر | از سند RSS 2.0 با <rss> یا سند Atom 1.0 با <feed> استفاده کنید. | عدم تطابق عنصر ریشه با استانداردهای پشتیبانیشده. |
| پیوند نامعتبر | ‹field› را اصلاح کنید؛ این پیوند بهعنوان ارجاع URL یا URI تجزیه نمیشود. |
ساختار نادرست نشانی اینترنتی در فیلدهای پیوند. |
| تاریخ نامعتبر | از یک تاریخ واقعی با قالب مورد نیاز این فید استفاده کنید. | عدم رعایت قالب RFC 822 در RSS یا RFC 3339 در Atom. |
حریم خصوصی و نحوه پردازش اطلاعات
امنیت اطلاعات و حریم خصوصی کاربران در این ابزار به طور کامل رعایت میشود. پردازش فید و اعتبارسنجی سند XML به طور کامل در مرورگر وب شما انجام میشود. هیچ دادهای به سرورهای بیرونی ارسال نمیشود و BroBroGo چیزی را آپلود یا ذخیره نمیکند. این ویژگی به شما امکان میدهد فیدهای در حال توسعه خود را با اطمینان خاطر بررسی کنید.
پرسشهای متداول
این اعتبارسنج از چه قالبهای فیدی پشتیبانی میکند؟
اسناد کنونی RSS 2.0 و Atom 1.0 را اعتبارسنجی میکند. فیدهای قدیمیتر RSS، RDF/RSS 1.0 و Atom 0.3 شناسایی میشوند، اما با قواعد نامربوط بررسی نمیشوند.
آیا پیوندهای فید را باز یا آزمایش میکند؟
فیلدهای حاوی پیوند را تجزیه میکند و ارجاعهای نسبی Atom را با xml:base حل میکند. هیچ URL باز نمیشود؛ بنابراین دسترسپذیری، تغییر مسیر، گواهی و محتوای مقصد آزمایش نمیشود.
کدام فیلدهای ورودی بررسی میشوند؟
برای RSS item وجود title یا description را بررسی و GUID، پیوند و تاریخ انتشار را میخواند. برای Atom entry، ID، title، updated، وراثت author، پیوندهای جایگزین و قواعد content یا summary را بررسی میکند.
محدودیت حجم ورودی برای بررسی فید چقدر است؟
این ابزار در هر بررسی حداکثر 500,000 نویسه میپذیرد. در صورت فراتر رفتن از این مقدار، پیام «این ابزار در هر بررسی حداکثر ‹max› نویسه میپذیرد.» نمایش داده میشود. همچنین اگر فرآیند پردازش به دلیل پیچیدگی سند طولانی شود، پیام «اعتبارسنجی بیش از حد طول کشید. فید کوچکتری را امتحان کنید.» ظاهر خواهد شد.