Search Posts

Visits: 657

目的

現行のXBRL GLでは、詳細データをFRに集約するため<xbrlinfo>要素およびSRCDモジュール(The Summary Reporting Contextual Data (SRCD) module)を使用して対応関係を定義している。この定義を解釈するためには、特別なソフトウエアで処理する必要があった。
タプルを用いない形式のXBRLのタクソノミで定義したXBRL GLでもXBRLのフォーミュラリンクベースを使用してFRとの対応を定義し、詳細データを集約することが可能であることを検証した。

ディメンションを採用したxBRL GLとSRCDフォーミュラリンクベース

変換元のXBRL GL タクソノミ(glTaxsonomy.xsd)

変換元のXBRL GL インスタンス(glTargetInstance.xml)

変換先のFRタクソノミ(FRTaxonomy.xsd)


変換用のフォーミュラリンク定義

変換されたFRインスタンス文書

<?xml version="1.0" encoding="UTF-8"?>
<xbrli:xbrl
    xmlns:link="http://www.xbrl.org/2003/linkbase"
    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
    xmlns:xlink="http://www.w3.org/1999/xlink"
    xmlns:iso639="http://www.xbrl.org/2005/iso639"
    xmlns:iso4217="http://www.xbrl.org/2003/iso4217"
    xmlns:xbrli="http://www.xbrl.org/2003/instance"
    xmlns:xbrldi="http://xbrl.org/2006/xbrldi"
    xmlns:gl="http://www.GL.com">
    <link:schemaRef xlink:type="simple" xlink:href="GLTaxonomy.xsd"/>
    <xbrli:unit id="pure">
        <xbrli:measure>xbrli:pure</xbrli:measure>
    </xbrli:unit>
    <xbrli:unit id="JPY">
        <xbrli:measure>iso4217:JPY</xbrli:measure>
    </xbrli:unit>
    <xbrli:context id="cG1">
        <xbrli:entity><xbrli:identifier scheme="http://eipa.jp">EIPA</xbrli:identifier></xbrli:entity>
        <xbrli:period><xbrli:instant>2020-11-26</xbrli:instant></xbrli:period>
        <xbrli:scenario>
            <xbrldi:typedMember dimension="gl:d1"><gl:_1>cG1</gl:_1></xbrldi:typedMember>
        </xbrli:scenario>
    </xbrli:context>

    <xbrli:context id="cG1cG2">
        <xbrli:entity><xbrli:identifier scheme="http://eipa.jp">EIPA</xbrli:identifier></xbrli:entity>
        <xbrli:period><xbrli:instant>2020-11-26</xbrli:instant></xbrli:period>
        <xbrli:scenario>
          <xbrldi:typedMember dimension="gl:d1"><gl:_1>cG1</gl:_1></xbrldi:typedMember>
          <xbrldi:typedMember dimension="gl:d2"><gl:_2>cG2</gl:_2></xbrldi:typedMember>
        </xbrli:scenario>
    </xbrli:context>
    <gl:cor-3 contextRef="cG1cG2">01</gl:cor-3>
    <gl:cor-4 contextRef="cG1cG2">0001</gl:cor-4>
    <gl:cor-5 contextRef="cG1cG2" unitRef="JPY" decimals="0">150</gl:cor-5> 

    <xbrli:context id="cG1cG2.1">
        <xbrli:entity><xbrli:identifier scheme="http://eipa.jp">EIPA</xbrli:identifier></xbrli:entity>
        <xbrli:period><xbrli:instant>2020-11-26</xbrli:instant></xbrli:period>
        <xbrli:scenario>
          <xbrldi:typedMember dimension="gl:d1"><gl:_1>cG1</gl:_1></xbrldi:typedMember>
          <xbrldi:typedMember dimension="gl:d2"><gl:_2>cG2.1</gl:_2></xbrldi:typedMember>
        </xbrli:scenario>
    </xbrli:context>
    <gl:cor-3 contextRef="cG1cG2.1">02</gl:cor-3>
    <gl:cor-4 contextRef="cG1cG2.1">0002</gl:cor-4>
    <gl:cor-5 contextRef="cG1cG2.1" unitRef="JPY" decimals="0">500</gl:cor-5>

    <xbrli:context id="cG1cG2.2">
        <xbrli:entity><xbrli:identifier scheme="http://eipa.jp">EIPA</xbrli:identifier></xbrli:entity>
        <xbrli:period><xbrli:instant>2020-11-26</xbrli:instant></xbrli:period>
        <xbrli:scenario>
          <xbrldi:typedMember dimension="gl:d1"><gl:_1>cG1</gl:_1></xbrldi:typedMember>
          <xbrldi:typedMember dimension="gl:d2"><gl:_2>cG2.2</gl:_2></xbrldi:typedMember>
        </xbrli:scenario>
    </xbrli:context>
    <gl:cor-3 contextRef="cG1cG2.2">03</gl:cor-3>
    <gl:cor-4 contextRef="cG1cG2.2">0003</gl:cor-4>
    <gl:cor-5 contextRef="cG1cG2.2" unitRef="JPY" decimals="0">300</gl:cor-5>

    <xbrli:context id="cG1cG2.3">
        <xbrli:entity><xbrli:identifier scheme="http://eipa.jp">EIPA</xbrli:identifier></xbrli:entity>
        <xbrli:period><xbrli:instant>2020-11-26</xbrli:instant></xbrli:period>
        <xbrli:scenario>
          <xbrldi:typedMember dimension="gl:d1"><gl:_1>cG1</gl:_1></xbrldi:typedMember>
          <xbrldi:typedMember dimension="gl:d2"><gl:_2>cG2.3</gl:_2></xbrldi:typedMember>
        </xbrli:scenario>
    </xbrli:context>
    <gl:cor-3 contextRef="cG1cG2.3">04</gl:cor-3>
    <gl:cor-4 contextRef="cG1cG2.3">0003</gl:cor-4>
    <gl:cor-5 contextRef="cG1cG2.3" unitRef="JPY" decimals="0">100</gl:cor-5>

    <xbrli:context id="cG1cG2.4">
        <xbrli:entity><xbrli:identifier scheme="http://eipa.jp">EIPA</xbrli:identifier></xbrli:entity>
        <xbrli:period><xbrli:instant>2020-11-26</xbrli:instant></xbrli:period>
        <xbrli:scenario>
          <xbrldi:typedMember dimension="gl:d1"><gl:_1>cG1</gl:_1></xbrldi:typedMember>
          <xbrldi:typedMember dimension="gl:d2"><gl:_2>cG2.4</gl:_2></xbrldi:typedMember>
        </xbrli:scenario>
    </xbrli:context>
    <gl:cor-3 contextRef="cG1cG2.4">05</gl:cor-3>
    <gl:cor-4 contextRef="cG1cG2.4">0002</gl:cor-4>
    <gl:cor-5 contextRef="cG1cG2.4" unitRef="JPY" decimals="0">400</gl:cor-5>
