RDF Site Summary (RSS) 1.0

Spécification du format standard, traduction française par Denis Sureau, hébergée sur le site Web Scriptol.fr.

Résumé

RDF Site Summary (RSS) est une description de métadonnées et un format extensible universel léger de syndication. RSS est une application de XML, conforme aux spécifications RDF du W3C et extensible par l'intermédiaire des espaces de noms XML et/ou de modularisation basée sur RDF.

Auteurs

Les membres du groupe de travail de RSS-DEV :

Gabe Beged-Dov, JFinity Systems LLC
Dan Brickley, ILRT
Rael Dornfest, O'Reilly & Associates
Ian Davis, Calaba, Ltd.
Leigh Dodds, xmlhack
Jonathan Eisenzopf, Whirlwind Interactive
David Galbraith, Moreover.com
R.V. Guha, guha.com
Ken MacLeod, (Independent)
Eric Miller, Online Computer Library Center, Inc.
Aaron Swartz, The Info Network
Eric van der Vlist, Dyomedea
 

Version

La dernière version originale en anglais: https://web.resource.org/rss/1.0/spec

1.3.4 2001-05-30 corrigé petite faute dans la section 5.3.6.
1.3.3 2001-03-20 mime-type mis à jour et URI.
1.3.2 2000-12-19 (changé modèle et réduit balisage ; auteur des révisions : SBP)
1.3.1 2000-12-17 (corrigé une faute: une limite supérieure de 15 articles par document de RSS est recommandée, pas imposée [5.5].)
1.3 2000-12-09

Statut

Les commentaires devraient être adressés à la mailing-list de RSS-DEV, archivée sur http://www.egroups.com/messages/rss-dev.

Droits

© copyright 2000 par les auteurs.

On accorde par ceci la permission d'employer, copier, modifier et distribuer les spécifications de RDF Site Summary 1.0 et sa documentation d'accompagnement pour n'importe quel usage et sans droits à payer, à condition que la notification de copyright ci-dessus et ce paragraphe apparaissent dans toutes les copies. Les propriétaires du copyright n'offrent aucune garantie au sujet de la convenance des spécifications envers n'importe quel but. Elle est fournie "telle quelle" sans garantie exprimée ou implicite.

Ce copyright s'applique aux spécifications de RDF Site Summary 1.0 et la documentation d'accompagnement et ne s'étend pas au format RSS lui-même.

Table des matières

1. Introduction
2. Bases
3. Motivation
4. Objectifs de la conception
4.1 Léger
4.2 Universel
4.3 Extensible
4.4 Métadonnées
4.5 Syndication
5. Syntaxe du noyau
5.1 < ? version= " 1.0 " de xml ? >
5.2 <rdf:RDF>
5.3 <channel>
5.3.1 <title>
5.3.2 <link>
5.3.3 <description>
5.3.4 <image>
5.3.5 <items>
5.3.6 <textinput>
5.4 <image>
5.4.1 <title>
5.4.2 <url>
5.4.3 <link>
5.5 <item>
5.5.1 <title>
5.5.2 <link>
5.5.3 <description>
5.6 <textinput>
5.6.1 <title>
5.6.2 <description>
5.6.3 <name>
5.6.4 <link>
6. Modules
7. Exemples
8. Ressources
9. Remerciements

1. Introduction

RDF Site Summary (RSS) est une description de métadonnées et un format extensible universel léger de syndication. RSS est une application de XML, conformément aux spécifications RDF du W3C. RSS est extensible par l'intermédiaire d'espace de nom XML et/ou de modularité basée sur RDF.

Un sommaire RSS, au minimum, est un document décrivant un "canal" consistant en éléments dont l'URL est retrouvable. Chaque article se compose d'un titre, d'un lien, et d'une courte description. Bien que les articles soient traditionnellement des titres de nouvelles, RSS s'est vu souvent réaffecté dans sa courte existence. Pour des examples de documents RSS 1.0, voir la section Exemples ci-dessous.

2. Bases

RSS 0.9 a été présenté en 1999 par Netscape comme mécanisme de framework / contenu-collecte avec description de canal pour leur portail My Netscape Network (MNN). En fournissant un instantané dans un simple document, les producteurs de site Web ont acquis de l'audience avec la présence de leur contenu sur My Netscape.

