<?xml version="1.0" encoding="utf-8"?>
<rss version="2.0"
    xmlns:dc="http://purl.org/dc/elements/1.1/"
    xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
    xmlns:admin="http://webns.net/mvcb/"
    xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
    xmlns:content="http://purl.org/rss/1.0/modules/content/">

    <channel>
    
    <title>Artikel</title>
    <link>http://www.jfuerwentsches.de/weblog/</link>
    <description>Privates Weblog von Johannes Fürwentsches</description>
    <dc:language>de</dc:language>
    <dc:creator>johannes@fuerwentsches.de</dc:creator>
    <dc:rights>Copyright 2010</dc:rights>
    <dc:date>2010-11-19T14:54:44+00:00</dc:date>
    <admin:generatorAgent rdf:resource="http://expressionengine.com/" />
    

    <item>
      <title>Javascript Code Dokumentation mit Doxygen</title>
      <link>http://www.jfuerwentsches.de/site/javascript-code-dokumentation-mit-doxygen/</link>
      <guid>http://www.jfuerwentsches.de/site/javascript-code-dokumentation-mit-doxygen/#When:13:54:44Z</guid>
      <description>Gerade beim Schreiben meiner Bachelorarbeit dachte ich, dass es sinnvoll sei die Quelltextdokumentation mancher Javascript Klassen als Anhang an die Arbeit anzuh&#228;ngen. Meiner Meinung nach kann der geneigte Leser so am schnellsten und besten bestimmte Konstrukte nachvollziehen, wenn er sich einen &#220;berblick dar&#252;ber verschaffen kann, welche Methoden (Funktionen) an welche Stelle vorkommen. Da ich meine Bachelorarbeit mit LaTeX schreibe kam mir direkt Doxygen in den Sinn, da ich wusste das hier (neben dem genialen HTML&#45;Export) auch ein Tex&#45;Export mitgeliefert wird.
Leider musste ich feststellen, dass Doxygen von sich aus kein Javascript unterst&#252;tzt. Doch gl&#252;cklicherweise gibt es dazu Abhilfe. J&#246;rg Schaible hat ein Perl Skript namens js2doxy geschrieben, das den Javascript Code parst und daraus eine Art C++ Pseudocode erzeugt. Diesen wiederum kann Doxygen dann verarbeiten und man erh&#228;lt die gewohnt saubere Ausgabe in HTML und Tex.

Als Perl Laie war ich zun&#228;chst kurz abgeschreckt. Au&#223;erdem habe ich nirgendwo eine Downloadm&#246;glichkeit f&#252;r das Skript gefunden. Ich habe mich dann aber kurz eingelesen und siehe da es ist wirklich Kinderleicht. Das Skript habe ich per Copy/Paste in eine Datei kopiert, damit es leichtern wird hab ich es hier mal hochgeladen.

Kurzanleitung Javascript Doxygen Dokumentation

js2doxy.pl hier (zip) herunterladen
Skript in das Verzeichnis /usr/bin/ kopieren (je nach Betriebssystem und Distribution eventuell verschieden)

jf&#45;macbook:Dowloads jf$ sudo cp js2doxy.pl /usr/bin/js2doxy.pl

Dadurch kann man in jedem Verzeichnis auf das Skript zugreifen

Javascript Quellcode in C++ Pseudocode &#252;berf&#252;hren, z.B. so

jf&#45;macbook:js jf$ js2doxy.pl Task.js &gt; Dokumentation/Task.cpp


Verzeichnis mit .cpp Dateien als Sourcecode Verzeichnis in Doxygen ausw&#228;hlen

Fertig.

Eine Beispielseite als PDF Datei gibt es hier.


Damit das Ergebnis aussieht wie oben sind einige Dinge zu beachten. Alle Kommentare die von Doxygen ber&#252;cksichtigt werden sollen stehen zwischen /** ... */. Da Javascript keine typsichere Sprache ist muss man einen Umweg gehen, um Doxygen die Informationen &#252;ber den Typ von Parametern, bzw. den R&#252;ckgabetyp von Funktionen mitzuteilen. Dazu gibt es drei spezielle Annotationen:

