2009-07-16 9 views
8

J'ai regardé autour, et il ne semble pas y avoir aucune norme de ce que les balises HTML sont 'autorisés' dans RSS - vous pouvez mettre quelque chose. Mais les lecteurs que j'ai testés permettent seulement certaines choses.Quels sont les tags HTML valides dans les flux RSS?

Dans mes tests initiaux, il semble que les simples balises de style comme <b> vont bien. Il en va de même pour les styles en ligne tels que < span style = "color: red" > <img> semble fonctionner. Mais les <iframe> sont ignorés, tout comme les blocs < >. Les attributs Onclick ne fonctionnent pas. <style> les blocs fonctionnent dans certains lecteurs mais pas dans d'autres

Existe-t-il un site général de consensus, standard ou de compatibilité répertoriant ce qui est ou n'est pas pris en charge dans quels lecteurs? Je veux savoir quel est le sous-ensemble de balises HTMl que je peux utiliser dans les flux.

+0

Vous venez de mettre les balises telles quelles ou y a-t-il un balisage spécial pour elles? Parce que je pensais que les balises HTML seraient mal interprétées par les lecteurs XML en tant qu'éléments séparés. –

Répondre

1

Je ne pense pas qu'il existe une norme ici - tout dépend de ce que le lecteur RSS est lui-même prêt à mettre en œuvre. Donc, je suppose que, par exemple, Google Reader rincerait les balises et les attributs HTML et CSS dangereux, puis autoriserait tout autre type de balise non mise en liste noire que vous auriez osé inclure.

Alors, oui. Il n'y a pas de spécification, et donc probablement pas de norme - juste les mêmes techniques de prévention XSS générales que nous voyons sur l'ensemble des interwebs. Votre seule option est d'essayer différents tags que vous pensez être controversés (bien que je m'attendrais à ce que presque tout le style CSS soit autorisé) dans différents lecteurs RSS pour voir ce qui se passe, ou simplement pour que votre contenu soit prêt à revenir à un format plus basique si le HTML/CSS désiré n'est pas autorisé.

Qu'essayez-vous de faire en particulier? Vous pouvez peut-être obtenir de meilleures réponses si vous pouvez préciser - ou est-ce juste une question de curiosité?

+0

Principalement de la curiosité. J'aimerais que les utilisateurs fassent des choses comme voter des articles de haut en bas en utilisant javascript et ajax depuis un lecteur RSS, mais je suppose que le mieux que je puisse faire est de créer des liens externes avec des jetons uniques. –

+1

Mhm. Si mon lecteur RSS permettait Javascript, eh bien, je serais juste en colère. C'est difficile d'être à la fois développeur et utilisateur xD – Matchu

0

Je ne pense pas qu'il y ait une réponse "officielle". Cela peut dépendre du niveau de compatibilité que vous visez. Je garderais cela aux balises de formatage de texte de base (STRONG, EM, etc) et IMG et A et c'est à peu près tout.

1

Je pense que la 'bonne' chose à faire est d'inclure un espace de noms xhtml (xmlns: html = "http://www.w3.org/1999/xhtml") ou de mettre les données HTML dans une section CDATA.

0

En fait, aucun attribut HTML n'est autorisé dans les flux RSS. Seuls les tags XML répertoriés dans la spécification publiée ci-dessus sont autorisés. En outre, comme il s'agit de XML, seuls certains codages Unicode sont autorisés (par exemple, UTF-8). Que de nombreux fournisseurs de RSS ne respectent pas la norme est une autre affaire.

11
<title>How to parse full html content in xml feeds</title> 
<description><![CDATA[<html><body>Any code html is valid here like &npsb; 
and what ever you want to transfer</body></html>]]></description> 
<guid>http://example.com/your-news-id</guid> 
Questions connexes