Валидатор RSS-лент

Вставьте XML RSS 2.0 или Atom 1.0, чтобы увидеть формат, разобранные поля записей, пропущенные требования и ссылки, которые нужно исправить.

XML RSS или Atom

Вставьте одну полную ленту с корневым элементом <rss> или Atom <feed>.

Отчёт о ленте
Ошибок: 0Предупреждений: 0Записей: 0Проверено ссылок: 0

    Вставьте ленту и проверьте её, чтобы увидеть формат, поля записей и каждую проблему с указанием строки, столбца и пути XML.

    Готов к XML RSS или Atom.

    Лента проверяется в вашем браузере. BroBroGo ничего не загружает и не сохраняет.

    Частые вопросы

    Какие форматы лент поддерживает этот валидатор?

    Он проверяет актуальные документы RSS 2.0 и Atom 1.0. Старые ленты RSS, RDF/RSS 1.0 и Atom 0.3 распознаются, но не проверяются по неподходящим правилам.

    Он открывает или проверяет ссылки из ленты?

    Он разбирает поля со ссылками и разрешает относительные ссылки Atom с помощью xml:base. URL не открываются, поэтому доступность, перенаправления, сертификаты и содержимое страниц назначения не проверяются.

    Какие поля записей проверяются?

    В элементах RSS проверяется заголовок или описание, а также читаются GUID, ссылка и дата публикации. В записях Atom проверяются ID, заголовок, дата обновления, наследование автора, альтернативные ссылки и правила содержимого или аннотации.

    Структура и требования к лентам RSS 2.0

    Формат RSS 2.0 представляет собой XML-документ, предназначенный для синдикации контента. Согласно спецификации, корневым элементом документа является <rss>, который должен содержать версию version="2.0". Внутри этого элемента должен находиться ровно один непосредственный элемент <channel>. Если валидатор обнаруживает иное количество, выводится сообщение: «RSS должен содержать ровно один непосредственный элемент <channel>; найдено: ‹count›.».

    Для каждого элемента <item> внутри канала RSS 2.0 действуют строгие правила валидации:

    • Заголовок или описание: Элемент <item> должен содержать как минимум <title> или <description>. Отсутствие обоих элементов одновременно является нарушением структуры.
    • Идентификаторы и ссылки: Валидатор считывает уникальный идентификатор GUID, ссылку <link> и дату публикации <pubDate>.
    • Проверка ссылок: Все ссылки проверяются на соответствие синтаксису URL или URI. Если адрес некорректен, генерируется ошибка: «Исправьте ‹field›: эту ссылку невозможно разобрать как URL или ссылку URI.».

    Структура и требования к лентам Atom 1.0

    Формат Atom 1.0 накладывает более жесткие требования к структуре метаданных и связям между элементами по сравнению с RSS 2.0. Корневым элементом является <feed>.

    При валидации записей <entry> в формате Atom 1.0 проверяются следующие правила:

    • Обязательные поля: Каждая запись должна содержать уникальный идентификатор <id>, заголовок <title> и дату последнего изменения <updated>. При отсутствии любого из них выводится ошибка: «Добавьте обязательное поле ‹field›.».
    • Наследование авторов: В формате Atom 1.0 действуют строгие правила наследования авторов. Если автор не указан на уровне конкретной записи, валидатор проверяет наличие элемента <author> на уровне всей ленты. При нарушении этого правила выводятся ошибки: «Добавьте <author> в ленту или непосредственный <author> в каждую запись.» или «Добавьте <author> в эту запись, её <source> или ленту.».
    • Альтернативные ссылки: Если запись Atom не содержит встроенного контента, она должна иметь альтернативную ссылку. В противном случае валидатор сообщает: «Добавьте альтернативный <link>, если запись Atom не содержит встроенного <content>.».
    • Содержимое и аннотации: Если элемент <content> использует атрибут src для указания внешнего источника, внутри него не должно быть текста или дочерних элементов. При нарушении этого правила возникает ошибка: «Если <content> использует src, удалите из него встроенный текст и дочерние элементы.». Если же содержимое Atom является внешним или не читается как текст, обязательно наличие аннотации: «Добавьте <summary>, если содержимое Atom внешнее или не читается как текст.».

    Роль xml:base и валидация ссылок в Atom

    В формате Atom 1.0 допускается использование относительных ссылок, но только при условии, что их можно корректно разрешить. Для этого применяется атрибут xml:base, который задает базовый URI для разрешения относительных путей.

    Валидатор обрабатывает эти ссылки по следующим правилам:

    1. Абсолютные идентификаторы: Поле <id> в Atom должно быть абсолютным IRI. Использование относительных путей здесь запрещено. При ошибке выводится: «Используйте абсолютный IRI для поля ‹field›; относительные идентификаторы не являются допустимыми Atom ID.».
    2. Разрешение относительных ссылок: Относительные адреса в других полях допускаются только тогда, когда в документе присутствует корректный атрибут xml:base. Если базовый адрес отсутствует или не может быть использован, валидатор выдает ошибку: «Используйте абсолютный адрес для поля ‹field›; относительными могут быть только ссылки Atom с подходящим xml:base.».
    3. Уникальность идентификаторов: Каждый ID в ленте должен быть уникальным. Повторяющиеся идентификаторы вызывают ошибку: «Этот ID повторяет значение, впервые встреченное в строке ‹first›.».

    Ограничения валидации и обработка ошибок XML

    Инструмент предназначен для проверки структуры документов RSS 2.0 и Atom 1.0. Он накладывает ряд технических ограничений на входные данные и процесс обработки:

    • Объем данных: Максимальный размер входного XML-документа составляет 500 000 символов. При превышении этого лимита валидация не запускается, и выводится сообщение: «Этот инструмент принимает до ‹max› символов за одну проверку.».
    • Объявление DOCTYPE: Наличие объявлений DOCTYPE в проверяемых лентах не допускается. При их обнаружении валидатор требует: «Удалите объявление DOCTYPE перед проверкой этой ленты.».
    • Синтаксические ошибки: Если XML-код поврежден или содержит синтаксические ошибки, процесс останавливается с сообщением: «Исправьте неверно сформированный XML и проверьте снова.».
    • Таймаут: Если обработка структуры занимает слишком много времени, система прерывает операцию и сообщает: «Проверка заняла слишком много времени. Попробуйте ленту меньшего размера.». При иных критических сбоях выводится: «Не удалось завершить проверку.».

    Важно различать структурную валидацию и проверку доступности контента. Валидатор анализирует только синтаксис, структуру тегов, обязательные поля и корректность записи ссылок. Он никогда не отправляет сетевые запросы к указанным в ленте URL-адресам. Это означает, что доступность серверов, наличие SSL-сертификатов, HTTP-перенаправления (редиректы) и фактическое содержимое целевых страниц не проверяются. Отчет подтверждает соответствие спецификации XML, но не гарантирует точность или безопасность публикуемых материалов.

    Конфиденциальность и локальная обработка

    Процесс анализа XML-кода полностью безопасен для конфиденциальных данных. Вся обработка и парсинг осуществляются непосредственно в веб-браузере пользователя. Передача содержимого ленты на внешние серверы не производится, BroBroGo ничего не загружает и не сохраняет на своих ресурсах.

    Часто задаваемые вопросы

    Какие форматы лент поддерживает этот валидатор?
    Он проверяет актуальные документы RSS 2.0 и Atom 1.0. Старые ленты RSS, RDF/RSS 1.0 и Atom 0.3 распознаются, но не проверяются по неподходящим правилам. При обнаружении неподдерживаемой версии выводится сообщение: «Этот валидатор поддерживает ‹format› ‹expected›; обнаружено: ‹actual›.».

    Он открывает или проверяет ссылки из ленты?
    Он разбирает поля со ссылками и разрешает относительные ссылки Atom с помощью xml:base. URL не открываются, поэтому доступность, перенаправления, сертификаты и содержимое страниц назначения не проверяются.

    Какие поля записей проверяются?
    В элементах RSS проверяется заголовок или описание, а также читаются GUID, ссылка и дата публикации. В записях Atom проверяются ID, заголовок, дата обновления, наследование автора, альтернативные ссылки и правила содержимого или аннотации.

    Как должны быть отформатированы даты в лентах?
    Даты в RSS и Atom должны строго соответствовать спецификациям своих форматов (RFC 822/RFC 2822 для RSS 2.0 и RFC 3339 для Atom). Если дата записана некорректно или содержит несуществующий день, валидатор выдает ошибку: «Укажите реальную дату в формате, который требует эта лента.».