@tparam TYPE PARAM DESCRIPTION Dient zur Dokumentation von Funktionsparametern, dabei muss neben dem Typ auch der Bezeichner des Parameters angegeben werden
@treturn TYPE DESCRIPTION Dient zur Dokumentation des R&#252;ckgabewertes einer Funktion
@type TYPE Dient zur Definitions des Typs einer Variable


Au&#223;erdem f&#252;hrt das Perl Skript noch die Annotation @ctor ein, mit Hilfe dieser kann man einen gesonderten Kommentar f&#252;r den Konstruktor hinterlegen. Ansonsten werden folgende Annotationen unterst&#252;tzt: @class, @file, @fn, @interface, @var

Folgendes Beispiel zeigt den Anfang einer Klasse samt Dokumentation:

/**
 * @class GanttChart
 * Hauptklasse des Clients. Kapselt die gesamte Programmlogik 
 * des Clients enth&#228;lt Funktionen zur Erzeugung der grafischen
 * Benutzerschnittstelle.
 *  
 * @author Johannes Fuerwentsches
 *
 * @ctor Kontruktor der Klasse, erzeugt eine neue Instanz.
 *
 * @tparam int id ID des DOM Elements an das das Gantt&#45;Diagramm gehangen wird
 * @tparam Date start Startdatum
 * @tparam int showWeeks	Anzahl Wochen
 * @tparam int width Breite des gesamten Diagramms
 * @tparam int height Hoehe des gesamten Diagramms
 * @tparam string jsonString Daten f&#252;r das Diagramm als JSON String
 */
