先日の記事(PORTAのAPI使ってみた、けど。)のあと、いろいろ試してようやくまともに書誌情報が取得できたので、報告します。
解説すると長くなるので、とりあえずPHPのサンプルを各種。プログラマー各氏にはこのほうが話が早いかも。
FC2ブログの仕様上、拡張子がphpだとアップ出来ないのでtxtにしてます。
PORTAへのリクエストでは、書誌情報のスキーマがdcかdcndl_portaか選べ、そのパッキング方法をxmlとstringから選べる。はじめどれがいいかわかんなかったので、都合この組み合わせ4つのサンプルを用意した。
- スキーマ:dc パッキング:xml
porta_dc_xml.txt - スキーマ:dc パッキング:string
porta_dc_string.txt - スキーマ:dcndl_porta パッキング:xml
porta_dcndl_xml.txt - スキーマ:dcndl_porta パッキング:string
porta_dcndl_string.txt
また、先日の記事の追記でも書いたけど、PHPのSimpleXMLだと名前空間の扱いがめんどくさいので、名前空間付きの要素名を適当に置換するバージョンも2つのスキーマ向けに作った。
- スキーマ:dc パッキング:xml 名前空間付きの要素名を置換
porta_dc_replace.txt - スキーマ:dcndl_porta パッキング:xml 名前空間付きの要素名を置換
porta_dcndl_replace.txt
結局、最後のやつが一番使いやすい気がします。
あと、おまけ。
- 最後のやつの出力サンプル
porta_dcndl_replace.html
にしても、dc:identifierの種類が属性を参照しないとわからんとか、全角英数字を使ってるとか、複数の著者名と役割表示が1つの文字列にまとめられてるとか、Amazonに比べると扱いにくいこと扱いにくいこと。既存の目録規則やDublin Coreにとらわれずに、もっとまともな構造のデータで出力してくれると嬉しいんだけどなあ。