Search Posts

Visits: 842

定義

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を判定するように変更する。

実行結果