Outline Processor Markup Language

(Auszug aus "Newsfeeds mit RSS und Atom" von Heinz Wittenbrink, erschienen bei Galileo Press, 2005)

Die Outline Processor Markup Language (OPML) ist ein Austauschformat für Listen von Newsfeeds. Sie wird vor allem benutzt, um die Adressen einer Anzahl von Newsfeeds aus Aggregatoren zu exportieren oder in sie zu importieren. Im Gegensatz zu den Feed-Formaten, die Sie hier kennengelernt haben, erlaubt OPML beliebig tiefe Hierarchien. Der Benutzer kann so Newsfeeds zu einer Gruppe zusammenfassen, diese wiederum gruppieren usw.

Das folgende Beispieldokument wurde durch einen Export aus NetNewsWire erzeugt. (Das Dokument ist leicht gekürzt.)

<?xml version="1.0" encoding="ISO-8859–1"?>
<opml version="1.1">
   <head>
      <title>mySubscriptions</title>
   </head>
   <body>
      <outline text="Web" title="Web">
         <outline text="Technik" title="Technik">
            <outline text="Ars Technica" description="Ars Technica:..." title="Ars Technica" type="rss" version="RSS" htmlUrl="http://arstechnica.com" xmlUrl="http://arstechnica.com/etc/rdf/ars.rdf"/>
            <outline text="Apache Week" description="Apache Week:..." title="Apache Week" type="rss" version="RSS" htmlUrl="http://www.apacheweek.com/" xmlUrl="http://www.apacheweek.com/issues/apacheweek-headlines.xml"/>
         </outline>
         <outline text="Design" title="Design">
            <outline text="Digital Web Magazine -  What's New" description="Digital Web Magazine - What's New: http://www.digital-web.com/" title="Digital Web Magazine - What's New" type="rss" version="RSS" htmlUrl="http://www.digital-web.com/ " xmlUrl="http://www.digital-web.com/new/rss.php"/>
            <outline text="A List Apart" description="A List Apart: Web design news, info, and insights since 1995..." title="A List Apart" type="rss" version="RSS" htmlUrl="http://www.alistapart.com/" xmlUrl="http://www.alistapart.com/articles.rdf"/>
         </outline>
      </outline>
      <outline text="Politik" title="Politik">
         <outline text="NETZEITUNG.DE" description="NETZEITUNG.DE: Aus Prinzip schneller" title="NETZEITUNG.DE" type="rss" version="RSS" htmlUrl="http://www.netzeitung.de" xmlUrl="http://www.netzeitung.de/export/news/rss/titelseite.xml"/>
         <outline text="news.ORF.at" description="news.ORF.at:..." title="news.ORF.at" type="rss" version="RSS" htmlUrl="http://news.orf.at" xmlUrl="http://rss.orf.at/news.xml"/>
      </outline>
   </body>
</opml> 

Code-Beispiel: Beispiel für ein OPML-Dokument

Die folgende Grafik zeigt die Struktur dieses Dokuments:

Struktur eines OPML-Dokuments

Abbildung: Struktur eines OPML-Dokuments

Das Dokument-Element opml hat zwei Nachkommen namens head und body. Die Nachkommen von body heißen outline. Ein Element outline kann sich in einem Element desselben Namens befinden. Ein Element outline kann dabei beliebig tief in Elemente desselben Namens eingebettet werden; es lässt sich rekursiv verwenden.

Die Elemente des Namens outline werden durch Attribute charakterisiert. Die folgende Abbildung zeigt den Aufbau eines der outline-Elemente aus dem Beispiel:

Attribute des outline-Elements in einem OPML-Dokument

Abbildung: Attribute des outline-Elements in einem OPML-Dokument

Dave Winer beschreibt OPML in der OPML 1.0 Specification von 2000. OPML-Dokumente können Gliederungen (outline bedeutet Gliederung) jeder Art beschreiben. Das Element head spielt im Zusammenhang mit Newsfeeds keine wichtige Rolle. body dient nur als Container für die Elemente des Typs outline.

outline hat einige in der Spezifíkation definierte Attribute; von diesen dient type dazu, die Art des Inhalts zu bezeichnen. Ein weiteres in der Spezifikation definiertes Attribut, das Sie auch in dem Beispiel oben finden, ist text. Der Wert von text ist ein String, der dargestellt wird, wenn das Dokument mit Outliner-Software wiedergegeben oder editiert wird.

Der eigentliche Witz des Formats besteht aber darin, dass über diese definierten Attribute hinaus weitere Attribute verwendet werden können. Wie diese Attribute heißen und welche Werte sie haben dürfen, hängt von dem jeweiligen Anwendungsgebiet ab. In dem Beispiel oben sind es die Attribute description, htmlUrl, xmlUrl und version.

   

<< zurück vor >>

 

 

 

Tipp der data2type-Redaktion:
Zum Thema Newsfeeds mit RSS und Atom bieten wir auch folgende Schulungen zur Vertiefung und professionellen Fortbildung an: