OPML 2.0

OPML 2.0

[2] アウトライン・プロセッサoutline 文書の形式。

呼称

[27] OPMLのPはProcessior? ――誤記がコピペで大量伝播か - @IT ( 版) http://www.atmarkit.co.jp/news/200707/09/weekly.html

仕様書

[6] OPML 1.0 Specification http://www.opml.org/spec

[10] ( 版) http://static.userland.com/gems/radiodiscuss/opmlDtd.txt

OPML 1.0DTD

[7] OPML 2.0 ( 版) http://www.opml.org/spec2

[9] OPML Version 2.0 - (DLESE) Digital Library for Earth System Education ( 版) http://www.dlese.org/Metadata/opml/2.0/

OPML 2.0XML Schema

[12] Don'tStopMusic - OPML (DATE Ken 著, 版) http://dontstopmusic.no-ip.org/diary/20041011.html

[11] OPML の仕様に関するまとめ | WWW WATCH ( 版) http://hyper-text.org/archives/2008/03/opml.shtml

OPML 1.1

[15] Heads-up: OPML 1.1 coming shortly ( 版) http://www.opml.org/stories/storyReader$11

RSS 0.92 と同じで結局完全な仕様書は出ていないのか?

[18] OPML - naoyaの日記 - naoyaグループ ( 版) http://naoya.g.hatena.ne.jp/naoya/20061030/1162194825

1.1 の公式な spec がどうもネット上でないみたいなんですが、http://dontstopmusic.no-ip.org/diary/20041011.html をみるに 1.1 と 1.0 は仕様上大差がないようです。

が、XML::OPML が解説してる仕様の記述 (head 要素の各要素の意味合いとか) は 2.0 spec に載ってるものにかなり近い(ところどころ違う) という感じになってます。

1.1 が野良で適当に拡張されてったのを 2.0 で集約してっていう感じなんすかねえ。

フィード以外の用例

[1] スカンクワークス・2003年8月 アウトラインプロセッサーとXML http://anoh.s10.xrea.com/works/03-08.php#d2003-08-16c1

[26] >>1 によるとオムニアウトライナーはこんな OPML を吐くらしい:

<?xml version="1.0" encoding="UTF-8"?>
<opml version="1.0">
  <head>
    <title>アウトライナー</title>
    <expansionState>0</expansionState>
  </head>
  <body>
    <outline text="アウトラインプロセッサを使ったXML生成" _note="アウトライナーのデータ形式を検証">
      <outline text="2003-08-20"/>

      <outline text="アウトラインプロセッサ" 本文="アウトラインプロセッサの中には、XML形式での書き出しをサポートしているものがある。階層構造を保ったまま、XML形式に変換することができれば、XMLドキュメントプロセッサーとして重宝できそうだ。"/>
      <outline text="Mac用のアウトラインプロセッサ" 本文="まず最初に目をつけたのはMac用のオムニアウトライナーだ。"/>
    </outline>
  </body>
</opml>

互換性

[4] Sam Ruby: OPML compatibility http://intertwingly.net/blog/2005/11/28/OPML-compatibility

[13] Bloglines仕様のOPMLをBlogPeople, MyblogList仕様に « YAGITCHE ( 版) http://yagi.tc/archives/2005/04/23/199/

Bloglines仕様のOPMLは他でそのままインポートできないことが多い。

<Bloglines>
<outline title="カテゴリ名"> <outline title="サイト名" type="rss" htmlUrl="サイトURL" xmlUrl="フィードURL" /> </outline>
<BlogPeople>
<outline text="サイト名" type="link" url="サイトURL" title="" />
<MyblogList>
<outline text="サイト名" type="link" url="サイトURL" description="" />

[21] 2004-06-08 - Moleskin Diary 2.0 ( 版) http://d.hatena.ne.jp/moleskin/20040608#p2

OPMLを読むソフトウェアを作る場合は

  • まずtext属性の存在をチェック.存在するならばtext属性の値をfeedの名前として採用する.
  • text属性が存在しないならば,title属性の値を読む

という動作にしなければならない.

一方OPMLを書き出すソフトウェアを作る場合は

  • text属性とtitle属性の双方にfeedの名前を設定すること.
  • ダミーでいいからdescription属性を記述すること.
  • それでも他人様のアプリケーションがあなたの作ったOPMLファイルを正しく解釈してくれるとは期待しないこと

ということになる.

[22] つちのこ、のこのこ。: RSSリーダーで取り込める OPML の形式 ( 版) http://tuchinoko.moe-nifty.com/oboegaki/2005/04/rss_opml__d324.html

[23] フレッシュリーダーからのOPMLインポートでこける - fastladder-discuss-ja | Google グループ ( 版) http://groups.google.com/group/fastladder-discuss-ja/msg/02a19a7a455f14a1 (2008年2月9日)

フレッシュリーダーのOPMLにはhtml_url属性がありません。しかし、views/import/confirm.rhtmlで はxml_url, html_urlが両方(&&)存在するものだけフィードとして認めています。これをxml_urlだけにしたらひとまずインポー トできました。

[24] memo.xight.org - OPML (Yoshiki Sato 著, 2004-09-04 Sat 版) http://memo.xight.org/2004-09-04-22

  • SharpReader[2003-11-01-2] では title属性 の値をfeedの名前として使用している.
  • RSSバー for Sleipnir[2004-09-04-20] では text属性 の値をfeedの名前として使用している.
  • RSSバー for Sleipnir[2004-09-04-20] では expand属性があり,フォルダの開閉のフラグとして使用しているが, expand属性が無いと正しくインポートできない.

