XBRL APIのセットアップ

9月26日の日経新聞に、XBRLが経済界で注目されているという話を知りました。
XBRL(Extensible Business Reporting Language)とは、財務情報が作成・流通・再利用できるように標準化されたXMLベースの言語です(東京証券取引所HPより。)。これを利用することで、これまでは統一して扱うことができなかった財務情報を簡単に取り扱うことができるようになります。現在では、東証一部に上場している多くの企業がXBRLで財務情報を公開しています。

[web] XBRLとは - 東京証券取引所
[web] EDINET (XBRLがダウンロード可能)

さて、このXBRLを扱うためのツールも多く存在しますが、Javaでデータを扱いたいという場合もあるでしょう。そのような要求のために、XBRL APIがsourceforgeで提供されています。やや慣れが必要ですが、これを用いることで通常のXMLファイルのように取り扱えるようになれます。

[web] XBRLAPI.ORG HOMEPAGE (英語)

このAPIを利用するためには数多くのサードパーティAPIが必要になります。以下に、最低限必要なAPIを列挙します。
・XBRL API
・XBRL Utilities
・XML Base
・XLink
・XML Pointer

この他にも、必要に応じて以下のAPIを用いることもあるようです。
・Log4j
・XML-API
・Xerces
・JUnit
・Xalan
・eXist
・Xindice
・XML:DB
・XMl RPC
・Apache Commons Logging
・db (Berkeley DB Java interface)
・xbxml (Berkeley DB XML overlay)

これらのAPIは以下のサイトからダウンロードできます。ダウンロードしてきたら、Javaのクラスパスの通っているフォルダに配置します。
[web] Java XBRL API Implementation - sourceforge.net
[web] XBRL SVN Repository

そして、Log4jの出力をコンソールにするために、Log4j用のXMLファイルをダウンロードします。
[web] /trunk/conf/log4j.xml - XBRL API SVN Repository

次に、XBRLファイルを処理するためのキャッシュ・ディレクトリを用意します。これは書き込み権限があるディレクトリならどこでもいいので、カレントディレクトリでも、適当なディレクトリにしてもいいでしょう。

さて、ここまで来たら実際に使えるか試してみましょう。
java -jar xbrlapi-api-YYYYMMDD.jar -logger [LOG4J.CONFIG]
-class org.xbrlapi.data.dom.Load -cache [CACHE.LOCATION] [URL]+
[LOG4J.CONFIG] はLog4j用のコンフィグファイルへのパスを指定します。また、同様にして[CACHE.LOCATION]は、キャッシュディレクトリへのパスを指定します。

[URL]が、解析をするXBRLファイルへのURLです。
これがやや曲者で、ローカルファイルを指定するときは、「file:///」を先頭につけて絶対パスで記述する必要があります。Unix系OSなら書きやすいですが、Windowsの場合は「file:///c:/document/...(略).../xbrl-instance.xml」などと記述する必要があります。

この時点で例外が発生する場合は次の点に注意してみましょう。
1.クラスパスにライブラリがすべて含まれているか。
2.ライブラリの指定の仕方が間違っていないか。(Unix系はコロンで、Windowsはセミコロンでパスを区切ります。)
3.XBRLファイルへのURLが間違っていないか。


ここまで来れば、XBRL APIに含まれるJUnit用のテストケースを参照することで、なんとなく使えるようになるのではないでしょうか。

もしAPI中のJUnitのテストを行うためには、プロパティファイルが必要になります。下記からダウンロードしてください。
[web] /trunk/test.configuration.properties -XBRL API SVN Repository
[web] testing configuration file - XBRL.ORG (プロパティファイルのマニュアル)

プロパティファイルの「local.cache」というところだけは最低限修正して、下記のコマンドを実行します。
java -Xmx1g -Dxbrlapi.test.configuration=[PATH.TO.CONFIGURATION.FILE]
junit.textui.TestRunner org.xbrlapi.tests.AllTests
[PATH.TO.CONFIGURATION.FILE]は、プロパティファイルへのパスです。


最後に、Eclipseで開発を進めたい方に。
Eclipseの場合はSubversionから一度にチェックアウトすることが可能です。手動でjarファイルをダウンロードするのが面倒くさい人はこちらの方法を試してみてください。リポジトリのパスは、https://xbrlapi.svn.sourceforge.net/svnroot/xbrlapi です。

XBRL APIのDOMLoadingTestCaseクラスやAllTestsクラスのソースは、開発の役に立つと思います。また時間が取れれば、サンプルプログラムも載せてみたいと思っています。

前へ

Sh: Cygwinで「$'\r': command not found」と表示される

次へ

OpenOffice Calcでグリッド線表示をなくす