Un sous-produit du travail de MNN était l'utilisation de RSS comme format léger de syndication basé XML, devenant rapidement une alternative viable aux systèmes ad hoc de syndication et pratique dans beaucoup de scénarios où les standards poids lourd comme ICE étaient sur-représentés. Et l'utilisation ne s'est pas arrêtée à la syndication de titre; les flux de RSS aujourd'hui véhiculent un panel de types de contenus : titres de nouvelles, forum de discussion, annonces de logiciel, et diverses sortes de données propriétaires.

RSS 0.91, faisant écho en tant que "Rich Site Summary" a suivi peu après sur les talons de 0.9. Il avait laissé tomber ses racines RDF et apporté de nouveaux éléments au format scriptingNews de Userland -- le plus notable étant un nouvel élément <description> au niveau de l'article, qui fait entrer RSS dans l'arène de syndication de contenu (poids léger).

Tandis que Netscape discontinuait ses efforts envers RSS, l'évangélisation par Dave Winer d'Userland's a mené à une vague de fond d'adoption de RSS comme cadre de syndication. L'inclusion de RSS 0.91 comme format de syndication pour son produit Manila et le service en rapport EditThisPage.com a réuni les mondes du weblog et de la syndication.

3. Motivation

Alors que RSS continue à être re-finalisé, agrégé, et classé par catégories, le besoin d'un framework augmenté de métadonnées se développe. Les éléments titre et description au niveau canal et au niveau article sont surchargés de métadonnées et HTML. Quelques éditeurs même ont inséré des éléments spécialisés non officiels (par exemple, <category>, <date>, <author>) afin d'essayer d'augmenter les fonctionnalités clairsemées de métadonnées de RSS.

Une solution proposée est l'addition de plus d'éléments simples au noyau de RSS. Cette direction, tout en étant probablement la plus simple à court terme, sacrifie l'extensibilité et exige des modifications récurrentes au format, en ajoutant ce qui est demandé et en supprimant les fonctionnalités inutilisées. Voir l'enquête sur RSS de Ian Davis (25-7-2000) pour une représentation plus concrète de l'utilisation d'éléments.

Une deuxième solution, et c'est celle qui est adoptée ici, est le compartimentation de fonctionnalités spécifiques dans des modules s'ajoutant à RSS. C'est l'une des approches utilisées dans cette spécification: la modularité est obtenue en employant des espaces de noms XML pour partitionner des vocabulaires. Ajouter et enlever une fonctionnalité de RSS est alors simplement une question d'inclusion d'un ensemble particulier de modules plus adaptés à la tâche en cours. Aucune retouche du noyau de RSS n'est plus nécessaire.

Les applications avancées de RSS exigent une représentation plus riche des relations entre éléments intra et inter-canaux (par exemple discussions en fils). RDF (Resource Description Framework) (ou cadre de description de ressource) fournit précisément un cadre pour un tel modèle riche de métadonnées. RSS 0.9 a fourni un fondement (quoique limité) de base de RDF sur lequel surajouter une nouvelle structure.

4. Objectifs de la conception

Le but dans la conception de RSS 1.0 est une description de métadonnées et un format extensible universel léger de syndication basés sur XML. La compatibilité ascendante avec RSS 0.9 est un but de facilité d'adoption par les producteurs de contenu syndiqué existants.

4.1 Léger

Une grande part du succès de RSS provient du fait que c'est simplement un document XML plutôt qu'un cadre de syndication complet tel que XMLNews ou ICE.

Ce qui suit est un exemple de document basique RSS 1.0, faisant seulement usage de l'ensemble des éléments du noyau RSS 1.0.

<?xml version="1.0"?>

<rdf:RDF 
  xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
  xmlns="http://purl.org/rss/1.0/"
