uCosminexus Business Reporting Processor 開発者ガイド

[目次][用語][索引][前へ][次へ]

5.5.3 ユーザーデータ型(XBRL2.1の場合)

ユーザーデータ型とは,ユーザーが独自に定義したデータ型のことです。ユーザーは,独自にデータ型の定義をタクソノミー本体に記述します。

XBRL2.1の場合,<xsd:restriction>要素を使用して制約を追加する方法だけを使用できます。

ここでは,XBRL2.1の場合の,ユーザーデータ型と外部とのインターフェース,使用できるユーザーデータ型の条件,および定義例について説明します。

<この項の構成>
(1) 外部とのインターフェース
(2) 使用できるユーザーデータ型の条件
(3) 大域定義の例
(4) 局所定義の例

(1) 外部とのインターフェース

ユーザーデータ型と外部とのインターフェースについて説明します。

ユーザーデータ型とXBRLデータ型と区別するために,ユーザーデータ型では,データ型を表すコードが常にその他(OTHER_ITEM)となります。

ユーザーデータ型をXBRLデータ型から派生して作成し,使用できるユーザーデータ型の条件に合っている場合は,ユーザーデータ型が数値または非数値データ型かどうかが判断されます。条件に合っていない場合,ユーザーデータ型は文字列として保持・参照されます。さらにXBRL2.1の場合は,派生元のデータ型を取得することもできます。

それぞれの場合で使用できるメソッドを次に示します。

(2) 使用できるユーザーデータ型の条件

制約を追加する<xsd:restriction>要素と,<xsd:element>要素の定義は同一ドキュメント内である必要はありません。さらに,局所的な宣言も使用できます。

ここでは,大域的な宣言(グローバル宣言)の場合と局所的な宣言(ローカル宣言)に分けて,使用できるユーザーデータ型の条件を示します。

なお,完全な妥当性検証を実行した場合は,ユーザーデータ型にXBRL2.1で禁止されている定義内容がないかを検証します。この場合,xbrli:fractionItemType型以外から派生したユーザーデータ型が構造を持っているとエラーとなるため,次に示すユーザーデータ型定義(<xsd:complexType>要素)の子要素に<xsd:simpleContent>要素や<xsd:annotation>要素以外が使用されているとエラーになります。

(a) 大域定義の場合
(b) 局所定義の場合

(3) 大域定義の例

<schema
:
    xmlns:cbrpi="http://cosminexus.com/xbrl/"
:
  <element id                ="paymentOfdividends.preferredDividends"
           name              ="paymentOfdividends.preferredDividends"
           type              ="cbrpi:totalDigits"
           substitutionGroup ="xbrli:item"
  />
:
  <complexType name ="totalDigits">
    <simpleContent>
      <restriction base ="xbrli:integerItemType">
        <totalDigits value="5">
      </restriction>
    </simpleContent>
  </complexType>
:
</schema>

(4) 局所定義の例

<schema
:
    xmlns:cbrpi="http://cosminexus.com/xbrl/"
:
  <element id                ="paymentOfdividends.preferredDividends"
           name              ="paymentOfdividends.preferredDividends"
           substitutionGroup ="xbrli:item">
    <complexType>
      <simpleContent>
        <restriction base="xbrli:integerItemType">
          <totalDigits value="5">
        </restriction>
      </simpleContent>
    </complexType>
  </element>
:
</schema>