[28] OPMLのImport/Export - blog:N@TURE BRAIN (July 16, 2004 版) http://laugh.sub.jp/archives/200407/16-1617.php

「Rabbit Ticker」が軽くてなかなかいいなぁと思ったので、取りあえずOPMLをSharpからエクスポートして、Rabbitに読み込ませるとエラー落ちました。

Sharpの吐き出すOPMLにはtext属性が無く、title属性しかついていないのでエラーになるんですね。

でも、強制終了してしまうのはどうかと思います。(;’Д`)

[29] [ b l o g ] psychedesire: はてなアンテナOPML->フレッシュリーダー ( 版) http://www.psychedesire.org/private/blog/2006/09/opml.html

はてなアンテナのopmlファイルを開いてみると、 type="rss"になってるやつはちゃんと登録されるんだけど、 type="link"になってるやつはフォルダ扱いになってしまったり、 ちゃんと登録されないでスルーされてしまう。

今からはてなアンテナのopmlを直す。 今、ザザザザっとフレッシュリーダーが吐くopmlの中を見た。 RSS吐いていないサイトの場合、フレッシュリーダーではtype="html"になっているので、 type="link"をtype="html"に置き換えてやればいいんじゃないかと思う。 ちょっとやってみよう。

[30] htmlUrl とかって case-insensitive、ってことないよね、たぶん、きっと。 でも htmlurl みたいなのみたよ、さっき、たしか。

[31] OPML 生成 XSLT (中博俊 著, 版) http://blogs.wankuma.com/shannon/archive/2008/06/25/145472.aspx

生成された OPML 文書http://opml.org/spec2 名前空間要素が属しているけど、 これは互換性に問題ないのだろうか? 世間一般の OPML 構文解析器XML名前空間対応していなくて単なる未知の属性として無視するのかな?

[32] OPML を Validator で確認 ( 版) http://blog.4uing.com/web/opml-validator

  • outline 要素が text 属性以外の属性を持つ場合には type 属性が必要である。xml:id 属性が存在している outline 要素に type 属性の無いものがあった。
  • language 属性はフィードの言語を記述するための属性であるが、type="link" の場合にも指定をしていた。

[33] Darksky::Weblog » Blog Archive » OPMLのインポート ( 版) http://darksky.biz/blog/archives/331

インポート時にフォルダやRSSフィードのタイトルとして、outlineのtitleとtextどちらを優先するかは悩みの種です。

現在の最新バージョンで調べたわけではありませんが、text属性を利用するケースが多くありましたが、Bloglinesはtext属性は出力せず、titleのみ出力します。

[8] OPML 1.0 仕様書から、次の3つの例がリンクされています。

[16] OPML 2.0 仕様書から、次の例がリンクされています。

[14] livedoor Reader - RSSリーダー : おすすめフィード ( 版) http://reader.livedoor.com/recommend/

OPML が沢山提供されています。

[17] http://bbb-mesi.hp.infoseek.co.jp/o/2006.04.08.opml (text/plain)

<opml version="1.1"><head/><body>

[19] URI メモ ( 版) http://diary.noasobi.net/memo/memo2opml.php

URI メモ ( 版) http://diary.noasobi.net/memo/memo.phpOPML 版。もしや rel=outline が? と思ったけど流石になかった。

[20] feed meter の OPML : a++ My RSS 管理人ブログ ( 版) http://blog.myrss.jp/archives/2005/07/feed_meter_opml.html

[25] Japan Blog Award 2008のOPMLを作ってみた。 - くまめがね ( 版) http://kuma-kigurumi.breakarea.com/2008/03/01/japan-blog-award-2008-opml/

[5] OPMLファイルやHTML、テキストファイルからの一括登録機能の追加 - はてなアンテナ日記 - 機能変更、お知らせなど () https://hatena.g.hatena.ne.jp/hatenaantenna/20060905/1157428635

はてなアンテナで、複数のページを一括で登録する機能を追加しました。OPMLファイルやHTML、またテキストファイルに対応しています。(テキストファイルからはURLと判別できる文字列を抽出します。)

[34] OPMLエクスポート機能の追加について - はてなRSS日記 - 機能変更、お知らせなど () https://hatena.g.hatena.ne.jp/hatenarss/20050512/1115883035

昨日 OPML によるインポート機能を追加いたしましたが、これに併せて OPML でのエクスポート機能をサポートいたしました。

[35] OPMLのtext属性とtitle属性 - memo.xight.org (Yoshiki Sato著, ) https://memo.xight.org/2004-09-04-22

・SharpReader[2003-11-01-2] では title属性 の値をfeedの名前として使用している.

  ・RSSバー for Sleipnir[2004-09-04-20] では text属性 の値をfeedの名前として使用している.

  ・RSSバー for Sleipnir[2004-09-04-20] では expand属性があり,フォルダの開閉のフラグとして使用しているが,

    expand属性が無いと正しくインポートできない.

[36] リングのOPMLエクスポートを開始しました - はてなリング日記 - 機能変更、お知らせなど () https://hatena.g.hatena.ne.jp/hatenaring/20080501/1209636569

本日、はてなリングのOPML出力機能を実装いたしました。それぞれのリングページの上部のOPMLアイコン か、リングのURLの末尾に /opml と付けたURLよりアクセスできます。

[37] OPML Burner, , http://la.ma.la/opmlburner/