OPML 2.0 |
|
Outline Processor Markup Language
|
22/11/07 DW - Il s'agit d'un document publié, à mettre en oeuvre s'il vous plaît, le format OPML 2.0 est figĂ©.
Traduction française par Denis Sureau pour Scriptol.fr.
Spécification en anglais - OPML 1.0
Ce document décrit un format pour stocker des plans en XML 1.0 nommé Outline Processor Markup Language ou OPML (en français Langage à Balises de Processeur de Plan).
Le but de ce format est de fournir un moyen pour échanger de l'information entre des logiciels de plans et les services Internet qui puisse être consultée ou controlée par un logiciel de plan.
OPML est aussi le format de fichier pour une application de plan, ce qui explique pourquoi les fichiers OPML peuvent contenir des informations sur la taille, la position et l'état d'expansion de la fenêtre dans laquelle le plan est affiché.
OPML est également devenu populaire comme format d'échange de listes de souscription entre lecteurs de flux et agrégateurs.
L'objectif dans la
conception est d'avoir un format simple dans la transparence, l'auto-documentation,
extensible et lisible par l'homme, qui soit capable de représenter une
grande variété de données, que l'on puisse facilement parcourir
et éditer.
C'est un format ouvert,
ce qui signifie que d'autres développeurs de logiciels plans et de services
sont invités à utiliser ce format pour être compatibles
avec Radio Userland, l'Editeur OPML, ou pour toute autre fin.
Un plan est une arborescence, où chaque noeud contient un ensemble d'attributs nommés avec des valeurs qui sont des chaînes de caractères.
<opml> est un élément XML, avec un seul attribut
requis, version; un élément <head> et un élément
<body>, tous deux étant requis.
L'attribut version est une chaîne de caractère de version
de la forme x.y, où x et y sont des chaînes numériques.
La valeur de version peut être 1.0, si elle est conforme à la version précédente de cette spécification, publiée en 2000; ou 2.0 si elle est conforme à la présente spécification.
Si vous voyez un fichier avec la version 1.1, traitez là comme si c'était un fichier de version 1.0.
Un <head> contient zéro éléments optionnels ou
plus, décrits ci-dessous.
<title> est le titre du document.
<dateCreated> est une date-heure, indiquant quand le document a
été créé.
<dateModified> est une date-heure, indiquant quand le document
a été modifié pour la dernière fois.
<ownerName> est une chaîne de caractères, le propriétaire
du document.
<ownerEmail> est une chaîne de caractères, l'adresse
du propriétaire du document.
<ownerId> est l'adresse http de la page web qui contient l'information permettant à un lecteur humain de communiquer avec l'auteur du document par email ou autre moyen. Il peut être aussi utilisé pour identifier l'auteur. Deux auteurs ne peuvent pas avoir le même ownerID.
<docs> est l'adresse http de la documentation pour le format utilisé
dans le fichier OPML. C'est probablement un pointeur sur cette page pour les
gens qui pourraient tomber sur le fichier dans 25 ans de là et qui se
demanderaient ce que c'est.
<expansionState> est une liste séparée par des virgules
des numéros des lignes qui sont développées. Le numéro
de ligne dans la liste vous dit quels titres développer. L'ordre est
important. Pour chaque élément dans la liste, X, démarrant
au premier sommet, on se déplace X fois et on développe. On répète
pour chaque élément dans la liste.
<vertScrollState> est un nombre, disant quelle ligne du plan est
affichée sur la première ligne de la fenêtre. Ce nombre
est calculé en prenant en compte l'état de développement
déjà appliqué.
<windowTop> est un nombre, la position du pixel du bord supérieur
de la fenêtre.
<windowLeft> est un nombre, la position du pixel du bord gauche
de la fenêtre.
<windowBottom> est un nombre, la position du pixel du bord inférieur
de la fenêtre.
<windowRight> est un nombre, la position du pixel du bord droit
de la fenêtre.
Un <body> contient un élément <outline> ou plus.
Un <outline> est un élément XML, contenant au moins un attribut requis, texte et zéro attributs supplémentaire ou plus. Un <outline> peut contenir zéro sous-éléments <outline> ou plus. Aucun attribut ne peut être répété dans le même élement <outline>.
Chaque élément outline doit avoir au moins un attribut text, qui est ce qu'on affiche que un logiciel de plan ouvre le fichier OPML. Omettre l'attribut text rendrait l'affichage du plan inutile dans un logiciel de plan. C'est ce que l'utilisateur devrait voir -- clairement une situation inacceptable.
Un attribut text manquant dans un plan est une erreur.
Les attributs text peuvent contenir du balisage codé en HTML.
type est une chaîne de caractères, il dit comment les
autres attributs du <outline> sont interprétés.
isComment est une chaîne de caractères, soit "true" ou "false"
(vrai ou faux), indiquant si le plan est commenté ou non. Par convention
si un plan est commenté, tous les plans subordonnés sont considérés
également comme commentés. S'il n'est pas présent, la valeur
est faux.
isBreakpoint est une chaîne de caractères, soit "true" ou
"false", indiquant si un point d'arrêt est placé sur le plan. Cet
attribut est surtout nécessaire pour les plans utilisés pour éditer
des scripts. S'il n'est pas présent la valeur est faux.
created est la date-heure où le noeud du plan a été créé.
category est une chaîne de caractères
composée de chaînes délimitées par des slashs et
séparées par des virgules, dans le format définit par une
élément de catégorie RSS
2.0. Pour représenter une "étiquette", la chaîne
de catégorie ne doit pas contenir de slashs.
Exemples:
1. category="/Boston/Weather".
2. category="/Harvard/Berkman,/Politics".
Une liste de souscription peut être un liste à plusieurs niveaux de souscriptions à des flux. Chaque sous-élément du corps du document OPML est un noeud de type rss ou un élément de plan qui contient des noeuds de type rss.
De nos jours, la plupart des listes de souscription sont de simples séquences de noeuds rss, mais certains aggrégateurs permettent de catégoriser des listes de souscription qui sont structurées arbitrairement. Un valideur pourrait signaler ces fichiers, en prévenant que des processeurs peuvent ne pas comprendre ni préserver la structure.
Les attributs requis sont: type, text, xmlUrl. Pour les
éléments de plan dont le type est rss, l'attribut text
devrait initialement être l'élément de titre de plus haut
niveau du flux qui est pointé, toutefois, puisque cela est éditable
par l'utilisateur, les processeurs ne devraient pas toujours dépendre
de ce qui contient le titre du flux.
xmlUrl est l'adresse http du flux.
Les attributs optionnels sont description, htmlUrl, language, title, version. Ces attributs sont utiles pour présenter une liste de souscription à un utilisateur. Sauf pour version ils sont tous dérivés de l'information venant du flux lui-même.
description est l'élément de description de plus haut
niveau du flux.
htmlUrl est l'élément lien de plus haut niveau.
language est la valeur de l'élément language de plus haut
niveau.
title est probablement la même chose que text, il ne devrait pas
être omis, title contient l'élément titre de plus haut niveau
du flux.
version varie selon la version du flux RSS qui a été fournie. Cela a été inventé à une époque où l'on pensait qu'il pourrait y avoir des processeurs qui traiteraient seulement certaines versions, mais ce n'est plus devenu un problème important. Les valeurs que cela peut avoir sont RSS1 pour RSS 1.0; RSS pour 0.91, 0.92 or 2.0; scriptingNews pour le format scriptingNews. Il n'y a pas de valeur connus pour les flux Atom, mais ils pourraient certainement être fournis.
Un élément de plan dont les type est link doit avoir un attribut url dont la valeur est une adresse http. L'élément text est, comme de coutume, ce qui est affiche par un logiciel de plan; c'est aussi ce qui est affiché par un moteur de rendu HTML.
Quand un link est développé par un logiciel de plan, si l'adresse finit par ".opml", le plan se développe sur place. C'est ce qu'on appelle inclusion.
Si l'adresse ne se termine pas par ".opml" le lien est supposé pointer sur quelque chose que le navigateur ne peut pas afficher.
En OPML 2.0 un nouveau type est introduit. Un élément de plan dont le type est include doit avoir un attribut url qui pointe sur le fichier OPML à inclure.
La différence entre link et include est que link peut pointer sur quelque chose qui s'affiche dans un navigateur, et include pointe toujours sur un fichier OPML.
Un directory (répertoire) peut contenir une structure arbitraire d'éléments de plan de type include, link ou rss et éventuellement autres types. Une grande variété de logiciels peut être utilisée pour afficher des répertoires, incluant un logiciel de plan tel que OPML Editor.
Un fichier OPML peut contenir des éléments et attributs non décrits dans cette page, seulement si ces éléments sont définis dans un espace de nom comme spécifié par le W3C.
OPML peut aussi être étendu par l'ajout de nouvelles valeurs pour le type attribut. Quand on spécifie une telle extension, en suivant l'exemple de cette spécification, on dit quels attributs sont requis et lesquels sont optionnels, et on explique le rôle que jouent chaque attributs, leurs relations, et à quelles règles ils doivent se conformer. Il y a un mécanisme dans OPML Editor qui est basé sur cette forme d'extension.
Les développeurs devraient, tant que possible, utiliser les possibilités déjà utilisées par les autres, ou incluses dans cette spec, ou les recommandations ou les règles.
Exemples
subscriptionList.opml
states.opml
simpleScript.opml
placesLived.opml
directory.opml
category.opml
1. Toutes les dates-heure doivent être conformes à la Spécification RFC 822 de Date et Heure, à l'exception de l'année qui peut être exprimée sur deux ou quatre caractères (quatre est préférable).
2. La page dans <ownerId> peut contenir des éléments links pointant sur d'autres documents contenant des informations sur le propriétaire. Par exemple, vous pouvez avoir un élément link pointant sur un document FOAF décrivant le/la propriétaire et son réseau d'amis; ou un flux RSS avec des nouvelles du propriétaire, éventuellement même relatifs par des éléments de catégorie RSS 2.0 à des parties du document OPML. En d'autre mots, tous les mécanismes d'extension de HTML peuvent entrer en jeu.
3. La valeur des attributs type ne sont pas sensibles à la casse, ce qui fait que type="LINK" représente la même chose que type="link".
4. Les attributs de plan ne contiennent généralement pas de code de balisage HTML, à moins qu'ils ne disent explicitement d'inclure un balisage.
5. Les processeurs devraient tous les attributs qu'ils ne reconnaissent pas.
6. Il n'y a pas de limite documentée pour le nombre d'attributs qu'un élément <outline> puisse avoir, ou le nombre d'éléments <outline> qu'il puisse contenir ou la taille de tout attribut.
7. Chaque sous-élément de <head> peut apparaître une fois ou pas du tout. Aucun sous-élément de <head> ne peut être répété.
8. Si une page HTML est générée à partir d'un document OPML, vous pouvez utiliser un élément link HTML pour permettre une "auto-découverte" du OPML. La valeur d'attribut rel est "outline", le type "text/x-opml", et bien sûr l'attribut href contient l'adresse du document OPML.
9. Vous pouvez inclure des éléments de OPML 2.0 dans d'autres
formats basés sur XML. L'URI pour l'espace de nom est http://opml.org/spec2.
La déclaration d'espace de nom devrait ressembler à ceci: xmlns:opml="http://opml.org/spec2".
Toutefois, pour la compatibilité ascendante, les éléments
fondamentaux (ceux définis par cette spec) d'un document OPML 2.0 ne
sont pas dans un espace de nom. Voici un exemple
d'un fichier RSS 2.0 qui contient un plan dans un de ses éléments.
Feuille de route
La version 2.0 est la dernière version de OPML. Tous développements
futurs se feront pas le biais des espaces de nom, de nouveau types de plans,
selon la section Etendre OPML de cette spécification; ou dans des formats
dérivés de OPML portant des noms différents.
© Copyright 2000 UserLand Software, Inc. Tous Droits Réservés.
© Copyright 2006-2007 Scripting News, Inc. Tous Droits Réservés.
Ce document et ses traductions peuvent être copiées et fournies
à autrui, et les oeuvres dérivées pour le commenter ou
pour l'expliquer ou assister à sont implémentation peuvent être
rédigées, copiées, publiées et distribuées,
entièrement ou en partie, sans restriction d'aucune sorte, pourvu que
la notice de copyright ci-dessus et ces paragraphes soient inclus dans ces copies
ou oeuvres dérivées.
Ce document ne peut en aucune façon être modifié par la
suppression de la notice de copyright ou les références à
UserLand ou autres organisations. Par ailleurs, puisque ces restrictions de
copyright s'appliquent à l'écrit de la spécification de
OPML , aucune revendication de propriété n'est faite par UserLand
quand au format qu'il décrit. N'importe qui peut, pour des motifs commerciaux
ou non commerciaux, implémenter ce protocole sans droits de licence ou
royalties dus à UserLand. Les permissions limitées garanties ci-dessus
sont perpétuelles et ne seront pas révoquées par UserLand
ou ses successeurs ou représentants.
Le document et les informations ci-dessus sont fournies sur une base "tel
quel" et USERLAND DECLINE TOUTES GARANTIES, EXPRESSES OU IMPLIQUEES, INCLUANT
SANS S'Y LIMITER A TOUTE GARANTIE QUE L'UTILISATION DE L'INFORMATION CI-DESSUS
N'ENFREINDRA AUCUN DROIT OU TOUTE GARANTIE IMPLIQUEE DE COMMERCIALISATION OU
D'APPLICABILITE POUR UNE UTILISATION QUELCONQUE.
© Copyright 2000-2008, Scripting News, Inc.
OPML is a trademark of Scripting News, Inc.
Last update: Thursday, November 22, 2007 at 11:40:34 AM.
© Copyright 2008 Denis Sureau pour la traduction française. Lien: https://www.scriptol.fr/xml/OPML-2.0.html.
Licence de la traduction française: Cette traduction peut être imprimée et utilisée librement à condition que les notices de copyright, dont le copyright de traduction ci-dessus, soient conservés. Ce document ne peut être placé sur un autre site Web, on doit plutôt placer un lien sur l'URL ci-dessus - Traduction mise en ligne le 7 Mai 2008.