FEED Protocol · Extensions syntax


This page is only a part of the feed: URI syntax.

Extensions syntax

<extension> =   <command> /

<extension> =   <command> / <parameter> /

<extension> =   <command> / [ <parameter> / [ <parameter> / ]... ]

<command> =   addfeed | subscribe | unsubscribe | preview | validate | visitweb | sendmail | blogroll | ...

<parameter> =   parametername = parametervalue

Usage of Commands

The use of commands is optional, they can be stripped from the URI just by looking for the next slash in the string. If no command is defined at all, the addfeed command is the default action.

feed://addfeed/https://slashdot.org/index.rss

equals:

feed://https://slashdot.org/index.rss

Currently defined synonim commands for subscription are addfeed   subscribe   add   addrss   addatom   addchannel. The addfeed command is recommended, the rest are synonims.

Using commands, your feed reader software does not need to ask again if you want to subscribe, the subscription is performed automatically.

Currently defined command for validation is validate. This command performs a call to the user's default feed validation service (for instance, open the feedvalidator.org website).

Currently defined command for preview without subscription is preview. This command performs a call to the user's default feed preview service (for instance, open a web aggregator or a window of an installed feed explorer). This is similar to what happens when you navigate http files; when you click a link, you visit it but not add it to your bookmark.

Commands can be nested, and must only be formed of English letters and numbers (no equal signs, no dots, no slashes, no spaces, no : two dots sign).

Commands and parameters can be easily detected (and skipped) by software programmers, as they have no equal sign, no : sign, and no dots.

Usage of Parameters

The use of parameters is optional, they permit customization of command actions.

Parameter syntax: name + = + value + /

Parameters meaning can be ignored, just by skipping to the next slash in the string.

Parameters can be differentiated from commands as they have an equal sign.

Parameters can be differentiated from <url> as they have an equal sign and it is located before the first slash, if any.

Currently the addfeed command supports the following parameters: title and image   Examples:

feed://addfeed/title=SlashDot/https://slashdot.org/index.rss

feed://addfeed/title=Slash%20Dot/image=http%3a%2f%2fimages.slashdot.org%2ftitle.gif/https://slashdot.org/index.rss

Value part of the parameters must be escaped: Slashes / must be replaced with %2F     Spaces must be replaced with %20   Two-dots : must be replaced with %3A   Ampersand & must be replaced with %26   Percent % must be replaced with %25   Any character can be replaced with % followed by its hexadecimal code (iso-8859-1).

Programmers: how to process easily feed: URI

Remove the feed:// part from the URI, and start analysing from left to right, use the slashes as separators of "chunks".

1) If a chunk has dots ( : or . ) then, it is the begining of the <feedurl> part of the feed URI, no more commands or parameters are present.

2) If the chunk has an equal sign, it is a parameter of the last command found (or a parameter of addfeed command if none present).

3) If the chunk was not (1) or (2), then it is a command.

Commands are executed each time all its parameters have been read, that is, a (1) or (3) chunk is found. That is, you must read ahead all its parameters before executing a command. Example:

feed:// command1 param1 (process now command #1) command2 param21 param22 (now #2) command3 (now #3) command4 param4 (now #4) <feedurl>

Moreover, read ahead all commands, as they will probably need the feedurl URI value to be processed.


(c) Copyright 2002-2021 BRiNDYS Software. All rights reserved. BRiNDYS, WinRSS and GEDEX are marks or registered trademarks property of BRiNDYS Software.