</xbrli:xbrl>

SRCD フォーミュラ リンクベース

<?xml version="1.0" encoding="UTF-8"?>
<!-- Generated by SAMBUICHI, Nobuyuki's shell script and edited with Visual Studio Code -->
<link:linkbase xsi:schemaLocation="http://www.xbrl.org/2003/linkbase http://www.xbrl.org/2003/xbrl-linkbase-2003-12-31.xsd http://xbrl.org/2008/generic http://www.xbrl.org/2008/generic-link.xsd 
http://xbrl.org/2008/assertion/consistency http://www.xbrl.org/2008/consistency-assertion.xsd 
http://xbrl.org/2008/formula http://www.xbrl.org/2008/formula.xsd 
http://xbrl.org/2008/filter/tuple http://www.xbrl.org/2008/tuple-filter.xsd 
http://xbrl.org/2008/variable http://www.xbrl.org/2008/variable.xsd 
http://xbrl.org/2008/assertion/value http://www.xbrl.org/2008/value-assertion.xsd 
http://xbrl.org/2008/label http://www.xbrl.org/2008/generic-label.xsd 
http://xbrl.org/2008/reference http://www.xbrl.org/2008/generic-reference.xsd 
http://xbrl.org/2008/filter/dimension http://www.xbrl.org/2008/dimension-filter.xsd 
http://xbrl.org/2008/filter/concept http://www.xbrl.org/2008/concept-filter.xsd 
http://xbrl.org/2008/validation http://www.xbrl.org/2008/validation.xsd 
http://xbrl.org/2008/filter/relative http://www.xbrl.org/2008/relative-filter.xsd 
http://xbrl.org/2008/filter/general http://www.xbrl.org/2008/general-filter.xsd 
http://xbrl.org/2008/filter/period http://www.xbrl.org/2008/period-filter.xsd 
http://xbrl.org/2008/filter/match http://www.xbrl.org/2008/match-filter.xsd 
http://xbrl.org/2010/filter/concept-relation http://www.xbrl.org/2010/concept-relation-filter.xsd 
http://xbrl.org/2008/filter/segment-scenario http://www.xbrl.org/2008/segment-scenario-filter.xsd
http://www.srcdtest.com ../frTaxonomy/FRTaxonomy.xsd"
xmlns:xlink="http://www.w3.org/1999/xlink"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:link="http://www.xbrl.org/2003/linkbase"
xmlns:iso4217="http://www.xbrl.org/2003/iso4217"
xmlns:formula="http://xbrl.org/2008/formula"
xmlns:variable="http://xbrl.org/2008/variable"
xmlns:cf="http://xbrl.org/2008/filter/concept"
xmlns:df="http://xbrl.org/2008/filter/dimension"
xmlns:gf="http://xbrl.org/2008/filter/general" 
xmlns:pf="http://xbrl.org/2008/filter/period" 
xmlns:gen="http://xbrl.org/2008/generic"
xmlns:tf="http://xbrl.org/2008/filter/tuple" 
xmlns:va="http://xbrl.org/2008/assertion/value" 
xmlns:msg="http://xbrl.org/2010/message"
xmlns:gl="http://www.GL.com"
xmlns:fr-sample="http://www.srcdtest.com">
  <link:arcroleRef arcroleURI="http://xbrl.org/arcrole/2008/variable-set" xlink:type="simple" xlink:href="http://www.xbrl.org/2008/variable.xsd#variable-set" />
  <link:arcroleRef arcroleURI="http://xbrl.org/arcrole/2008/variable-filter" xlink:type="simple" xlink:href="http://www.xbrl.org/2008/variable.xsd#variable-filter" />
  <link:arcroleRef arcroleURI="http://xbrl.org/arcrole/2008/variable-set-filter" xlink:type="simple" xlink:href="http://www.xbrl.org/2008/variable.xsd#variable-set-filter" />
  <link:arcroleRef arcroleURI="http://xbrl.org/arcrole/2008/element-reference" xlink:type="simple" xlink:href="http://www.xbrl.org/2008/generic-reference.xsd#element-reference" />
  <link:arcroleRef arcroleURI="http://xbrl.org/arcrole/2008/element-label" xlink:type="simple" xlink:href="http://www.xbrl.org/2008/generic-label.xsd#element-label" />
  <link:arcroleRef arcroleURI="http://xbrl.org/arcrole/2008/consistency-assertion-parameter" xlink:type="simple" xlink:href="http://www.xbrl.org/2008/consistency-assertion.xsd#consistency-assertion-parameter" />
  <link:arcroleRef arcroleURI="http://xbrl.org/arcrole/2016/assertion-unsatisfied-severity" xlink:type="simple" xlink:href="http://www.xbrl.org/2016/assertion-severity.xsd#assertion-unsatisfied-severity" />
  <link:arcroleRef arcroleURI="http://xbrl.org/arcrole/2008/consistency-assertion-formula" xlink:type="simple" xlink:href="http://www.xbrl.org/2008/consistency-assertion.xsd#consistency-assertion-formula" />
  <link:roleRef roleURI="http://www.xbrl.org/2008/role/reference" xlink:type="simple" xlink:href="http://www.xbrl.org/2008/generic-reference.xsd#standard-reference" />
  <link:roleRef roleURI="http://www.xbrl.org/2008/role/label" xlink:type="simple" xlink:href="http://www.xbrl.org/2008/generic-label.xsd#standard-label" />
  <link:roleRef roleURI="http://www.xbrl.org/2008/role/link" xlink:type="simple" xlink:href="http://www.xbrl.org/2008/generic-link.xsd#standard-link-role" />
  <gen:link xlink:type="extended" xlink:role="http://www.xbrl.org/2008/role/link">
  <!-- Formula 1 -->
    <formula:formula id="Formula1" aspectModel="dimensional" implicitFiltering="true" value="sum($amount)" source="formula:uncovered" xlink:type="resource" xlink:label="Formula1">
      <formula:aspects>
        <formula:concept>
          <formula:qname>fr-sample:PrimaryItem04</formula:qname>
        </formula:concept>
        <formula:explicitDimension dimension="fr-sample:Costcategory1">
          <formula:member><formula:qname>fr-sample:DomainMember20</formula:qname></formula:member>
        </formula:explicitDimension>
      </formula:aspects>
    </formula:formula>
    <variable:variableArc name="amount" order="1" xlink:type="arc" xlink:arcrole="http://xbrl.org/arcrole/2008/variable-set" xlink:from="Formula1" xlink:to="amount" />
    <variable:factVariable id="amount" bindAsSequence="true" xlink:type="resource" xlink:label="amount" />
    <variable:variableFilterArc complement="false" cover="true" order="1" xlink:type="arc" xlink:arcrole="http://xbrl.org/arcrole/2008/variable-filter" xlink:from="amount" xlink:to="cNamount" />
    <variable:variableFilterArc complement="false" cover="true" order="2" xlink:type="arc" xlink:arcrole="http://xbrl.org/arcrole/2008/variable-filter" xlink:from="amount" xlink:to="tD_1_cG1" />
    <variable:variableFilterArc complement="false" cover="true" order="3" xlink:type="arc" xlink:arcrole="http://xbrl.org/arcrole/2008/variable-filter" xlink:from="amount" xlink:to="tD_2_cG2" />
  <!-- Formula 2 -->
    <formula:formula id="Formula2" aspectModel="dimensional" implicitFiltering="true" value="sum($amount_accountID_0002)" source="formula:uncovered" xlink:type="resource" xlink:label="Formula2">
      <formula:aspects>
        <formula:concept>
          <formula:qname>fr-sample:PrimaryItem05</formula:qname>
        </formula:concept>
        <formula:explicitDimension dimension="fr-sample:Costcategory1">
          <formula:member><formula:qname>fr-sample:DomainMember20</formula:qname></formula:member>
        </formula:explicitDimension>
      </formula:aspects>
    </formula:formula>
    <variable:variableArc name="contextRef_accountID_0002" order="2" xlink:type="arc" xlink:arcrole="http://xbrl.org/arcrole/2008/variable-set" xlink:from="Formula2" xlink:to="contextRef_accountID_0002" />
    <variable:generalVariable id="contextRef_accountID_0002" bindAsSequence="true" select="//gl:cor-4[contains(text(),'0002')]/@contextRef" xlink:type="resource" xlink:label="contextRef_accountID_0002" />
    <variable:variableArc name="amount_accountID_0002" order="3" xlink:type="arc" xlink:arcrole="http://xbrl.org/arcrole/2008/variable-set" xlink:from="Formula2" xlink:to="amount_accountID_0002" />
    <variable:factVariable id="amount_accountID_0002" bindAsSequence="true" xlink:type="resource" xlink:label="amount_accountID_0002" />
    <variable:variableFilterArc complement="false" cover="true" order="1" xlink:type="arc" xlink:arcrole="http://xbrl.org/arcrole/2008/variable-filter" xlink:from="amount_accountID_0002" xlink:to="cNamount" />
    <variable:variableFilterArc complement="false" cover="true" order="2" xlink:type="arc" xlink:arcrole="http://xbrl.org/arcrole/2008/variable-filter" xlink:from="amount_accountID_0002" xlink:to="filter_contextRef_accountID_0002"/>
    <variable:variableFilterArc complement="false" cover="true" order="3" xlink:type="arc" xlink:arcrole="http://xbrl.org/arcrole/2008/variable-filter" xlink:from="amount_accountID_0002" xlink:to="tD_1_cG1" />
    <variable:variableFilterArc complement="false" cover="true" order="4" xlink:type="arc" xlink:arcrole="http://xbrl.org/arcrole/2008/variable-filter" xlink:from="amount_accountID_0002" xlink:to="tD_2_cG2" />
  <!-- Formula 3 -->
    <formula:formula id="Formula3" aspectModel="dimensional" implicitFiltering="true" value="sum($f3_amount_accountID_0002)" source="formula:uncovered" xlink:type="resource" xlink:label="Formula3">
      <formula:aspects>
        <formula:concept>
          <formula:qname>fr-sample:PrimaryItem06</formula:qname>
        </formula:concept>
        <formula:explicitDimension dimension="fr-sample:Costcategory1">
          <formula:member><formula:qname>fr-sample:DomainMember20</formula:qname></formula:member>
        </formula:explicitDimension>
      </formula:aspects>
    </formula:formula>
    <variable:variableArc name="f3_accountID_0002" order="1" xlink:type="arc" xlink:arcrole="http://xbrl.org/arcrole/2008/variable-set" xlink:from="Formula3" xlink:to="f3_accountID_0002" />
    <variable:factVariable id="f3_accountID_0002" bindAsSequence="true" xlink:type="resource" xlink:label="f3_accountID_0002" />
    <variable:variableFilterArc complement="false" cover="true" order="1" xlink:type="arc" xlink:arcrole="http://xbrl.org/arcrole/2008/variable-filter" xlink:from="f3_accountID_0002" xlink:to="cNaccountID" />
    <variable:variableFilterArc complement="false" cover="true" order="2" xlink:type="arc" xlink:arcrole="http://xbrl.org/arcrole/2008/variable-filter" xlink:from="f3_accountID_0002" xlink:to="filter_accountID_0002"/>
    <variable:variableFilterArc complement="false" cover="true" order="3" xlink:type="arc" xlink:arcrole="http://xbrl.org/arcrole/2008/variable-filter" xlink:from="f3_accountID_0002" xlink:to="tD_1_cG1" />
    <variable:variableFilterArc complement="false" cover="true" order="4" xlink:type="arc" xlink:arcrole="http://xbrl.org/arcrole/2008/variable-filter" xlink:from="f3_accountID_0002" xlink:to="tD_2_cG2" />
    <variable:variableArc name="f3_contextRef_accountID_0002" order="2" xlink:type="arc" xlink:arcrole="http://xbrl.org/arcrole/2008/variable-set" xlink:from="Formula3" xlink:to="f3_contextRef_accountID_0002" />
    <variable:generalVariable id="f3_contextRef_accountID_0002" bindAsSequence="true" select="$f3_accountID_0002/@contextRef" xlink:type="resource" xlink:label="f3_contextRef_accountID_0002" />
    <variable:variableArc name="f3_amount_accountID_0002" order="3" xlink:type="arc" xlink:arcrole="http://xbrl.org/arcrole/2008/variable-set" xlink:from="Formula3" xlink:to="f3_amount_accountID_0002" />
    <variable:generalVariable id="f3_amount_accountID_0002" bindAsSequence="true" select="//gl:cor-5[@contextRef=$f3_contextRef_accountID_0002]" xlink:type="resource" xlink:label="f3_amount_accountID_0002" />
  <!-- filters -->
    <cf:conceptName id="cNamount" xlink:type="resource" xlink:label="cNamount">
      <cf:concept><cf:qname>gl:cor-5</cf:qname></cf:concept>
    </cf:conceptName>
    <cf:conceptName id="cNaccountID" xlink:type="resource" xlink:label="cNaccountID">
      <cf:concept><cf:qname>gl:cor-4</cf:qname></cf:concept>
    </cf:conceptName>
    <gf:general id="filter_contextRef_accountID_0002" test="@contextRef=$contextRef_accountID_0002" xlink:type="resource" xlink:label="filter_contextRef_accountID_0002"/>    
    <gf:general id="filter_accountID_0002" test=". eq '0002'" xlink:type="resource" xlink:label="filter_accountID_0002"/>    
    <df:typedDimension id="tD_1_cG1" test="substring(gl:_1,1,3)='cG1'" xlink:type="resource" xlink:label="tD_1_cG1">
      <df:dimension><df:qname>gl:d1</df:qname></df:dimension>
    </df:typedDimension>
    <df:typedDimension id="tD_2_cG2" test="substring(gl:_2,1,3)='cG2'"  xlink:type="resource" xlink:label="tD_2_cG2">
      <df:dimension><df:qname>gl:d2</df:qname></df:dimension>
    </df:typedDimension> 
  </gen:link>