>

  <channel rdf:about="http://www.example.com/xml/news.rss">
    <title>scriptol.fr</title>
    <link>https://scriptol.fr/pub</link>
    <description>
      scriptol.fr propose un ensemble d'informations pour la communauté XML.
    </description>

    <image rdf:resource="http://example.com/universal/images/xml_tiny.gif" />

    <items>
      <rdf:Seq>
        <rdf:li rdf:resource="http://example.com/pub/2000/08/09/xslt/xslt.html" />
        <rdf:li rdf:resource="http://example.com/pub/2000/08/09/rdfdb/index.html" />
      </rdf:Seq>
    </items>

  </channel>
  
  <image rdf:about="http://example.com/universal/images/xml_tiny.gif">
    <title>example.com</title>
    <link>http://www.example.com</link>
    <url>http://example.com/universal/images/xml_tiny.gif</url>
  </image>
  
  <item rdf:about="http://example.com/pub/2000/08/09/xslt/xslt.html">
    <title>Traiter les inclusion avec XSLT</title>
    <link>http://example.com/pub/2000/08/09/xslt/xslt.html</link>
    <description>
     Traiter l'inclusion de documents avec les outils XML généraux peut 
     être problématique. Cet article propose un moyen de préserver
     l'inclusion de l'information par un traitement fondé sur SAX.
    </description>
  </item>
  
  <item rdf:about="http://example.com/pub/2000/08/09/rdfdb/index.html">
    <title>Mettren en oeuvre RDF</title>
    <link>http://example.com/pub/2000/08/09/rdfdb/index.html</link>
    <description>
     Le support d'outils et API pour Resource Description Framework 
     devient peu à peu mature. Edd Dumbill considère RDFDB, 
     une des plus intéressante nouvelle boite à outils RDF.
    </description>
  </item>

</rdf:RDF>

4.2 Universel

Dans les 12 mois qui ont suivi la diffusion de la version 0.91 on a vu apparaître diverses utilisations nouvelles pour RSS. RSS est appelé à évoluer avec les besoins croissants d'applications: agrégation, fils de discussion, listings de travaux, maisons à vendre (services d'inscriptions multiples), scores sportifs, catalogues de documents, etc. Par le biais de la modularité basée sur les espaces de noms XML et RDF, RSS 1.0 établit un cadre à la fois standardisé et adapté aux applications spécialisées.

4.3 Extensible

Le point crucial de la différence entre les versions RSS 1.0 et antérieures (ou dérivées) se trouve dans son extensibilité par l'intermédiaire de la conformité avec XML espace de noms et RDF (Resource Description Framework ou cadre de description de ressource).

Les modules basés espace de nom permettent une extensibilité compartimentée. Ceci permet à RSS d'être étendu :

Les modules RSS sont couverts avec plus de détails dans la section modules ci-dessous.

4.4 Métadonnées

Les métadonnées sont des données au sujet des données. Même s'il n'y a pas de pénurie d'information circulant sur le Web, elle a peu de description sur elle-même. Le rapport d'activité de métadonnées de W3C nous dit ceci à ce sujet :

"Les utilisations possibles du Web semblent sans fin, mais à la technologie manque une part cruciale. Ce qui manque, c'est une partie du Web qui contient des informations sur l'information - étiquetage, catalogage et information descriptive structurée de telle manière que cela permette une recherche et un traitement corrects des pages Web en particulier par ordinateur."

RDF tient compte de la représentation des rapports riches de métadonnées au delà de ce qui est possible avec le RSS antérieur peu structuré. La base existante de RDF dans RSS 0.9 était la raison pour le choix de bâtir sur les versions antérieures de RSS; l'essai de réintroduire RDF dans la version 0.91 de RSS s'est avéré être une proposition du genre "remettre la pâte dentifrice dans le tube".

4.5 Syndication

La syndication est ici définie en tant que rendre des données accessibles en ligne pour les retrouver et les transmettre plus tard, l'aggrégation, ou la publication en ligne. Les détails des diverses complexités des systèmes de syndication (gratuit contre abonnement, "push", pousser contre "pull", tirer, etc.) va au delà de la portée de cette spécification.

5. Syntaxe de base

Le noyau de RSS 1.0 est basé sur RSS 0.9. RSS 1.0 se concentre sur l'extensibilité par espaces de noms XML et RDF tout en maintenant la compatibilité ascendante.

Compatibilité ascendante avec RSS 0.9
La compatibilité ascendante est réalisée selon la prétention et la condition que les perseurs basiques, les modules, et les bibliothèques de RSS ignorent qu'ils n'ont pas été conçus pour la compréhension:

  1. Attributs ; RSS 0.9 n'a aucun attribut en dehors des déclarations d'espace de nom de RDF.

  2. Les membres d'élément d'extension modulaires résident en dehors de l'espace de nom par défaut.

  3. Eléments ad-hoc qui n'interfèrent pas avec la structure globale du document RSS 0.9.

L'extensibilité par l'intermédiaire de la modularité basée espace de nom XML
RSS 1.0 est extensible par les modules basés espace de nom. Tandis que l'extensibilité ad hoc est bien sûr encouragée, on espère qu'un ensemble de base de modules agréés couvrant une fonctionnalité telle que la taxonomie, l'aggrégation, le Dublin Core, etc. émergera. Voir la section de modules ci-dessous, aussi bien que le registre des modules du noyau RSS 1.0.

