> Here's a guy who is breaking because of the namespace declaration on the rss
> element in Simon Fell's feed. (Also Sam Ruby's.)
> [snip]
> Okay, so now this problem is hitting users, albeit a technical one who
> rolled hsi own aggregator.
On the theory that there can never be too many gentle introductions to a
concept, let me try again.
If, on this mailing list, I say "Rael", it probably is pretty clear who
I am talking about. But some computer programs are pretty downright
pedantic when it comes to these things. When given a short name, they
demand knowing the full name. If you tell it just "Rael", it assumes
that this is a one name person, like Madonna or Cher.
XSTL is such a namespace aware program. If you tell it "rss", it
inquires as to which rss are talking about. If you tell it "just rss",
then it assumes that THIS rss is different than any OTHER rss. So what
happens when you tell XSLT "just rss", and it encounters something that
isn't "just rss"? It doesn't match. Computers are funny that way.
This is no different than Perl where my foo is different than your::foo.
Or Python where my foo is different than your.foo. Or Java, C#, or
many other languages which support a packaging, namespace, or module
concept.
Once we realize that things may have "last names", it behoves us to have
shorthands where we say "for this section of the document, things are
assumed to have have the following last name". Or we create nick names
in the form of prefixes for such longer names.
I firmly believe that the rss element in RSS 2.0 should have a
namespace. That, after all, is the essence of the olive branch that was
offered. If there is a retreat from this position, I would suggest that
a renaming the specification to 0.94 would make sense, leaving 2.0
available for some indefinite point in the future when namespaces can be
safely added.
- Sam Ruby