お問い合わせ
会社概要 ソフトウェア 開発ブログ サポート

« BlogWrite Freeのテスト | メイン | Atom API 対応 BlogWrite 0.9.4 »

2004年06月27日

Livedoor のAtom APIのXML名前空間

[ Blog ]

Livedoor のAtom APIを試しています。

エントリーを新規にPostすると、投稿されたエントリーがAtom形式のXMLで返って来ます。その名前空間に問題があります。 どこに言えばいいのか分からないのでココで書いて、TrackBackして見ます。以下。

<entry xmlns="http://purl.org/atom/ns#">
と名前空間が宣言されていますが、XML中に以下の、宣言されていない名前空間"dc"で定義された要素が出現します。
<dc:subject></dc:subject>
これは、ValidのXMLではありません。 よって、このXMLをXMLパーサー(もしくはXMLエディタなど)で読み込もうとすると、XMLパーサーエラーが起きます。
XMLパーサーエラー:未宣言の名前空間の接頭語を参照します: 'dc'

ソフトウェアがXMLを処理するにはほとんどのケースで、パーサーを使いますし、ほとんどのパーサー(Perlの標準のパーサーは除く)はValidかどうか チェックし、ValidでないXML(つまりなんだかわからない形式)は拒否します。よってソフトウェアからこのXML(もどき) を扱うことができないという事になります。

これを回避し、ValidなXMLにするには以下のように名前空間の宣言を追加する必要があります。

<entry xmlns="http://purl.org/atom/ns#" xmlns:dc="http://purl.org/dc/elements/1.1/" >

ちなみに、AtomAPI経由でLivedoorBlogに投稿問題なく出来てます。しかし、編集が上記の問題のため出来ません。(EditURIが取れない)

投稿者 BlogWrite担当 : 2004年06月27日 13:48

トラックバック

このエントリーのトラックバックURL:
http://www.witha.jp/b/mt-tb-hate-spam.cgi/85

このリストは、次のエントリーを参照しています: Livedoor のAtom APIのXML名前空間:

» AtomAPI アップデートのお知らせ from livedoor Blog 開発日誌
こんにちは、miyagawaです。 AtomAPI のアップデートを行いました。改善点は以下の通りです。 ゲスト参加している Blog も、AtomAPI で操作できるようになりました。 カテゴリ一覧を取得するAPI service.categories を試験的に実装しました。 マルチバイトを... [続きを読む]

トラックバック時刻: 2004年06月28日 14:51

コメント

ご指摘ありがとうございます。修正しましたので明日にはblog.livedoor.com サーバに反映されます(現在メンテナンス中ですので、明けて確認できると思います)。

投稿者 miyagawa : 2004年06月28日 00:19

早速の対応ありがとうございます。

がしかし、また問題です。
Responseで返るEditURIのBlog_IDが空です。
編集しようとしたら、400BadRquestが返ります。初めにもっとちゃんと見ておけばよかったです、たびたびすみません。

(念のため、Blogger.comで試すとBlogWriteから問題なく書き込み、編集できているのでBlogWriteの問題はとりあえずない、と思います)

投稿者 HepCat担当 : 2004年06月29日 04:32

link rel="service.edit" で BlogID がからになっている件は確認しました。お手数ですが TypePad あるいは Movable Type 3.0 Developer Edition でもテストしていただくことは可能ですか? (TypePad/MT3.0のレスポンスには link タグが入っていないようにみえます)

投稿者 miyagawa : 2004年06月29日 05:44

テストしたいのは山々なのですが、TypePad(ココログ、ブログ人)いずれもアカウント取得していないので、残念ながらテストできません。

また、MT3.0は別サーバー(レンタル)にインストールしましたが、利用しているレンタルサーバーにDigest::SHA1.pmが入ってなくて
AtomAPIのテストが出来ません。(レンタルサーバー会社に問い合わせたら、「前向きに...MT3.0正式版が出る頃までにお答えを...」)と言われてしまい...今だテスト環境を構築できずにいます。

が、ハイ、自家Linuxサーバーでやります、ハイ。

出来るだけ早く、AtomAPIを実装したBlogWriteを公開します。そしたら皆さんの環境でテストしていただけるかも知れませんから(え?人柱?;-)。

投稿者 HepCat担当 : 2004年06月29日 07:44

とりあえず、
http://witha.jp/BlogWrite/files/BlogWriteBeta093.exe

Blogger.comのAtom APIで試して、投稿、編集、削除が出来ています。

ただ、TrackBackやらコメントのオプションの設定画面等が変更可能な状態のままですが、AtomAPI利用時にはそれらの設定は無視されます。また投稿記事のローカル保存機能はまだ動きません。

以上のような段階ですが、デバグ用にでも宜しければお試しください。

投稿者 HepCat担当 : 2004年06月29日 08:58

あと、記事削除すると、正常に削除されますが、
以下のエラーメッセージが返ります。
Died at /Perlへ/のPath/perlのVersion/lib/site_perl/ヴァージョン/XML/Atom/Server.pm line 63.

投稿者 HepCat担当 : 2004年06月29日 13:22

ベータ版つかってためしてみますね。

投稿者 miyagawa : 2004年06月29日 14:36

なんか投稿しようとしたらモジュールのアクセス違反で落ちました>BlogWrite

DELETEエラーの件、原因がわかりました。XML::Atom::Server のバグです(すでに作者報告、パッチ送付ずみ)。0.07でパッチ送ったのに最新に反映されてなかった。。

投稿者 miyagawa : 2004年06月29日 14:49

落ちましたか...?
ホヤホヤすぎました、すみません。

BlogWrite0.9.4
で直したはずですが...。
http://witha.jp/BlogWrite/files/BlogWriteBeta094.exe

投稿者 HepCat担当 : 2004年06月29日 15:05

コメントしてください




保存しますか?