Une restriction est imposée aux sous-éléments du canal, de l'image, de l'article, et des éléments supérieurs de textinput [<textinput> 5.3 <channel>, 5.4 <image>, 5.5 <item>, 5.6] c'est que ces éléments peuvent ne pas contenir de sous-éléments répétés (par exemple <item><dc:sujet/><dc:sujet/></item>). Cette proposition s'applique seulement aux sous-éléments immédiats. Pour les profondeurs plus grandes (des éléments répétés de contenu riches) cela est déjà bien défini dans la syntaxe de RDF.

RDF
RSS 1.0 bâtit sur le framework RDF émergeant dans RSS 0.9 (et perdu avec RSS 0.91) par l'intermédiaire des additions minimales suivantes :

Afin de maintenir le RDF et les vues en pur XML de RSS 1.0 autant que possible en synchronisation, RSS 1.0 reconnaît seulement l'usage de syntaxe RDF de type élément dans les éléments de noyau.

Type mime
La recommandation actuelle de type mime pour un document RSS 1.0 est application/xml. Cependant, un travail est actuellement en cours pour enregistrer un type mime pour RDF (et probablement RSS). Le type mime RDF (ou de préférence RSS) devrait être employé une fois qu'il aura été enregistré.

Extension de fichier
Une extension de fichier spécifique à un document RSS 1.0 n'est pas exigée. .rdf ou .xml est recommandé, le premier étant préféré.

Encodage
Tandis que RSS 0.9 reconnaissait seulement le codage ASCII, RSS 1.0 impose UTF-8. L'utilisation de US-ASCII (c.-à-d. en codant tous les caractères de code supérieur à 127 comme &#nnn ;) est conforme au codage UTF-8 (et ISO-8859-1, l'encodage d'en-tête HTTP par défaut).

URLs
A titre de mesure pour assurer la compatibilité ascendante avec RSS 0.9, seuls les schémas suivants sont acceptables dans des éléments lien URL : http:, https:, ftp:. mailto : est acceptable dans l'élément de lien textinput seulement.

Entités :
XML réserve certains caractères pour le balisage. Afin d'inclure ces derniers dans un document RSS, ils doivent être remplacées par leur référence d'entité :

Les deux références d'entité suivantes sont également identifiées par les parseurs de test de conformité à XML. Bien que commune, leur utilisation est facultative. Ils sont cependant exigés quand on inclut un caractère de citation dans une chaîne entre guillemets utilisant le même caractère; par exemple "" bonjour, "elle a dit que" devrait être codé en tant que "&quot ; Bonjour, &quot ; elle a dit".

Note : Puisque RSS 1.0 n'exige pas un DTD, s'assurer d'inclure des déclarations intégrées des entités utilisées à coté des cinq mentionnées ci-dessus. Les fragments suivants de DTD sont très utiles comme source d'entités compatibles HTML.

Exemple d'utilisation :

<?xml version="1.0"?>

<!DOCTYPE rdf:RDF [
<!ENTITY % HTMLlat1 PUBLIC
 "-//W3C//ENTITIES Latin 1 for XHTML//EN"
 "http://www.w3.org/TR/xhtml1/DTD/xhtml-lat1.ent">
%HTMLlat1;
]>

<rdf:RDF
 xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
 xmlns="http://purl.org/rss/1.0/"
>

...

Longueur de contenu :
Tandis que RSS 1.0 laisse le choix d'une longueur de contenu pour des éléments tels que le titre, le lien, et la description, si elle est acceptable pour l'application, les longueurs maximum de caractère de RSS 0.9's sont obsolètes en faveur d'un statut de bonne pratique suggérée, pour une stricte adhésion à la compatibilité ascendante.

Notation :
Dans les descriptions suivantes d'élément de noyau, la notation suivante est employée :

5.1 <?xml version= "1.0" ? >

