Views: 87
定義
1 XBRLタクソノミで組み込んだ定義リンクを使わずにディメンジョンのハイパーキューブで定義する。[試行中]
試行中のファイルは、GitHubから
タクソノミ
1 タクソノミの定義から定義リンクを削除し、ディメンジョン定義を検討する。
The Dimensional relationship set (DRS)
gl-cor-2020-12-31.xsd
<annotation> <appinfo> <link:linkbaseRef xlink:href="gl-cor-2020-12-31-presentation.xml" xlink:title="Presentation Links, all" xlink:type="simple" xlink:role="http://www.xbrl.org/2003/role/presentationLinkbaseRef" xlink:arcrole="http://www.w3.org/1999/xlink/properties/linkbase"/> <link:roleType roleURI="http://xbrl.org/role/gl-cor_structure" id="gl-cor_structure"> <link:definition>XBRL GL Structure</link:definition> <link:usedOn>link:presentationLink</link:usedOn> <link:usedOn>link:definitionLink</link:usedOn> </link:roleType> </appinfo> </annotation> <!-- Hypercube --> <element name="Hypercube" id="Hypercube" type="xbrli:stringItemType" substitutionGroup="xbrldt:hypercubeItem" abstract="true" xbrli:periodType="instant"/> <!-- Dimension --> <element name="EntryNumber" id="gl-cor_EntryNumber"> <simpleType> <restriction base="string"/> </simpleType> </element> <element name="dEntryNumber" id="gl-cor_dEntryNumber" type="xbrli:stringItemType" substitutionGroup="xbrldt:dimensionItem" abstract="true" xbrli:periodType="instant" xbrldt:typedDomainRef="#gl-cor_EntryNumber"/> <element name="LineNumber" id="gl-cor_LineNumber"> <simpleType> <restriction base="string"/> </simpleType> </element> <element name="dLineNumber" id="gl-cor_dLineNumber" type="xbrli:stringItemType" substitutionGroup="xbrldt:dimensionItem" abstract="true" xbrli:periodType="instant" xbrldt:typedDomainRef="#gl-cor_LineNumber"/> <element name="AccountMainID" id="gl-cor_AccountMainID"> <simpleType> <restriction base="string"/> </simpleType> </element> <element name="dAccountMainID" id="gl-cor_dAccountMainID" type="xbrli:stringItemType" substitutionGroup="xbrldt:dimensionItem" abstract="true" xbrli:periodType="instant" xbrldt:typedDomainRef="#gl-cor_AccountMainID"/>
gl-cor-2020-12-31-definition.xml
<link:roleRef xlink:type="simple" xlink:href="gl-cor-2020-12-31.xsd#gl-cor_structure" roleURI="http://xbrl.org/role/gl-cor_structure"/> <link:arcroleRef xlink:type="simple" xlink:href="http://xbrl.org/2005/xbrldt-2005.xsd#hypercube-dimension" arcroleURI="http://xbrl.org/int/dim/arcrole/hypercube-dimension" /> <link:definitionLink xlink:type="extended" xlink:role="http://xbrl.org/role/gl-cor_structure"> <!-- Hypercube --> <link:loc xlink:type="locator" xlink:href="gl-cor-2020-12-31.xsd#Hypercube" xlink:label="Hypercube" xlink:title="Hypercube"/> <link:loc xlink:type="locator" xlink:href="gl-cor-2020-12-31.xsd#gl-cor_dEntryNumber" xlink:label="dim_EntryHeader" xlink:title="Axis entryHeader"/> <link:loc xlink:type="locator" xlink:href="gl-cor-2020-12-31.xsd#gl-cor_dLineNumber" xlink:label="dim_EntryDetail" xlink:title="Axis entryDetail"/> <link:definitionArc xlink:type="arc" xlink:from="Hypercube" xlink:to="dim_EntryHeader" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:title="definition Hypercube to typed Dimension entryHeader" use="optional" order="1.0"/> <link:definitionArc xlink:type="arc" xlink:from="Hypercube" xlink:to="dim_EntryDetail" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:title="definition Hypercube to Typed Dimension entryDetail" use="optional" order="1.0"/> </link:definitionLink>
DTS
paletteスキーマからはgl-corモジュールをincludeする。
インスタンス文書
全ての項目がxbrli:xbrl要素の下に並んだ形になるが、entryHeaderタプルの構造のもとに並んでいたentryDetailをどう表すかが検討課題として残る。また、 <gl-cor:specified.account contextRef=”ACCOUNT1451″/>
としたentryDetailのaccount(勘定科目コード)情報でcontextRef=”ACCOUNT1451″としている定義は、entryDetailとの関連を示すにはcontextRef=”H1L2ACCOUNT1451″などと定義することになり、dimension member要素の数がentryHeader要素数 × entryDetail要素数と膨大になってしまう。階層が深くなるとより多くのdimension member要素をインスタンス文書に出力することになるので問題となる。
フォーミュラ定義
タプルの構造が使えないので、並んで次に現れる先頭のdebitCreditCode要素の値から判定する為、General filterのtest条件がfollowing-sibling::gl-cor:debitCreditCode[1] の値が‘D’か‘C’かでDebit/Creditを判定するように変更する。
実行結果
世界標準データ形式の実装検証
1 XBRL 2.1タクソノミ
UN/CEFACTコア構成要素技術仕様(CCTS)
目的:CCTS構造をXBRL 2.1で表現することで透明性と拡張性を高める
タプルの子項目に子タプルを含まない形とする
DTS
タプル定義
定義リンクベース
表示リンクベース
2 XBRL 2.1インスタンス文書
Typed dimensionを用いて定義リンクベース(requires-element)の関係を組み込む
タクソノミ文書でのxbrldt:dimensionItem定義
インスタンス文書でのxbrli:context定義
インスタンス文書
フォーミュラリンクベース実行結果
3 XBRL 2.1フォーミュラリンクベース
定義
実行結果
4 XBRL 2.1テーブルリンクベース[試行中]
定義
実行結果
5 XBRL 2.1タプルを使わないとき[試行中]
定義
インスタンス文書
実行結果