OPML (ang. Outline Processor Markup Language) – format XML, opracowany pierwotnie przez Radio Userland, format pliku dla hierarchicznych drzew danych, wykorzystywany obecnie powszechnie w czytnikach kanałów informacyjnych RSS. OPML pozwala zapisać listę wielu kanałów informacyjnych i przenieść je z jednego czytnika do drugiego. W internecie dostępne są także gotowe pliki OPML, które można wczytać do swojego czytnika.

Wersje OPMLEdytuj

  • OPML 1.0
  • OPML 1.1
  • OPML 2.0

Podstawowe elementyEdytuj

<opml version="1.0">
Element główny, który musi zawierać atrybut oznaczający wersję oraz jeden element head i jeden element body.
<head>
Zawiera metadane. Może zawierać dowolne z opcjonalnych elementów: title, dateCreated, dateModified, ownerName, ownerEmail, expansionState, vertScrollState, windowTop, windowLeft, windowBottom, windowRight. Każdy element jest prostym elementem tekstowym. dateCreated i dateModified odpowiadają formatowi danych wyspecyfikowanemu w RFC 822 ↓. expansionState zawiera listę rozdzielanych przecinkami numerów wierszy, które powinny być rozwijane w trakcie wyświetlania. Elementy windowXXX definiują pozycję i wielkość okien wyświetlania. Procesor OPML może ignorować wszystkie podelementy head. Jeśli drzewo jest otwarte w innym drzewie, procesor musi zignorować elementy okien.
<body>
Zawiera treść drzewa. Musi zawierać jeden lub wiele elementów drzewa.
<outline>
Reprezentuje wiersz w drzewie. Może zawierać dowolną liczbę arbitralnych atrybutów. Typowe atrybuty obejmują text i type. Element drzewa może zawierać dowolną liczbę podelementów.

Wersja OPML 1.1 pojawiła się w grudniu 2001 roku i jest rozszerzeniem w stosunku do wersji OPML 1.0. Może posiadać dodatkowo opcjonalny element cloud w sekcji <head> dokumentu. W uproszczeniu element cloud został dodany, aby wysyłać XML-owe komunikaty w standardzie XML-RPC lub SOAP 1.1. Więcej informacji na temat OPML 1.1 można przeczytać po angielsku tu

Alternatywne specyfikacjeEdytuj

Zaproponowano także alternatywne specyfikacje, jak OML (Outline Markup Language), która jest bardzo podobna do OPML, ale wymusza rozdział treści od prezentacji danych.

Linki zewnętrzneEdytuj