Comments on RSS Namespace draft

"Mason" <[email protected]> Tue, 13 Oct 2009 01:15:58 -0000
Newsgroups gmane.network.syndication.rss.support
Message-ID <[email protected]>
Hello, everybody.  Here are some comments on the draft rss-namespace document posted at http://www.rssboard.org/rss-namespace

1.) The Introduction says: "This namespace requires the "http://www.rssboard.org/rss-specification" declaration in the top-level element of the XML dialect that's making use of RSS..."

I think that's not worded quite right.  The XML namespace declarations are inherited such that any parent node or even the nested rss elements themselves can declare the namespace.  I think it should be sufficient to state the decided namespace and direct the reader to "http://www.w3.org/TR/REC-xml-names/" for instructions on how to use it, but here are three examples:

<root xmlns="urn:uuid:f81d4fae-7dec-11d0-a765-00a0c91e6bf6">
  <midlevel xmlns:rss="http://www.rssboard.org/rss-namespace">
    <rss:rss .../>
  </midlevel>
</root>

<root xmlns="urn:uuid:f81d4fae-7dec-11d0-a765-00a0c91e6bf6">
  <rss xmlns="xmlns="http://www.rssboard.org/rss-namespace" .../>
</root>

<root xmlns="urn:uuid:f81d4fae-7dec-11d0-a765-00a0c91e6bf6">
  <rss:cloud xmlns:rss="http://www.rssboard.org/rss-namespace" .../>
</root>

2.) I still think the namespace URL should include at least the version "2.0", as per my last post: http://tech.groups.yahoo.com/group/rss-public/message/1963

3.) If necessary, the motivation for providing a namespace could be explained with something like the following: 

"Because RSS 2.0 has no XML namespace, direct reuse of its XML elements inside other XML documents can often be difficult and sometimes impossible. Rather than requiring repeated invention of an ad hoc namespace each time full or partial embedding of RSS-like data is required, the Rss Advisory Board is here recommending a common XML namespace [and providing XML schema documents to go with it?].  It is important to understand that Namespaced RSS 2.0 is not RSS 2.0 compliant, and therefore should only be used in special circumstances, and never in the regular publication or consumption of RSS 2.0 feeds."

4.) You asked for other examples.  I think the "cloud" tag is the best, and you have that one.  One extreme example might be temporarily nesting an entire RSS document inside another XML doc.  For instance, one might like to define a WSDL function that takes RSS-structured data as parameter.  Since trying to embed non-namespaced XML in something like WSDL can sometimes be problematic (depends on your tools), the RSS data might normally have to be passed as a string with all XML being escaped.  Unfortunately you then have unstructured data at the WSDL level, and further, when reconstructed internally as non-namespaced RSS, the RSS types may cause collisions when considered in a global ontologies.  One possible solution--not always optimal of course--is to first transform the RSS 2.0 XML int
 o "Namespaced RSS 2.0" XML for internal use.  If this approach is taken, transformations to and from the Namespaced RSS 2.0 to the standard non-namespaced RSS 2.0 would still always be required for interoperability with the normal RSS world.

5.) I think it would be helpful to provide an XSD for Namespaced RSS 2.0, to help developers write conforming code.  Is there a preferred XSD for RSS 2.0 today that could adapted?  I found existing XSD for RSS 2.0 here: http://weblogs.asp.net/wkriebel/archive/2004/03/07/85642.aspx

Hope this is helpful.

Cheers,

Mason Lee
http://masonlee.org



------------------------------------

Yahoo! Groups Links

<*> To visit your group on the web, go to:
    http://groups.yahoo.com/group/rss-public/

<*> Your email settings:
    Individual Email | Traditional

<*> To change settings online go to:
    http://groups.yahoo.com/group/rss-public/join
    (Yahoo! ID required)

<*> To change settings via email:
    mailto:[email protected] 
    mailto:[email protected]

<*> To unsubscribe from this group, send an email to:
    [email protected]

<*> Your use of Yahoo! Groups is subject to:
    http://docs.yahoo.com/info/terms/