function GanttChart(id, start, showWeeks, width, height, jsonString) {
	
	// &#220;bergebenen JSON String in Objekt parsen
	var jsonObject = JSON.parse(jsonString);

    /**
     * Eindeutige ID dieses Gantt&#45;Diagramms.
     * @type int
     */
	this._id = id;</description>
      <dc:subject>Studium, Webentwicklung</dc:subject>
      <dc:date>2010-11-19T13:54:44+00:00</dc:date>
    </item>

    <item>
      <title>Die Odyssee des Launches</title>
      <link>http://www.jfuerwentsches.de/site/die-odyssee-des-launches/</link>
      <guid>http://www.jfuerwentsches.de/site/die-odyssee-des-launches/#When:15:55:06Z</guid>
      <description>Es ist vollbracht. Endlich ist mein Blogdesign fertig und das WordPress Standard Theme pass&#233;. Doch der Weg dahin war weitaus langwieriger als gedacht.

Die Wahl des richtigen Blog&#45; / Content Management System
Zun&#228;chst galt es sich nach ca. einj&#228;hriger WordPress Abstinenz einen &#220;berblick &#252;ber die Templatestruktur und die g&#228;ngigsten Befehle zu verschaffen. Das ging soweit auch recht flott von der Hand, da WordPress ja wirklich sehr sprechende Namen f&#252;r die Kernfunktionen verwendet, die eigentlich wenig Raum f&#252;r eine Fehlinterpretation lassen. Da das Layout gr&#246;&#223;tenteils als Photoshop Entwurf stand waren die Grundz&#252;ge der Seite auch schnell WordPress n&#228;her gebracht.

An diesem Punkt entschied ich mich &#45; zum Gl&#252;ck &#45; f&#252;r einen Test auf dem Livesystem. Ich habe also ein frisches WordPress installiert, mein neues Theme hochgeladen und wollte anschlie&#223;end die ben&#246;tigten Plugins installieren. Damit begann der &#196;rger. Ich konnte leider nicht die Funktion zur automatischen Installation aus dem Backend heraus nutzen, da WP anscheinend nicht nach au&#223;en kommunizieren konnte. Dem Fehler wollte ich als zuerst auf den Grund gehen. Hier meine Checkliste:

Firewall Einstellungen: Jegliche Kommunikation von lokal nach &#8220;au&#223;en&#8221; ist erlaubt &#45; check
PHP ist nicht im Safe Mode und kann auf entfernte Ressourcen zugreifen via

fopen() &#45; check
fsockopen() &#45; check
cURL &#45; check

Dateirechte sind korrekt gesetzt, sprich der Besitzer der Dateien ist gleich dem ausf&#252;hrenden Benutzer der entsprechenden Apache Instanz &#45; check

Was folgte war nat&#252;rlich Ratlosigkeit. Nachdem ich nun einen Vormittag damit verbracht hatte dem Fehler auf den Grund zu gehen und leider keinen Erfolg dabei hatte kam ich ins Gr&#252;beln. Ist WordPress eigentlich das richtige System f&#252;r mich? Was brauche ich eigentlich?

100% Kontrolle des HTML&#45;Outputs
Die M&#246;glichkeit komfortabel statische Seiten anzulegen
Weblog mit den&#252;lichen Funktionen
Optional: Verwaltung von Projekten im Portfolio

Klar, das kann WordPress &#45; nur beim letzten Punkt war ich aufgrund mangelnder WP Erfahrung unsicher. Also die Gegenfrage: Was brauche ich nicht?

Einen riesigen Overhead an Funktionen
WYSIWYG Editor der nicht validen Code produziert
Automatische Updates und automatische Plugin Installation die leider nicht funktionieren
Eine Vielzahl n&#252;tzlicher Plugins die jedoch meistens nicht genau das k&#246;nnen, was man gerne h&#228;tte
Eine iPhone Applikation zum Zugriff auf das Backend

Die Frage: Gibt es ein anderes System, dass meine Bed&#252;rfnisse eventuell besser bedienen kann? Da ich f&#252;r einen Kunden viel mit ExpressionEngine arbeite,&amp;nbsp; kam mir dieses schlanke CMS als erstes in den Sinn. Mit seinem Funktionsumfang im Hinterkopf und meiner Checkliste vor mir kam ich dann schnell zu dem Ergebnis, dass es EE werden soll. Damit will ich jetzt keineswegs sagen, dass es besser/schlechter ist als WordPress und hier auch gar keinen gro&#223;en Vergleich ziehen. Ich hatte es lediglich satt mich mit WordPress rumzuschlagen und wollte schneller zum gew&#252;nschten Ergebnis kommen.

Also habe ich erstmal eine frische ExpressionEngine auf dem Livesystem installiert und alle ben&#246;tigten Features getestet, mit dem zufriedenstellenden Ergebnis, dass alles ohne viel &#8220;Gefummel&#8221; funktionierte. Doch jetzt musste ich nat&#252;rlich das schon ann&#228;hernd fertige WordPress Theme f&#252;r ExpressionEngine umbauen. Das ging jedoch viel schnell als gedacht von der Hand, es mussten ja lediglich die WordPress Tags durch die entsprechenden ExpressionEngine Derivate ausgetauscht werden. Nun noch schnell den bereits bestehenden Content portieren und fertig.
R&#252;ckblickend bin ich mit der Entscheidung sehr zufrieden, da ich aus meiner Sicht folgende Vorteile habe:

Deutlich aufger&#228;umtere Templates ohne einen Wust aus PHP&#45;Tags
Bessere und feinere Kontrolle &#252;ber meine Inhalte und deren Gliederung dank individueller &#8220;weblogs&#8221; und eigenen Feldergruppen

Dadurch auch die M&#246;glichkeit meine Projekte im Portfolio perfekt mittels CMS zu verwalten

Keine &#8220;unsauber arbeitenden&#8221; Plugins
Eine deutlich kleinere, aber daf&#252;r sehr kompetente Community

Soweit so gut, ich hatte also mein CMS gefunden und eine funktionsf&#228;hige Webseite mit den gew&#252;nschten Funktionen und dem gew&#252;nschten Aussehen. 

Das Frontend &#45; Auf zu neuen Ufern
Das Layout entstand in erster Linie an einem gem&#252;tlichen Wochenende in der Eifel. Wobei ich eigentlich nur den Header und ein paar kleinere Elemente (Datumshintergrund im Weblog, Footer) gestaltet habe. F&#252;r den Rest habe ich von Anfang an mit CSS im Prototypen experimentiert. Viele Dinge lassen sich meiner Meinung nach einfach am &#8220;lebenden Objekt&#8221; besser ausprobieren. Au&#223;erdem funktioniert bei mir der kreative Prozess dabei oft besser als im Photoshop.

Technisch habe ich mich etwas experimentell vorgewagt und auf HTML5 sowie CSS3 gesetzt. Dabei benutze ich insbesondere die neuen Tags header, nav, article, aside und footer, sowie auf CSS Seite @font&#45;face und Gradients. Was HTML5 angeht war mir der Artikel &#8220;Mal was Neues wagen&#8221; von Marc Tobias Kunisch aus dem Webstandards Magazin (Ausgabe 04/09) eine gro&#223;e Hilfe. Dem Thema Schriftersetzung mittels @font&#45;face mit cuf&#243;n&#45;Fallback werde ich mich noch ein mal gesondert zuwenden, da die momentan hier laufende L&#246;sung noch nicht meiner vollen Zufriedenheit gen&#252;gt.

Interaktionsdesign &#45; Ein bisschen Spa&#223; muss sein
Der n&#228;chste Schritt war das Interaktionsdesign mittels jQuery. Dieses zeigt sich an zwei Stellen der Webseite: 
Einmal auf den Artikelseiten und im Portfolio. Auf den Artikelseiten habe ich mich dazu entschieden die Kommentare in einer kleineren Spalte (250px) neben dem zugeh&#246;rigen Artikel anzuzeigen. Das bietet sich hier an, da ich zun&#228;chst nicht mit allzu vielen Kommentaren rechne und auch deren L&#228;nge im Regelfall eher &#252;berschaubar bleiben wird. Nichts desto trotz wollte ich eine M&#246;glichkeit schaffen die es erlaubt auch l&#228;ngere Diskussionen f&#252;hren zu k&#246;nnen und trotzdem ein angenehmes Schriftbild und eine gute Lesbarkeit zu erzielen. Daher kann hier (durch einen Klick auf das Plus in der &#220;berschrift) die Breite von Artikel und Kommentarspalte getauscht werden. Das hei&#223;t die Artikelspalte wird kleiner und es werden alle Elemente au&#223;er dem eigentlich Text ausgeblendet und die Kommentarspalte erh&#228;lt die breite der Artikelspalte. Et voil&#225;&amp;nbsp; auch l&#228;ngere Kommentare lassen sich ohne zu gro&#223;en Scrollaufwand angenehm lesen.

In meinem kleinen Portfolio wollte ich zum einen etwas experimentieren und zum anderen den Spa&#223;faktor f&#252;r den Besucher erh&#246;hen. So werden hier die Projekte in einem Karussell angezeigt und k&#246;nnen einzeln &#8220;umgeklappt&#8221; werden, um weitere Informationen zur Umsetzung preiszugeben.
In beiden F&#228;llen wurde darauf geachtet, dass auch bei deaktiviertem JavaScript eine vollwertige Nutzbarkeit gegeben ist (&#8220;Unobstrusive JavaScript&#8221;).

Fazit
Ich habe endlich wieder eine, wie ich finde, sch&#246;ne kleine Internetseite und auch endlich mit Weblog. Der Weg war sicherlich etwas steinig, aber auch sehr lehrreich. Jetzt hab ich genau das was ich wollte und bin sehr zufrieden damit.</description>
      <dc:subject>Blogging, Webentwicklung</dc:subject>
      <dc:date>2010-04-20T15:55:06+00:00</dc:date>
    </item>

    <item>
      <title>Ende der stressigen vorlesungsfreien Zeit</title>
      <link>http://www.jfuerwentsches.de/site/ende-der-stressigen-vorlesungsfreien-zeit/</link>
      <guid>http://www.jfuerwentsches.de/site/ende-der-stressigen-vorlesungsfreien-zeit/#When:06:54:59Z</guid>
      <description>Normalerweise bin ich ja der letzte der von vorlesungsfreier Zeit anstelle von Semesterferien spricht, doch die vergangenen 8 Wochen als Ferien zu bezeichnen w&#228;re g&#228;nzlich falsch. Zwar habe ich ein paar Tage in Bergen (Norwegen) verleben k&#246;nnen, das war es aber auch mit Ferien. Die restliche Zeit ging f&#252;r Pr&#252;fungsvorbereitung, Abschluss des Programmierprojektes und arbeiten drauf.

Nunja, gestern hatte ich die letzte Pr&#252;fung und nun ist alles vorbei. Das neue Semester geht los und es bleibt zu hoffen, dass die kommenden Wochen etwas entspannter werden als die zur&#252;ckliegenden. Vorallem hoffe ich, dass ich endlich schaffe dieses Blog voranzutreiben, vom Standardtheme wegzukommen und mein Webseiten Portfolio wieder online zu bringen. Au&#223;erdem ist ein Artikel zu GWT in Kombination mit jFreeChart geplant, da wir im Rahmen des Programmierprojektes eine Zoomfunktion f&#252;r jFreeChart Graphen implementiert haben die ich gerne ver&#246;ffentlichen w&#252;rde. Also in diesem Sinne, immer sch&#246;n gespannt bleiben!</description>
      <dc:subject>Studium</dc:subject>
      <dc:date>2010-03-23T06:54:59+00:00</dc:date>
    </item>

    <item>
      <title>Grandioser Auftakt, nun Stille</title>
      <link>http://www.jfuerwentsches.de/site/grandioser-auftakt-nun-stille/</link>
      <guid>http://www.jfuerwentsches.de/site/grandioser-auftakt-nun-stille/#When:15:52:38Z</guid>
      <description>Nachdem ich im Dezember voller Elan in die Blogosph&#228;re gestartet bin kommt jetzt, p&#252;nktlich zum Jahresstart, die Einsicht, dass ich doch im Moment viel zu wenig Zeit habe um regelm&#228;&#223;ig etwas zu schreiben. Vorallem wenn es mal darum geht mehr als ein paar Zeilen Code zu posten.&amp;nbsp; Aber sei es drum, dieses mal (das ist glaube ich der dritte Anlauf ein Blog auf die Beine zu stellen) gebe ich mich nicht so leicht geschlagen.
So werden die n&#228;chsten Wochen wenn &#252;berhaupt von kurzen Beitr&#228;gen gepr&#228;gt die sich inhaltlich wohl in der Hauptsache mit GWT, Java oder 3D Characteranimation besch&#228;ftigen, eben den Themen die auch mich die n&#228;chsten Wochen bis zum Semeterende besch&#228;ftigen werden.
Vielleicht findet sich dann in der Vorlesungsfreienzeit auch mal eine freie Minute etwas am Design zu tun, wobei ich meinen Kalender schon abwesend den Kopf sch&#252;tteln sehe.</description>
      <dc:subject>Blogging</dc:subject>
      <dc:date>2010-01-05T15:52:38+00:00</dc:date>
    </item>

    <item>
      <title>iPhone im Winter</title>
      <link>http://www.jfuerwentsches.de/site/iphone-im-winter/</link>
      <guid>http://www.jfuerwentsches.de/site/iphone-im-winter/#When:17:14:59Z</guid>
      <description>Gerade habe ich mal schnell die Wordpress App f&#252;r das iPhone eingerichtet und Teste sie mit diesem Post direkt mal. Dabei musste ich leider feststellen, dass das iPhone nicht das ideale Winterhandy ist: Handschuhe ausziehen bei um die 0 Grad ist doof. Anderseits w&#252;rde ein anderes Handy da wahrscheinlich auch nicht helfen, die Tasten m&#252;ssten schon sehr gro&#223; sein und weit auseinander liegen, um eine komfortable Bedienung mit Handschuhen zu erm&#246;glichen! Das nur mal so als kurzer Gedanke auf dem Nachhauseweg.</description>
      <dc:subject></dc:subject>
      <dc:date>2009-12-16T17:14:59+00:00</dc:date>
    </item>

    <item>
      <title>wp&#45;cufon 1.6.3 Firefox Fix</title>
      <link>http://www.jfuerwentsches.de/site/wp-cufon-1.6.3-firefox-fix/</link>
      <guid>http://www.jfuerwentsches.de/site/wp-cufon-1.6.3-firefox-fix/#When:15:35:49Z</guid>
      <description>Nachdem ich erfolgreich WP&#45;Cufon eingebaut habe, um auch ein paar schicke &#8220;Nicht&#45;Web&#45;Schriften&#8221; zu verwenden (zun&#228;chst mal Yanones Kaffeesatz f&#252;r die &#220;berschriften) bin ich leider auf einen Fehler im Plugin gesto&#223;en. Und zwar werden die zus&#228;tzlichen Javascript Dateien nicht wie in der Cuf&#243;n API angegeben am Ende des body&#45;Tags eingebunden, sondern am Anfang.

Das f&#252;hrte (laut Firebug) zu folgedem fehler:


Operation is not supported&quot; code: &quot;9 [Break on this error] var Cufon=(function(){var=function(){r&#8230; ;ap.marginBottom=U+&quot;px&quot;}}return C}})());


Das l&#228;sst sich aber ganz simpel beheben indem man in der wp&#45;cufon.php einfach

add_action(&#39;wp_header&#39;, &#39;wpcufon_init&#39;);

in

add_action(&#39;wp_footer&#39;, &#39;wpcufon_init&#39;);

&#228;ndert.

Nun wird Cuf&#243;n an der richtigen Stelle eingebunden und alles l&#228;uft wie gew&#252;nscht.</description>
      <dc:subject>Webentwicklung</dc:subject>
      <dc:date>2009-12-16T15:35:49+00:00</dc:date>
    </item>

    <item>
      <title>Facebook&#45;Share zur Auffindbarkeit von Videos bei google</title>
      <link>http://www.jfuerwentsches.de/site/facebook-share-zur-auffindbarkeit-von-videos-bei-google/</link>
      <guid>http://www.jfuerwentsches.de/site/facebook-share-zur-auffindbarkeit-von-videos-bei-google/#When:13:50:00Z</guid>
      <description>Gerade habe ich f&#252;r eine Kundenwebseite die Metadaten um ein paar einfache Angaben erweitert: Den sogenannten Facebook Share Daten. Diese dienen aber nicht nur &#45; wie man denken k&#246;nnte &#45; dazu Metainformationen f&#252;r das Posten von Videos bei Facebook bereitzustellen. Sie sorgen au&#223;erdem daf&#252;r, dass google das Video in den Suchergebnissen als solches kennzeichnet.

Bei Facebook sieht das ganze so aus:
Facebook&#45;Share Metadaten in Aktion

Bei google sorgt es ebenfalls f&#252;r ein nettes Vorschaubild, was die Aufmerksamkeit nat&#252;rlich deutlich auf sich zieht, da es aus den rein textuellen Ergebnissen schon deutlich hervorsticht. Das sieht so aus:
Facebook&#45;Share sorgt auch bei Google f&#252;r besondere Hervorhebung

Die paar Zeilen die zum Erfolg f&#252;hren:


&amp;lt;link rel=&quot;video_src&quot; href=&quot;&quot; /&gt;
&amp;lt;link rel=&quot;image_src&quot; href=&quot;&quot; /&gt;
&amp;lt;meta name=&quot;video_height&quot; content=&quot;&quot; /&gt;
&amp;lt;meta name=&quot;video_width&quot; content=&quot;&quot; /&gt;
&amp;lt;meta name=&quot;video_type&quot; content=&quot;application/x&#45;shockwave&#45;flash&quot; /&gt;


Ich denke die Tags sind soweit selbsterkl&#228;rend: Die beiden Sourcefelder erwarten vollst&#228;ndige URLs, die Videogr&#246;&#223;e wird in Pixeln angegeben und sollte einen eventuell sichtbaren Player/Rahmen mit einrechnen. Also video&#45;type ist bisher nur Flash unterst&#252;tzt.

Hat man also Videocontent auf seiner Seite oder in seinem Blog lohnt es sich meiner Meinung nach sehr diesen minimalen Zusatzaufwand zu betreiben, um ein deutlich ansehnlicheres Suchergebnis zu erzielen, mit dem man sich klar von eventuellen Mitstreitern absetzt.

Ein paar weitere Details sind in googles Webmaster Central zu finden.</description>
      <dc:subject>Webentwicklung, HTML/CSS</dc:subject>
      <dc:date>2009-12-16T13:50:00+00:00</dc:date>
    </item>

    <item>
      <title>In Arbeit&#8230;</title>
      <link>http://www.jfuerwentsches.de/site/in-arbeit/</link>
      <guid>http://www.jfuerwentsches.de/site/in-arbeit/#When:15:11:22Z</guid>
      <description>... bin gerade dabei hier mein neues Blog einzurichten. Das Design wird noch etwas auf sich warten lassen, aber das braucht halt ein bisschen Zeit, zumal ich schon ewig kein Wordpresstemplate mehr erstellt habe. Da ist erstmal wieder etwas Einarbeitungszeit notwendig.</description>
      <dc:subject>Blogging</dc:subject>
      <dc:date>2009-12-15T15:11:22+00:00</dc:date>
    </item>

    
    </channel>
</rss>
