Media RSS und Namespace

Media RSS wurde 2004 von Yahoo! ins Leben gerufen. Es ist ein Erweiterung für gewöhnliche RSS-2.0-Feeds, die speziell für das Publizieren von „Mediendaten“ (Videos, Podcasts, Bilder, etc.) gedacht ist.

Interessant ist, dass der angekündigte Adobe Media Player ebenfalls Media RSS unterstützen wird. Grund genug, einen Blick darauf zu werfen, wie man mit ActionScript 3 die Inhalte dieses weit verbreiteten XML-Formats ausliest.

RSS-Feeds

In einem normalen RSS-Feeds sind zu jedem Feed-Eintrag (z.B. Blogpost) zahlreiche Tags vorhanden:

[xml]


Movie Title: Is this a good movie? http://www.foo.com/item1.htm


[/xml]

Oftmals reichen diese vorgegebenen Standard-Tags jedoch nicht aus, da für bestimmte Zwecke individuelle Tags nötig sind. Bei einem Video-Podcast könnte dies z.B. der Videotyp (QuickTime, Windows Media,…) oder die Lizenz (z.B. nicht-kommerziell, …) sein. Deshalb muss der Feed um neue Tags erweitert werden.

Was ist ein Namespace?

Jetzt kommt der Namespace ins Spiel, der im Kopf des XML-Feeds deklariert wird:

[xml]

[/xml]

Der „Namespace“ legt also einfach fest, welche Erweiterungsmodule in der XML-Datei vorhanden sind. In diesem Beispiele sind es „Media RSS“ und das „CreativeCommons RSS Module“.

Nun können im Feed die spezifischen Tags des Moduls verwendet werden. Sie enthalten einen Doppelpunkt in der Mitte.

[xml]

http://creativecommons.org/licenses/by/2.0/de/

[/xml]

Wie liest man die Tags mit Doppelpunkt in Flash/Flex ein?

Zuerst muss man in seinem ActionScript-Code die Namespaces festlegen, die man nutzen möchte. In diesem Fall also Media RSS und Creative Commons.

[xml]
// Namespace definieren
namespace mediaNS = „http://search.yahoo.com/mrss“;
namespace creativeNS = „http://backend.userland.com/creativeCommonsRssModule“;
[/xml]

Anschließend liest man XML-Feed wie gewöhnlich ein. Generell empfehle ich zuvor einen Blick in den Beitrag „ActionScript 3: XML“, wie genau mit XML umgegangen wird. Jetzt kann man mit folgender Syntax auf die Eigenschaft zugreifen: Name des Namespace, gefolgt von zwei Doppelpunkten (z.B. mediaNS::content). Hier ein Beispiel:

[xml]
{title: rss..title[i],
contentURL: rss..mediaNS::content.@url[i],
license: rss..creativeNS::license[i],
rating: rss..mediaNS::rating[i]

}
[/xml]

Demo

[kml_flashembed movie=“http://www.video-flash.de/wp-content/uploads/2007/09/mediarss.swf“ height=“300″ width=“550″ /]

Quellcode

[xml]









[/xml]

Verwendeter Media RSS Feed

[xml]


My Movie Review Site http://www.foo.com I review movies.

Movie Title: Is this a good movie? http://www.foo.com/item1.htm

http://www.creativecommons.org/licenses/by-nc/1.0

nonadult


Movie Title: Is this a bad movie? http://www.foo.com/item1.htm

http://creativecommons.org/licenses/by/2.0/de/

adult



[/xml]

Links

Link: Yahoo! Media RSS
Link: Extending RSS 2.0 With Namespaces
Link: ActionScript 3: XML

[ad]

Ein Gedanke zu „Media RSS und Namespace“

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert