XBRL APIのセットアップ
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][LOG4J.CONFIG] はLog4j用のコンフィグファイルへのパスを指定します。また、同様にして[CACHE.LOCATION]は、キャッシュディレクトリへのパスを指定します。
-class org.xbrlapi.data.dom.Load -cache [CACHE.LOCATION] [URL]+
[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][PATH.TO.CONFIGURATION.FILE]は、プロパティファイルへのパスです。
junit.textui.TestRunner org.xbrlapi.tests.AllTests
最後に、Eclipseで開発を進めたい方に。
Eclipseの場合はSubversionから一度にチェックアウトすることが可能です。手動でjarファイルをダウンロードするのが面倒くさい人はこちらの方法を試してみてください。リポジトリのパスは、https://xbrlapi.svn.sourceforge.net/svnroot/xbrlapi です。
XBRL APIのDOMLoadingTestCaseクラスやAllTestsクラスのソースは、開発の役に立つと思います。また時間が取れれば、サンプルプログラムも載せてみたいと思っています。
フォローしませんか?