</link:linkbase>

変換後のFRインスタンス文書

<?xml version="1.0" encoding="UTF-8"?>
<!-- Generated by Fujitsu XWand B0234CS -->
<xbrl xmlns:fr-sample="http://www.srcdtest.com" xmlns:link="http://www.xbrl.org/2003/linkbase" xmlns:gl="http://www.GL.com" xmlns:iso639="http://www.xbrl.org/2005/iso639" xmlns:xbrldt="http://xbrl.org/2005/xbrldt" xmlns:xbrldi="http://xbrl.org/2006/xbrldi" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://www.xbrl.org/2003/instance" xmlns:iso4217="http://www.xbrl.org/2003/iso4217" xmlns:xlink="http://www.w3.org/1999/xlink" xsi:schemaLocation="http://xbrl.org/2006/xbrldi http://www.xbrl.org/2006/xbrldi-2006.xsd">
  <link:schemaRef xlink:type="simple" xlink:href="../frTaxonomy/FRTaxonomy.xsd"/>
  <context id="context">
    <entity>
      <identifier scheme="http://eipa.jp">EIPA</identifier>
      <segment>
        <xbrldi:explicitMember dimension="fr-sample:Costcategory1">fr-sample:DomainMember20</xbrldi:explicitMember>
      </segment>
    </entity>
    <period>
      <instant>2020-11-26</instant>
    </period>
  </context>
  <unit id="JPY">
    <measure>iso4217:JPY</measure>
  </unit>
  <fr-sample:PrimaryItem04 precision="0" contextRef="context" unitRef="JPY">1450</fr-sample:PrimaryItem04>
  <fr-sample:PrimaryItem05 precision="0" contextRef="context" unitRef="JPY">900</fr-sample:PrimaryItem05>
  <fr-sample:PrimaryItem06 contextRef="context">900</fr-sample:PrimaryItem06>
</xbrl>