En tant qu'application XML, un document RSS ne doit pas nécessairement commencer par une déclaration XML. Comme suggestion de bonne pratique et pour s'assurer de la compatibilité ascendante ultérieure avec RSS 0.9 (les spécifications de 0.9 l'ont exigé), cette spécification recommande de faire ainsi.

Syntaxe : <?xml version= "1.0"? >
Condition : Facultatif (sauf en spécifiant un encodage)

5.2 <rdf:RDF>

Le niveau englobant le plus large dans chaque document conforme à RSS 1.0 est l'élément RDF. La balise ouvrante RDF associe l'espace de nom rdf: avec le schéma de syntaxe de RDF et établit le schéma RSS 1.0 comme espace de nom par défaut pour le document.

Tandis que n'importe quel préfixe valide d'espace de nom peut être employé, il est conseillé aux créateurs de document de considérer "rdf :" comme normatif. Ceux qui souhaitent être strictement compatible avec RSS 0.9 doivent employer "rdf :".

Syntaxe : <rdf :RDF : xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns="http://purl.org/rss/1.0/" >
Condition : Requis tel que montré exactement, hormis déclarations supplémentaires éventuelles d'espaces de noms.
Modèle : (channel, image?, item+, textinput?)

5.3 <channel>

L'élément channel contient les métadonnées décrivant le canal lui-même, y compris un titre, une courte description, et le lien d'URL de la ressource décrite (la page d'accueil du fournisseur de canal, en l'occurrence). L'URL {ressource} de l'attribut rdf:about de l'élément channel doit être unique par rapport à tous les autres attributs rdf:about dans le document et c'est une URI qui identifie le canal. Le plus généralement, c'est soit l'URL de la page d'accueil décrite ou une URL où le fichier RSS peut être trouvé.

Syntaxe : <channel rdf:about= "{ressource}">
Condition : Requis.
Attributs requis : rdf :about
Modèle : (title, link, description, image ? , items, textinput ?)
Exemple :

  <channel rdf:about="http://www.example.com/xml/news.rss">
    <title>example.com</title>
    <link>http://example.com/pub</link>
    <description>
      example.com propose un ensemble d'informations pour la communauté XML.
    </description>

    <image rdf:resource="http://example.com/universal/images/xml_tiny.gif" />

    <items>
      <rdf:Seq>
        <rdf:li rdf:resource="http://example.com/pub/2000/08/09/xslt/xslt.html" />
        <rdf:li rdf:resource="http://example.com/pub/2000/08/09/rdfdb/index.html" />
      </rdf:Seq>
    </items>

    <textinput rdf:resource="http://search.example.com" />

  </channel>

5.3.1 <title>

Un titre descriptif pour le canal.

Syntaxe : <title> {channel_title} </title>
Condition : Requis
Modèle : (#PCDATA)
(Suggéré) longueur maximum : 40 (caractères)

5.3.2 <link>

L'URL auquel un rendu HTML du titre de canal liera, généralement la page d'accueil du site parent ou une page de nouvelles.

Syntaxe : <link> {channel_link} </link>
Condition : Requis
Modèle : (#PCDATA)
(Suggéré) longueur maximum : 500

5.3.3 <description>

Une courte description du contenu du canal, de la fonction, de la source, etc.

Syntaxe : <description> {channel_description} </description>
Condition : Requis
Modèle : (#PCDATA)
(Suggéré) longueur maximum : 500

5.3.4 <image>

Etablit une association RDF entre l'élément facultatif d'image [5.4] et ce canal RSS particulier. La rdf:ressource {image_uri} doit être la même que le rdf:about de l'élément image {image_uri}.

Syntaxe : <image rdf:resource= " {image_uri} "/>
Condition : Requis seulement si l'élément image est présent.
Modèle : Vide

5.3.5 <items>

Une table des matières de RDF, associant les items du document [5.5] à ce canal RSS particulier. Le rdf:ressource de chaque article {item_uri} doit être identique au rdf:about de l'élément item associé {item_uri}.

Une RDF Seq (séquence) est employée pour contenir tous les items plutôt qu'un RDF Bag pour donner l'ordre des items pour le rendu et la reconstruction.

Noter que des articles apparaissant dans le document mais pas comme membres de la séquence d'items du niveau canal sont susceptibles d'être rejetés par les parseurs RDF.

Syntaxe : <items><rdf:Seq><rdf:li resource="{item_uri}"/> ... </rdf:Seq></items>
Condition : Requis

5.3.6 <textinput>

Etablit une association RDF entre l'élément facultatif de textinput [5.6] et ce canal particulier de RSS. {Le rdf:ressource de textinput_uri} doit être identique au rdf:about de l'élément de textinput {textinput_uri}.

Syntaxe : <textinput : rdf:resource= "{textinput_uri}"/>
Condition : Requis seulement si élément texinput présent
Modèle : Vide

5.4 <image>

Une image à associer à un rendu HTML du canal. Cette image devrait être d'un format reconnu par la majorité des navigateurs Web. Tandis que les spécifications 0.91 et suivantes permettent une largeur de 1-144 et une hauteur de 1-400, la convention (et la spécification 0.9) impose 88x31.

Syntaxe : <image rdf:about= "{image_uri}">
Condition : Facultatif ; si présent, doit aussi être présent dans l'élément channel [5.3.4]
Attributs requis : rdf:about
Modèle : (title, url, link)
Exemple :

 <image rdf:about="http://example.com/universal/images/xml_tiny.gif">
    <title>example.com</title>
    <link>http://www.example.com</link>
    <url>http://example.com/universal/images/xml_tiny.gif</url>
 </image>

5.4.1 <title>

Le texte alternatif (attribut "alt") lié à la balise d'image du canal dans le rendu HTML.

Syntaxe : <title> {text_alt_image} </title>
Condition : Requis si l'élément image est présent
Modèle : (#PCDATA)
(Suggéré) longueur maximum : 40

5.4.2 <url>

L'URL de l'image à utiliser dans l'attribut "src" de la balise image du canal quand elle est rendue en HTML.

Syntaxe : <url> {url_image} </url>
Condition : Requis si l'élément image est présent
Modèle : (#PCDATA)
(Suggéré) longueur maximum : 500

5.4.3 <link>

L'URL auquel un rendu HTML de l'image de canal liera. Ceci, comme avec le lien du titre du canal, est généralement la page d'accueil ou une page de nouvelles.

Syntaxe : <link> {lien_image} </link>
Condition : Requis si l'élément image est présent
Modèle : (#PCDATA)
Membre de : image
(Suggéré) Longueur Maximum : 500

5.5 <item>

Bien que ce soit généralement un titre de nouvelle, avec l'extensibilité modulaire de RSS 1.0, cela peut être en fait utilisé pour n'importe quoi : billet de discussion, liste d'emploi, rustine de logiciel -- tout objet avec une URI. Il y a un au minimum un item par document RSS. Bien que RSS 1.0 n'impose pas de limite supérieure, par souci de compatibilité ascendante avec RSS 0.9 et 0.91, un maximum de quinze articles est recommandée.

{item_uri} doit être unique par rapport à tout autre attribut rdf:about du document RSS et c'est une URI qui identifie l'article. {item_uri} devrait être identique à la valeur du sous-élément <link> de l'élément <item>, si possible.

Syntaxe : <item rdf:about= "{item_uri}">
Condition : >= 1
Recommandation (pour la compatibilité ascendante avec 0.9x) : 1-15
Attribut(s) Requis : rdf:about
Modèle : (title, url, link?)
Exemple :

  <item rdf:about="http://example.com/pub/2000/08/09/xslt/xslt.html">
    <title>Traiter les inclusions avec XSLT</title>
    <link>http://example.com/pub/2000/08/09/xslt/xslt.html</link>
    <description>
     Traiter l'inclusion de documents avec les outils XML généraux peut 
     être problématique. Cet article propose un moyen de préserver
     l'inclusion de l'information par un traitement fondé sur SAX.
    </description>
  </item>

5.5.1 <title>

Le titre de l'article.

Syntaxe : <title> {item_title} </title>
Condition : Requis
Modèle : (#PCDATA)
(Suggéré) Longueur Maximum : 100

5.5.2 <link>

L'URL de l'article.

Syntaxe : <link> {item_link} </link>
Condition : Requis
Modèle : (#PCDATA)
(Suggéré) Longueur Maximum : 500

5.5.3 <description>

Une courte description/résumé de l'article.

Syntaxe : <description> {item_description} </description>
Condition : Facultatif
Modèle : (#PCDATA)
(Suggéré) Longueur Maximum : 500

5.6 <textinput>

L'élément textinput offre une méthode pour soumettre des données de formulaire à une URL arbitraire -- habituellement placée sur le site Web parent. Le processeur de formulaire du coté réception uniquement est supposé prendre en charge la méthode GET de HTTP.

Le champ est typiquement employé comme boite de recherche ou formulaire de souscription -- entre autres. Même s'il a quelque utilité quand les documents RSS sont rendus comme canaux (voir MNN) et accompagné de titre et de description lisibles pour l'homme, l'ambiguité dans la détermination automatique de la signification de cet élément surchargé ne le rend pas particulièrement utile autrement. RSS 1.0 suggère donc qu'il soit obsolète ou qu'on augmente cet élément avec quelque forme de trouvaille de ressource dans de futures versions tout en la maintenant présent pour la compatiblité ascendante avec RSS 0.9.

{textinput_uri} doit être unique vis à vis de n'importe quel autre attribut rdf:about dans le document RSS et être un URI qui identifie le textinput. {textinput_uri} devrait être identique à la valeur du sous-élément <link> de l'élément de <textinput>, si possible.

Syntaxe : <textinput rdf:about= " {textinput_uri} ">
Condition : Facultatif ; si présent, doit également être présent dans l'élément channel [5.3.6]
Attributs requis : rdf:about
Modèle : (title, description, name, link)
Exemple :

  <textinput rdf:about="http://search.example.com">
    <title>Rechercher sur example.com</title>
    <description>Chercher dans la collection XML de example.com</description>
    <name>s</name>
    <link>http://search.example.com</link>
  </textinput>

5.6.1 <title>

Un titre descriptif pour le champ textinput. Par exemple : "Souscrire" ou "Recherche!"

Syntaxe : <title> {textinput_title} </title>
Description : Titre de Textinput
Condition : Requis si textinput
Modèle : (#PCDATA)
(Suggéré) longueur Maximum : 40

5.6.2 <description>

Une courte description du but du champ textinput. Par exemple : "Souscrire à notre bulletin pour..." ou "Rechercher dans les archives de notre site..."

Syntaxe : <description> {textinput_description} </description>
Condition : Requis si textinput
Modèle : (#PCDATA)
(Suggéré) Longueur Maximum : 100

5.6.3 <name>

Le nom (variable) du champ de saisie du texte.

Syntaxe : <name> {textinput_varname} </name>
Condition : Requis si textinput
Modèle : (#PCDATA)
(Suggéré) Longueur Maximum : 500

<link> 5.6.4

L'URL vers lequel une soumission de textinput sera dirigée (en utilisant GET).

Syntaxe : <link> {textinput_action_url} </link>
Description : URL d'action de formulaire textinput
Condition : Requis si textinput
Modèle : (#PCDATA)
(Suggéré) Longueur Maximum : 500

6. Modules

La modularité basée sur espace de nom permet une extensibilité compartimentée de RSS 1.0.

Les seuls modules qui sont fournis "dans la boite" avec RSS 1.0 sont Dublin Core et Syndication. Consulter la documentation appropriée au module pour de plus amples informations.

Se référer aux RSS 1.0 Modules pour les directives de création de module et les modules enregistrés du noyau RSS 1.0.

Quelques exemples d'utilisation de module peuvent être trouvés dans la section exemples ci-dessous.

7. Exemples

Un document basique RSS 1.0 (style 0.9), se servant seulement de l'ensemble d'éléments du noyau RSS 1.0.

<?xml version="1.0"?>

<rdf:RDF 
  xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
  xmlns="http://purl.org/rss/1.0/"
>

  <channel rdf:about="http://www.example.com/xml/news.rss">
    <title>example.com</title>
    <link>http://example.com/pub</link>
    <description>
      example.com propose un ensemble d'informations pour la communauté XML.
    </description>

    <image rdf:resource="http://example.com/universal/images/xml_tiny.gif" />

    <items>
      <rdf:Seq>
        <rdf:li rdf:resource="http://example.com/pub/2000/08/09/xslt/xslt.html" />
        <rdf:li rdf:resource="http://example.com/pub/2000/08/09/rdfdb/index.html" />
      </rdf:Seq>
    </items>

    <textinput rdf:resource="http://search.example.com" />

  </channel>
  
  <image rdf:about="http://example.com/universal/images/xml_tiny.gif">
    <title>example.com</title>
    <link>http://www.example.com</link>
    <url>http://example.com/universal/images/xml_tiny.gif</url>
  </image>
  
  <item rdf:about="http://example.com/pub/2000/08/09/xslt/xslt.html">
    <title>Traiter les inclusions avec XSLT</title>
    <link>http://example.com/pub/2000/08/09/xslt/xslt.html</link>
    <description>
     Traiter l'inclusion de documents avec les outils XML généraux peut 
     être problématique. Cet article propose un moyen de préserver
     l'inclusion de l'information par un traitement fondé sur SAX.
    </description>
  </item>
  
  <item rdf:about="http://example.com/pub/2000/08/09/rdfdb/index.html">
    <title>Mettre ne oeuvre RDF</title>
    <link>http://example.com/pub/2000/08/09/rdfdb/index.html</link>
    <description>
     Le support d'outils et API pour Resource Description Framework 
     devient peu à peu mature. Edd Dumbill considère RDFDB, 
     une des plus intéressante nouvelle boite à outils RDF.
    </description>
  </item>

  <textinput rdf:about="http://search.example.com">
    <title>Rechercher sur example.com</title>
    <description>Chercher dans la collection XML de example.com</description>
    <name>s</name>
    <link>http://search.example.com</link>
  </textinput>

</rdf:RDF>

Un document RSS 1.0 utilisant des éléments de divers modules (accentués en différentes couleurs). Note : les modules dans cet exemple sont là pour des buts d'illustration seulement ; se référer à RSS 1.0 Modules pour obtenir de l'information sur les modules.

<?xml version="1.0" encoding="utf-8"?> 

<rdf:RDF 
  xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" 
  xmlns:dc="http://purl.org/dc/elements/1.1/"
  xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
  xmlns:co="http://purl.org/rss/1.0/modules/company/"
  xmlns:ti="http://purl.org/rss/1.0/modules/textinput/"
  xmlns="http://purl.org/rss/1.0/"
> 

  <channel rdf:about="http://meerkat.oreillynet.com/?_fl=rss1.0">
    <title>Meerkat</title>
    <link>http://meerkat.oreillynet.com</link>
    <description>Meerkat: Un service Open Wire</description>
    <dc:publisher>The O'Reilly Network</dc:publisher>
    <dc:creator>Rael Dornfest (mailto:rael@oreilly.com)</dc:creator>
    <dc:rights>Copyright &#169; 2000 O'Reilly &amp; Associates, Inc.</dc:rights>
    <dc:date>2000-01-01T12:00+00:00</dc:date>
    <sy:updatePeriod>hourly</sy:updatePeriod>
    <sy:updateFrequency>2</sy:updateFrequency>
    <sy:updateBase>2000-01-01T12:00+00:00</sy:updateBase>

    <image rdf:resource="http://meerkat.oreillynet.com/icons/meerkat-powered.jpg" />

    <items>
      <rdf:Seq>
        <rdf:li resource="http://c.moreover.com/click/here.pl?r123" />
      </rdf:Seq>
    </items>

    <textinput rdf:resource="http://meerkat.oreillynet.com" />

  </channel>

  <image rdf:about="http://meerkat.oreillynet.com/icons/meerkat-powered.jpg">
    <title>Meerkat Powered!</title>
    <url>http://meerkat.oreillynet.com/icons/meerkat-powered.jpg</url>
    <link>http://meerkat.oreillynet.com</link>
  </image>

  <item rdf:about="http://c.moreover.com/click/here.pl?r123">
    <title>XML: Une technologie de rupture</title> 
    <link>http://c.moreover.com/click/here.pl?r123</link>
    <dc:description>
      XML provoque une augmentation constante du poids des transferts
      sur l'infrastructure technique actuelle d'Internet.
    </dc:description>
    <dc:publisher>The O'Reilly Network</dc:publisher>
    <dc:creator>Simon St.Laurent (mailto:simonstl@simonstl.com)</dc:creator>
    <dc:rights>Copyright &#169; 2000 O'Reilly &amp; Associates, Inc.</dc:rights>
    <dc:subject>XML</dc:subject>
    <co:name>example.com</co:name>
    <co:market>NASDAQ</co:market>
    <co:symbol>XML</co:symbol>
  </item> 

  <textinput rdf:about="http://meerkat.oreillynet.com">
    <title>Search Meerkat</title>
    <description>Rechercher dans la base de données RSS de Meerkat...</description>
    <name>s</name>
    <link>http://meerkat.oreillynet.com/</link>
    <ti:function>search</ti:function>
    <ti:inputType>regex</ti:inputType>
  </textinput>

</rdf:RDF>

8. Ressources

9. Remerciements

Licence de la traduction française: Ce document peut être imprimé et diffusé en version imprimée sans conditions sinon que le nom du traducteur et du site qui l'héberge, Scriptol.fr, doivent être préservés. Il ne doit pas être placé sur un autre site sans autorisation du traducteur.