XBRL データの instans の情報の一部をDatamapper で DB 保存し、
条件検索をするプログラムを試作してみた。
ruby でのソースコード一式は以下にある。
- http://sourceforge.jp/projects/ruby-xbrl/svn/view/trunk/Edinet/tools/datamap/?root=ruby-xbrl
> Index of /trunk/Edinet/tools/datamap - ruby-XBRL - SourceForge.JP
実行例を示す。
14 ファイルを処理し、それぞれインスアンの科目数の検索、"NetIncomeLoss" 科目の検索
を行ってみている。
最初は、DB 登録を行う。(時間がかかる)
2回目は作成済みDB を参照して検索をする。(時間はかからない)
$ ruby sample00.rb -h
Usage: sample00 [options]
-m use memory db
-i init db
$ ruby sample00.rb -i /Users/youichikato/work/www/EDGAR/data/*/*/msft*[0-9].xml
"--- init DB"
"reading /Users/youichikato/work/www/EDGAR/data/789019/000119312505193215/msft-20050630.xml"
"reading /Users/youichikato/work/www/EDGAR/data/789019/000119312506128216/msft-20060331.xml"
"reading /Users/youichikato/work/www/EDGAR/data/789019/000119312506205609/msft-20060630.xml"
"reading /Users/youichikato/work/www/EDGAR/data/789019/000119312506235137/msft-20060930.xml"
"reading /Users/youichikato/work/www/EDGAR/data/789019/000119312507039978/msft-20061231.xml"
"reading /Users/youichikato/work/www/EDGAR/data/789019/000119312507116258/msft-20070331.xml"
"reading /Users/youichikato/work/www/EDGAR/data/789019/000119312507221457/msft-20070630.xml"
"reading /Users/youichikato/work/www/EDGAR/data/789019/000119312507253878/msft-20070930.xml"
"reading /Users/youichikato/work/www/EDGAR/data/789019/000119312507259490/msft-20070930.xml"
"reading /Users/youichikato/work/www/EDGAR/data/789019/000119312508031558/msft-20071231.xml"
"reading /Users/youichikato/work/www/EDGAR/data/789019/000119312508089475/msft-20080331.xml"
"reading /Users/youichikato/work/www/EDGAR/data/789019/000119312508162828/msft-20080630.xml"
"reading /Users/youichikato/work/www/EDGAR/data/789019/000119312508215214/msft-20080930.xml"
"reading /Users/youichikato/work/www/EDGAR/data/789019/000119312509054006/msft-20081231.xml"
"instances: 14"
0: /Users/youichikato/work/www/EDGAR/data/789019/000119312505193215/msft-20050630.xml
1119, 5, 149
1: /Users/youichikato/work/www/EDGAR/data/789019/000119312506128216/msft-20060331.xml
779, 4, 131
2: /Users/youichikato/work/www/EDGAR/data/789019/000119312506205609/msft-20060630.xml
1188, 5, 195
3: /Users/youichikato/work/www/EDGAR/data/789019/000119312506235137/msft-20060930.xml
409, 4, 56
4: /Users/youichikato/work/www/EDGAR/data/789019/000119312507039978/msft-20061231.xml
650, 4, 86
5: /Users/youichikato/work/www/EDGAR/data/789019/000119312507116258/msft-20070331.xml
669, 4, 117
6: /Users/youichikato/work/www/EDGAR/data/789019/000119312507221457/msft-20070630.xml
1060, 5, 111
7: /Users/youichikato/work/www/EDGAR/data/789019/000119312507253878/msft-20070930.xml
438, 5, 62
8: /Users/youichikato/work/www/EDGAR/data/789019/000119312507259490/msft-20070930.xml
449, 3, 77
9: /Users/youichikato/work/www/EDGAR/data/789019/000119312508031558/msft-20071231.xml
846, 3, 135
10: /Users/youichikato/work/www/EDGAR/data/789019/000119312508089475/msft-20080331.xml
849, 3, 147
11: /Users/youichikato/work/www/EDGAR/data/789019/000119312508162828/msft-20080630.xml
1447, 5, 167
12: /Users/youichikato/work/www/EDGAR/data/789019/000119312508215214/msft-20080930.xml
706, 5, 110
13: /Users/youichikato/work/www/EDGAR/data/789019/000119312509054006/msft-20081231.xml
903, 5, 155
"facts: 11512"
"units: 60"
"contexts: 1698"
"---- Search http://xbrl.us/us-gaap/2008-03-31:NetIncomeLoss --"
"---- http://xbrl.us/us-gaap/2008-01-31:NetIncomeLoss --"
1: /Users/youichikato/work/www/EDGAR/data/789019/000119312508162828/msft-20080630.xml 8,168,000,000 2004-06-30
2: /Users/youichikato/work/www/EDGAR/data/789019/000119312508162828/msft-20080630.xml 12,254,000,000 2005-06-30
3: /Users/youichikato/work/www/EDGAR/data/789019/000119312508162828/msft-20080630.xml 12,599,000,000 2006-06-30
4: /Users/youichikato/work/www/EDGAR/data/789019/000119312508162828/msft-20080630.xml 14,065,000,000 2007-06-30
5: /Users/youichikato/work/www/EDGAR/data/789019/000119312508162828/msft-20080630.xml 17,681,000,000 2008-06-30
6: /Users/youichikato/work/www/EDGAR/data/789019/000119312508162828/msft-20080630.xml 4,289,000,000 2007-09-30
7: /Users/youichikato/work/www/EDGAR/data/789019/000119312508162828/msft-20080630.xml 4,707,000,000 2007-12-31
8: /Users/youichikato/work/www/EDGAR/data/789019/000119312508162828/msft-20080630.xml 4,388,000,000 2008-03-31
9: /Users/youichikato/work/www/EDGAR/data/789019/000119312508162828/msft-20080630.xml 4,297,000,000 2008-06-30
10: /Users/youichikato/work/www/EDGAR/data/789019/000119312508162828/msft-20080630.xml 3,478,000,000 2006-09-30
11: /Users/youichikato/work/www/EDGAR/data/789019/000119312508162828/msft-20080630.xml 2,626,000,000 2006-12-31
12: /Users/youichikato/work/www/EDGAR/data/789019/000119312508162828/msft-20080630.xml 4,926,000,000 2007-03-31
13: /Users/youichikato/work/www/EDGAR/data/789019/000119312508162828/msft-20080630.xml 3,035,000,000 2007-06-30
14: /Users/youichikato/work/www/EDGAR/data/789019/000119312508162828/msft-20080630.xml 3,141,000,000 2005-09-30
15: /Users/youichikato/work/www/EDGAR/data/789019/000119312508162828/msft-20080630.xml 3,653,000,000 2005-12-31
16: /Users/youichikato/work/www/EDGAR/data/789019/000119312508162828/msft-20080630.xml 2,977,000,000 2006-03-31
17: /Users/youichikato/work/www/EDGAR/data/789019/000119312508162828/msft-20080630.xml 2,828,000,000 2006-06-30
18: /Users/youichikato/work/www/EDGAR/data/789019/000119312508215214/msft-20080930.xml 4,289,000,000 2007-09-30
19: /Users/youichikato/work/www/EDGAR/data/789019/000119312508215214/msft-20080930.xml 4,373,000,000 2008-09-30
20: /Users/youichikato/work/www/EDGAR/data/789019/000119312509054006/msft-20081231.xml 4,707,000,000 2007-12-31
21: /Users/youichikato/work/www/EDGAR/data/789019/000119312509054006/msft-20081231.xml 4,174,000,000 2008-12-31
22: /Users/youichikato/work/www/EDGAR/data/789019/000119312509054006/msft-20081231.xml 8,996,000,000 2007-12-31
23: /Users/youichikato/work/www/EDGAR/data/789019/000119312509054006/msft-20081231.xml 8,547,000,000 2008-12-31
24: /Users/youichikato/work/www/EDGAR/data/789019/000119312508089475/msft-20080331.xml 11,030,000,000 2007-03-31
25: /Users/youichikato/work/www/EDGAR/data/789019/000119312508089475/msft-20080331.xml 13,384,000,000 2008-03-31
26: /Users/youichikato/work/www/EDGAR/data/789019/000119312508089475/msft-20080331.xml 4,926,000,000 2007-03-31
27: /Users/youichikato/work/www/EDGAR/data/789019/000119312508089475/msft-20080331.xml 4,388,000,000 2008-03-31
65.380000 31.090000 96.470000 (142.322403)
$ ruby sample00.rb /Users/youichikato/work/www/EDGAR/data/*/*/msft*[0-9].xml
"--- open DB"
"instances: 14"
0: /Users/youichikato/work/www/EDGAR/data/789019/000119312505193215/msft-20050630.xml
1119, 5, 149
1: /Users/youichikato/work/www/EDGAR/data/789019/000119312506128216/msft-20060331.xml
779, 4, 131
2: /Users/youichikato/work/www/EDGAR/data/789019/000119312506205609/msft-20060630.xml
1188, 5, 195
3: /Users/youichikato/work/www/EDGAR/data/789019/000119312506235137/msft-20060930.xml
409, 4, 56
4: /Users/youichikato/work/www/EDGAR/data/789019/000119312507039978/msft-20061231.xml
650, 4, 86
5: /Users/youichikato/work/www/EDGAR/data/789019/000119312507116258/msft-20070331.xml
669, 4, 117
6: /Users/youichikato/work/www/EDGAR/data/789019/000119312507221457/msft-20070630.xml
1060, 5, 111
7: /Users/youichikato/work/www/EDGAR/data/789019/000119312507253878/msft-20070930.xml
438, 5, 62
8: /Users/youichikato/work/www/EDGAR/data/789019/000119312507259490/msft-20070930.xml
449, 3, 77
9: /Users/youichikato/work/www/EDGAR/data/789019/000119312508031558/msft-20071231.xml
846, 3, 135
10: /Users/youichikato/work/www/EDGAR/data/789019/000119312508089475/msft-20080331.xml
849, 3, 147
11: /Users/youichikato/work/www/EDGAR/data/789019/000119312508162828/msft-20080630.xml
1447, 5, 167
12: /Users/youichikato/work/www/EDGAR/data/789019/000119312508215214/msft-20080930.xml
706, 5, 110
13: /Users/youichikato/work/www/EDGAR/data/789019/000119312509054006/msft-20081231.xml
903, 5, 155
"facts: 11512"
"units: 60"
"contexts: 1698"
"---- Search http://xbrl.us/us-gaap/2008-03-31:NetIncomeLoss --"
"---- http://xbrl.us/us-gaap/2008-01-31:NetIncomeLoss --"
1: /Users/youichikato/work/www/EDGAR/data/789019/000119312508162828/msft-20080630.xml 8,168,000,000 2004-06-30
2: /Users/youichikato/work/www/EDGAR/data/789019/000119312508162828/msft-20080630.xml 12,254,000,000 2005-06-30
3: /Users/youichikato/work/www/EDGAR/data/789019/000119312508162828/msft-20080630.xml 12,599,000,000 2006-06-30
4: /Users/youichikato/work/www/EDGAR/data/789019/000119312508162828/msft-20080630.xml 14,065,000,000 2007-06-30
5: /Users/youichikato/work/www/EDGAR/data/789019/000119312508162828/msft-20080630.xml 17,681,000,000 2008-06-30
6: /Users/youichikato/work/www/EDGAR/data/789019/000119312508162828/msft-20080630.xml 4,289,000,000 2007-09-30
7: /Users/youichikato/work/www/EDGAR/data/789019/000119312508162828/msft-20080630.xml 4,707,000,000 2007-12-31
8: /Users/youichikato/work/www/EDGAR/data/789019/000119312508162828/msft-20080630.xml 4,388,000,000 2008-03-31
9: /Users/youichikato/work/www/EDGAR/data/789019/000119312508162828/msft-20080630.xml 4,297,000,000 2008-06-30
10: /Users/youichikato/work/www/EDGAR/data/789019/000119312508162828/msft-20080630.xml 3,478,000,000 2006-09-30
11: /Users/youichikato/work/www/EDGAR/data/789019/000119312508162828/msft-20080630.xml 2,626,000,000 2006-12-31
12: /Users/youichikato/work/www/EDGAR/data/789019/000119312508162828/msft-20080630.xml 4,926,000,000 2007-03-31
13: /Users/youichikato/work/www/EDGAR/data/789019/000119312508162828/msft-20080630.xml 3,035,000,000 2007-06-30
14: /Users/youichikato/work/www/EDGAR/data/789019/000119312508162828/msft-20080630.xml 3,141,000,000 2005-09-30
15: /Users/youichikato/work/www/EDGAR/data/789019/000119312508162828/msft-20080630.xml 3,653,000,000 2005-12-31
16: /Users/youichikato/work/www/EDGAR/data/789019/000119312508162828/msft-20080630.xml 2,977,000,000 2006-03-31
17: /Users/youichikato/work/www/EDGAR/data/789019/000119312508162828/msft-20080630.xml 2,828,000,000 2006-06-30
18: /Users/youichikato/work/www/EDGAR/data/789019/000119312508215214/msft-20080930.xml 4,289,000,000 2007-09-30
19: /Users/youichikato/work/www/EDGAR/data/789019/000119312508215214/msft-20080930.xml 4,373,000,000 2008-09-30
20: /Users/youichikato/work/www/EDGAR/data/789019/000119312509054006/msft-20081231.xml 4,707,000,000 2007-12-31
21: /Users/youichikato/work/www/EDGAR/data/789019/000119312509054006/msft-20081231.xml 4,174,000,000 2008-12-31
22: /Users/youichikato/work/www/EDGAR/data/789019/000119312509054006/msft-20081231.xml 8,996,000,000 2007-12-31
23: /Users/youichikato/work/www/EDGAR/data/789019/000119312509054006/msft-20081231.xml 8,547,000,000 2008-12-31
24: /Users/youichikato/work/www/EDGAR/data/789019/000119312508089475/msft-20080331.xml 11,030,000,000 2007-03-31
25: /Users/youichikato/work/www/EDGAR/data/789019/000119312508089475/msft-20080331.xml 13,384,000,000 2008-03-31
26: /Users/youichikato/work/www/EDGAR/data/789019/000119312508089475/msft-20080331.xml 4,926,000,000 2007-03-31
27: /Users/youichikato/work/www/EDGAR/data/789019/000119312508089475/msft-20080331.xml 4,388,000,000 2008-03-31
1.930000 0.200000 2.130000 ( 2.225345)
ntsitm298093:datamap youichikato$
最近のコメント