It’s just data

RFC: FeedBurner Namespace Documentation

Does anybody know when I can find any documentation on the http://rssnamespace.org/​feedburner/​ext/​1.0 namespace?

While the URI appears to be owned by a domain squatter, luckily the domain is owned by the company that became feedburner.

I’d like to make feedburner a namespace known to the feed validator without marking any of the elements as undefined.


Hi Sam. I had originally registered that domain back when we were creating FeedBurner because we thought, at the time, that we might be able to host a domain where people could contribute and document rss namespace extensions in some kind of common, vendor-neutral fashion. To start things out, we decided that we’d host the FeedBurner extensions at that domain.

Alas, we never really went in that direction, and I didn’t want to gratuitously change the namespace URI for our existing extensions, so that’s why the FeedBurner namespace is the only one hosted on that domain. I’ve done a horrible job of documenting the elements that use that namespace, but basically it’s for elements that FeedBurner adds to the feed while post-processing the feed as a means to preserve the information that was originally present in the feed. For example, there’s an <origLink> element where we stuff the <link> element that’s in the original feed if the publisher has chosen to use FeedBurner’s link re-writing capability to track the clickthroughs to an item.

So, that’s what that’s all about. I’m kicking myself for not documenting the namespace, but I guess it’s not too late. Any questions or comments, please don’t hesitate to contact me. Thanks!

Eric

Posted by Eric Lunt at

The only element I remember from that namespace is origLink which Eric mentioned above.  origLink seems to be redundant with the RSS 2.0 <source> element, IMO.  There may be more to that namespace, but I’ve never run into it.

Posted by Gordon Weakliem at

Erm, that’s not domain squatting, Sam: it’s domain parking. The latter is legitimate, the former is not.

Posted by Keith Gaughan at

origLink seems to be redundant with the RSS 2.0 <source> element

A common misunderstanding.  <source> is only allowed to point to a feed, not an HTML page.  “Its value is the name of the RSS channel that the item came from, derived from its <title>. It has one required attribute, url, which links to the XMLization of the source.”  [link]

Posted by Mark at

Just so it is clear, I am not suggesting that the URI change, or that there be RFC quality documentation, or that the documentation actually appear at that URI.

Here are a few elements that would be flagged as invalid if I suddenly marked this namespace as "recognized":

A simple list of element names, permissable locations, data types, and attribute names (if any) would be helpful.  If the list turns out to be incomplete, I’m sure that both of us will hear about it quickly; but any problem that does surface will generally be addressed in hours.

Posted by Sam Ruby at

A simple list of element names, permissable locations, data types, and attribute names (if any) would be helpful.

Some of them are kind of documented: emailServiceId, origLink, origEnclosureLink, awareness.

Other I haven’t seen docs for, but it’s fairly obvious how they work: browserFriendly, feedburnerHostname, feedFlare.

<source> is only allowed to point to a feed, not an HTML page.

Agreed, but the reality is that people are pointing to HTML pages from source elements (NewsGator link blogs being one example).

Posted by James Holderness at

Speaking as a Google employee who has permission to tell you this:

That’s straight from the Feedburner source code, and I believe the list is exhaustive.  More official docs coming as soon as I can figure out what the hell some of these things are (to be published elsewhere, probably here).

Posted by Mark at

Oops, this line got lost in cut-and-paste:

In feed, feedburner:browserFriendly - child text is text (no HTML)

Feel free to hit me with your usual brand of picky questions, and I’ll try to answer them.

Posted by Mark at

A common misunderstanding.  <source> is only allowed to point to a feed, not an HTML page.

True, and I remembered that about 10 minutes after posting.  That’s what I get for dashing off a comment without fact-checking first. 

Agreed, but the reality is that people are pointing to HTML pages from source elements (NewsGator link blogs being one example).

Interesting.  Sure enough, it’s there.  I wonder why?  Considering the clipping feed seems to contain the original <link> and <guid> (if present), that seems totally out of whack.

Posted by Gordon Weakliem at

Feel free to hit me with your usual brand of picky questions, and I’ll try to answer them.

Posted by Sam Ruby at

All attributes I listed are required.  All text is plain unless you can find a counterexample.  Checking on the rest.

Posted by Mark at

initial test suite — only deployed on beta.feedvalidator.org at this time.

Feel free to try various feeds and report back any issues here.

Posted by Sam Ruby at

initial test suite — only deployed on beta.feedvalidator.org at this time.

At the moment, beta.feedvalidator.org is returning “An error occurred while trying to validate this feed” on every feed I’ve given it (including the feeds in your test suite).

Posted by James Holderness at

but only feeds that include dates.  :-)

I started to take a look at comparing dates for “future” in terms of minutes instead of hours, and looked into time zone handling, made use of python libraries for rfc822 and iso8601 that were only available on python2.4 and python2.5 respectively...

