XBRL
MySQL は構造化されたデータ ストレージであり、ビジネス ドキュメントをデジタル形式にマッピングするための単なる表現であることをご存じでしょうか。XBRL
これはXML
、構造化されていないことを意味し、ドキュメントから必要なデータがその特定のドキュメントで発生する場合と発生しない場合があります。他の追加情報も含めることができます。XSD
XML を構造化する方法と、任意のタグが出現する回数を定義します。あなたの質問に答えるためeXistDB
に、XBRLドキュメントを保存するために過去に使用した を使用できます。ただし、速度が遅くなる場合もあります。からのデータだけがXBRL
必要で、MySQL データベースに保存する必要がある場合は、XPATH
. EquityTotalEndingBalance
次の単純な python コードでは、とReservesTotalEndingBalance
から値を取得できます。このドキュメント。
from lxml import etree
root = etree.fromstring(open("file.xml").read())
nsmap = root.nsmap
nsmap.pop(None) # There was some error without this.
data_one = root.xpath("//iascf-pfs:EquityTotalEndingBalance/text()",namespaces=nsmap)
data_two = root.xpath("//novartis:ReservesTotalEndingBalance/text()",namespaces=nsmap)
print data_one
print data_two
このコードは値を出力します:
['37216000000', '36862000000', '42245000000']
['35903000000', '35558000000', '40971000000']
では、どうすれば問題を解決できますか?
または、特定のデータを取得するために、XpathNoSQL
などのベースの XML ドキュメント ストレージを選択する必要があります。eXistDB
上記のように XBRL ドキュメントを手動で解析し、XPath を直接起動してデータを保存できます。
すべてのタイプのドキュメントからすべてのデータを使用する必要がある場合、複雑さが生じます。そのため、これらのドキュメントから消費するものを制限する必要があります。