Какие HTML-теги допустимы в RSS-каналах?

Я огляделся, и не похоже, что существует какой-либо стандарт того, какие HTML-теги «разрешены» в RSS - вы могли бы вставить что угодно. Но читатели, которые я тестировал, разрешают только определенные вещи.

В моем первоначальном тестировании казалось, что простые теги стиля, такие как ‹b›, подходят. Так что встроенные стили, такие как ‹span style =" color: red "› ‹img›, похоже, работают. Но ‹iframe› игнорируются, как и блоки ‹script›. Атрибуты Onclick не работают. Блоки ‹style› работают у одних читателей, но не у других

Существует ли общий консенсус, стандартные или совместимые сайты, на которых перечислено, что поддерживается, а какие читатели не поддерживают? Я хочу знать, какое подмножество тегов HTMl я могу использовать в фидах.


rss
person Tom Ritter    schedule 16.07.2009    source источник
comment
Вы просто вставляете теги такими, какие они есть, или для них есть какая-то специальная разметка? Потому что я решил, что HTML-теги будут неверно интерпретированы читателями XML как отдельные элементы.   -  person Kelvin Shadewing    schedule 04.03.2016


Ответы (4)


Я не думаю, что здесь есть стандарт - все дело в том, что сам RSS-ридер готов реализовать. Поэтому я предполагаю, что, например, Google Reader удалит теги и тому подобное, а также опасные атрибуты HTML и CSS, а затем разрешит любой другой вид тегов, не занесенных в черный список, который вы осмелились бы включить.

Так что да. Нет спецификации и, следовательно, скорее всего, нет стандарта - это те же самые общие методы предотвращения XSS, которые мы видим во всех сетях. Ваш единственный вариант - опробовать различные теги, которые, по вашему мнению, могут быть спорными (хотя на самом деле я ожидал бы почти все, кроме стилизации CSS) в разных читателях RSS, чтобы увидеть, что происходит, или просто чтобы ваш контент был готов к откату. в более простой формат, если желаемый HTML / CSS не разрешен.

Что конкретно вы пытаетесь сделать? Вы можете получить более точные ответы, если уточните - или это просто вопрос любопытства?

person Matchu    schedule 16.07.2009
comment
В основном любопытство. Я хотел бы позволить пользователям делать такие вещи, как голосовать за статьи с помощью javascript и ajax из RSS-ридера, но я думаю, лучшее, что я смогу сделать, - это внешние ссылки с уникальными токенами. - person Tom Ritter; 17.07.2009
comment
Ммм. Если бы мой RSS-ридер позволял использовать Javascript, я бы просто разозлился. Трудно быть одновременно разработчиком и пользователем xD - person Matchu; 17.07.2009

Я думаю, что «правильным» будет либо включить пространство имен xhtml (xmlns: html = "http://www.w3.org/1999/xhtml"), либо поместить данные HTML в раздел CDATA.

person Stijn Sanders    schedule 16.07.2009

Не думаю, что есть «официальный» ответ. Это может зависеть от того, к какому уровню совместимости вы стремитесь.

Я бы сохранил это в основных тегах форматирования текста (STRONG, EM и т. Д.), IMG и A, и на этом все.

person Eli    schedule 16.07.2009

Фактически, в RSS-каналах нельзя использовать атрибуты HTML. Разрешены только теги XML, перечисленные в указанной выше спецификации. Кроме того, поскольку это XML, разрешены только некоторые кодировки Unicode (например, UTF-8). Другое дело, что многие поставщики RSS не соблюдают стандарт.

person comodoro    schedule 10.06.2012