I’ve switched beta.feedvalidator.org to python2.5 temporarily while I figure out this mess.

Posted by Sam Ruby at

Thanks for digging into that, Mark. I’m actually on leave for a couple of weeks because of the birth of my son last Friday, but I’ll check around when I get a chance and confirm that it’s an exhaustive list for the existing FeedBurner codebase.

Posted by Eric Lunt at

(Again speaking as a Google employee)  A few updates on my previous comments:

I think that covers it.  Official documentation coming soon, after some internal review.  Just wanted to give you a heads up so you could update your test cases.

Posted by Mark at

Official FeedBurner Namespace Reference.

This thread is the best place to submit feedback.

Posted by Mark at

Deployed.

Posted by Sam Ruby at

feedburner:feedFlare/@href isn’t necessary to be an absolute URL, an use case here:

[link]

Actually, I think it is not worth validating a vendor extension which is used privately. The Feed Validator may just recognize the namespace and mark that as safe without any validation.

Posted by Franklin Tse at

feedburner:feedFlare/@href isn’t necessary to be an absolute URL

I’ll assume that that is feedback to the spec writers.  Defining how to use of relative URIs in the context of feed formats such as RSS 1.0 (your example) will be... interesting.  But if the specs are updated, the validator will follow.

Actually, I think it is not worth validating a vendor extension which is used privately. The Feed Validator may just recognize the namespace and mark that as safe without any validation.

The problem is that this goes beyond ‘private use’.  In fact, any feed to which the public feedvalidator.org site has access to is, by definition, a public feed.

Posted by Sam Ruby at

Um... Even though the feed goes public, no feed reader is expected or officially permitted to use them. In this case, would you explain why the FeedValidator has to validate the FeedBurner namespace?

Posted by Franklin Tse at

I agree with Franklin, although he doesn’t makes the case very well – feed readers are well within their rights to use this information, if their authors so choose.

But more to the point, no one but FeedBurner is generating those extension elements, and since the FeedBurner code is the authoritative spec, their use of their extension is by definition correct. So validating these extension elements in detail seems to confer no benefit to anyone and appears rather like… an academic exercise, to stay clear of the more prurient synonym.

Posted by Aristotle Pagaltzis at

no one but FeedBurner is generating those extension elements

Prove it.

Posted by Sam Ruby at

(Speaking as a Google employee)

Feedback acknowledged.  The feedFlare @href and @src attributes may be relative URIs.  Official docs will be updated after internal review. 

Google takes no position on how to resolve relative URIs within our extension elements.  Our docs will simply state: “Consult the specification for the surrounding feed format to determine how to resolve relative URIs.”  The feed validator may issue whatever warnings you deem appropriate if a relative URI is present within a feed whose specification does not give sufficient guidance for resolving relative URIs.

Posted by Mark at

<blockquote>no one but FeedBurner is generating those extension elements

Prove it.

</blockquote>

That is extremely difficult to be proven... However, I do wonder if anybody will use the elements under the FeedBurner namespace without burning his/her feeds with FeedBurner.

On the other hand, the FeedValidator isn’t validating the XHTML and SVG namespaces. It accepts all elements no matter if they are known, no undefined element warning is issued.

Posted by Franklin Tse at

the FeedValidator isn’t validating the XHTML and SVG namespaces

Fixed.  Thanks!

Jacques: can you do me a favor and review this page for completeness?

Posted by Sam Ruby at

Jacques: can you do me a favor and review this page for completeness?

A quick look, comparing with HTML5lib, yields the following:

    — MathML elements: annotation, annotation-xml, semantics

    —SVG Element: image

    — HTML Element: wbr
    — URI Schemes: tel, wtai

The Wiki also supports some Data-URIs (which I’m not too keen about). And it doesn’t suport restrictions on SVG attributes which are URIs (see the SVG_ATTR_VAL_ALLOWS_REF and SVG_ALLOW_LOCAL_HREF arrays in HTML5lib).

(P.S.: Note the stunningly unsemantic lengths I went to, to produce a nested list.)

Posted by Jacques Distler at

I probably should have mentioned

Posted by Sam Ruby at

Ian Hickson: <wbr> isn’t valid HTML (and never has been)

Posted by Sam Ruby at

I tried

<wbr> isn’t valid HTML (and never has been)

Ah. Well, that explains why I’ve never heard of it. That leaves a couple of URI schemes I’ve never heard of either.

Posted by Jacques Distler at

in entry, feedburner:origLink - child text is URI

Is it meant to be origLink or origlink?

Posted by Sam Ruby at

This thread is the best place to submit feedback

emailServiceId no longer is an integer?  example

Posted by Sam Ruby at

Updated emailServiceId documentation.

Posted by Mark at

Fix deployed.

Posted by Sam Ruby at

This thread is the best place to submit feedback

channel contains more than one feedburner:emailServiceId

Did feedburner change again?

Posted by Sam Ruby at

Add your comment