public interface XBRLInstanceNode
図6-14 アクティブになるノードの範囲
表6-37 XBRLInstanceNodeインターフェースのフィールドの概要
項番 | 説明 | |
---|---|---|
1 | static int | INSTANCE_DOCUMENT_NODE このノードは,インスタンス文書を表します。 |
2 | static int | SCHEMA_REF_NODE このノードは,<link:schemaRef>要素を表します。 |
3 | static int | LINKBASE_REF_NODE このノードは,<link:linkbaseRef>要素を表します。 |
4 | static int | ROLE_REF_NODE このノードは,<link:roleRef>要素を表します。 |
5 | static int | ARCROLE_REF_NODE このノードは,<link:arcroleRef>要素を表します。 |
6 | static int | NUMERIC_CONTEXT_NODE このノードは,数値コンテキスト要素を表します。 |
7 | static int | NON_NUMERIC_CONTEXT_NODE このノードは,非数値コンテキスト要素を表します。 |
8 | static int | CONTEXT2_NODE このノードは,コンテキスト要素を表します。 |
9 | static int | UNIT2_NODE このノードは,単位要素を表します。 |
10 | static int | ITEM_NODE このノードは,アイテムを表します。 |
11 | static int | TUPLE_NODE このノードは,タプルを表します。 |
12 | static int | FOOTNOTE_NODE このノードは,脚注を表します。 |
13 | static int | ENTITY_NODE このノードは,エンティティ要素を表します。 |
14 | static int | IDENTIFIER_NODE このノードは,識別子(identifier)要素を表します。 |
15 | static int | SEGMENT_NODE このノードは,セグメント要素を表します。 |
16 | static int | PERIOD_NODE このノードは,時期要素を表します。 |
17 | static int | UNIT_NODE このノードは,単位要素を表します。 |
18 | static int | MEASURE_NODE このノードは,計量要素を表します。 |
19 | static int | OPERATOR_NODE このノードは,演算子要素を表します。 |
20 | static int | SCENARIO_NODE このノードは,シナリオ要素を表します。 |
21 | static int | EXPLICIT_MEMBER_NODE このノードは,<xbrldi:explicitMember>要素を表します。 |
22 | static int | TYPED_MEMBER_NODE このノードは,<xbrldi:typedMember>要素を表します。 |
表6-38 XBRLInstanceNodeインターフェースのメソッドの概要
項番 | 説明 | XBRLのバージョン | |
---|---|---|---|
1 | int | getNodeType() ノードの型を表すコードを取得します。 | 2.0および2.1 |
2 | XBRLInstanceDocument | getOwnerInstanceDocument() ノードを所有するXBRLInstanceDocumentオブジェクトを取得します。 | 2.0および2.1 |
3 | boolean | isActive() ノードがアクティブかどうか(インスタンス文書に存在し,ツリーをたどって到達できるか)を調べます。 | 2.0および2.1 |
4 | XBRLInstanceNode | getParentNode() ノードが関連づけられている親ノードを取得します。 | 2.0および2.1 |
5 | XBRLInstanceNode | cloneNode(boolean deep) ノードを複製します。 | 2.0および2.1 |
6 | org.w3c.dom.Node | getW3CDOMNode() ノードに対応するorg.w3c.dom.Nodeオブジェクトを取得します。 | 2.0および2.1 |
public int getNodeType()
表6-39 利用できるノードの型とXBRLのバージョンの関係
項番 | ノードの型 | XBRL2.0 | XBRL2.1 |
---|---|---|---|
1 | INSTANCE_DOCUMENT_NODE | ○ | ○ |
2 | SCHEMA_REF_NODE | × | ○ |
3 | LINKBASE_REF_NODE | ○ | ○ |
4 | ROLE_REF_NODE | × | ○ |
5 | ARCROLE_REF_NODE | × | ○ |
6 | NUMERIC_CONTEXT_NODE | ○ | × |
7 | NON_NUMERIC_CONTEXT_NODE | ○ | × |
8 | CONTEXT2_NODE | × | ○ |
9 | UNIT2_NODE | × | ○ |
10 | ITEM_NODE | ○ | ○ |
11 | TUPLE_NODE | ○ | ○ |
12 | FOOTNOTE_NODE | ○ | ○ |
13 | ENTITY_NODE | ○ | ○ |
14 | IDENTIFIER_NODE | ○ | ○ |
15 | SEGMENT_NODE | ○ | ○ |
16 | PERIOD_NODE | ○ | ○ |
17 | UNIT_NODE | ○ | × |
18 | MEASURE_NODE | ○ | × |
19 | OPERATOR_NODE | ○ | × |
20 | SCENARIO_NODE | ○ | ○ |
21 | EXPLICIT_MEMBER_NODE※ | × | ○ |
22 | TYPED_MEMBER_NODE※ | × | ○ |
(凡例)○:利用できます。 ×:利用できません。
注※ XBRL Dimensions1.0の場合だけ存在します。
public XBRLInstanceDocument getOwnerInstanceDocument()
public boolean isActive()
public XBRLInstanceNode getParentNode()
表6-40 getParentNodeメソッドが返す親ノードの型
項番 | このノードの型 | メソッドが返す親ノードの型 |
---|---|---|
1 | INSTANCE_DOCUMENT_NODE | このメソッドは常にnullを返します。 |
2 | SCHEMA_REF_NODE | INSTANCE_DOCUMENT_NODE |
3 | LINKBASE_REF_NODE | INSTANCE_DOCUMENT_NODE |
4 | ROLE_REF_NODE | INSTANCE_DOCUMENT_NODE |
5 | ARCROLE_REF_NODE | INSTANCE_DOCUMENT_NODE |
6 | NUMERIC_CONTEXT_NODE | INSTANCE_DOCUMENT_NODE |
7 | NON_NUMERIC_CONTEXT_NODE | INSTANCE_DOCUMENT_NODE |
8 | CONTEXT2_NODE | INSTANCE_DOCUMENT_NODE |
9 | UNIT2_NODE | INSTANCE_DOCUMENT_NODE |
10 | ITEM_NODE | INSTANCE_DOCUMENT_NODEまたはTUPLE_NODE |
11 | TUPLE_NODE | INSTANCE_DOCUMENT_NODEまたはTUPLE_NODE |
12 | FOOTNOTE_NODE | INSTANCE_DOCUMENT_NODE |
13 | ENTITY_NODE | XBRL2.0の場合:NUMERIC_CONTEXT_NODEまたはNON_NUMERIC_CONTEXT_NODE XBRL2.1の場合:CONTEXT2_NODE |
14 | IDENTIFIER_NODE | ENTITY_NODE |
15 | SEGMENT_NODE | ENTITY_NODE |
16 | PERIOD_NODE | XBRL2.0の場合:NUMERIC_CONTEXT_NODEまたはNON_NUMERIC_CONTEXT_NODE XBRL2.1の場合:CONTEXT2_NODE |
17 | UNIT_NODE | NUMERIC_CONTEXT_NODEまたはNON_NUMERIC_CONTEXT_NODE |
18 | MEASURE_NODE | UNIT_NODEまたはOPERATOR_NODE |
19 | OPERATOR_NODE | UNIT_NODEまたはOPERATOR_NODE |
20 | SCENARIO_NODE | XBRL2.0の場合:NUMERIC_CONTEXT_NODEまたはNON_NUMERIC_CONTEXT_NODE XBRL2.1の場合:CONTEXT2_NODE |
21 | EXPLICIT_MEMBER_NODE※ | SEGMENT_NODEまたはSCENARIO_NODE |
22 | TYPED_MEMBER_NODE※ | SEGMENT_NODEまたはSCENARIO_NODE |
注※ XBRL Dimensions1.0の場合だけ存在します。
public XBRLInstanceNode cloneNode(boolean deep)
表6-41 ノードの複製処理
項番 | ノードの型 | 説明 |
---|---|---|
1 | INSTANCE_DOCUMENT_NODE | 引数deepがtrueの場合は,インスタンス文書に含まれているコンテキスト要素,アイテム,タプル,脚注がすべて複製されます。 引数deepがfalseの場合は,インスタンス文書に含まれているコンテキスト要素,アイテム,タプル,脚注はすべて複製されません。つまり,複製されたインスタンス文書は空です。ただし,名前空間宣言は複製されます。 複製されたXBRLInstanceDocumentオブジェクトは,複製元のXBRLInstanceDocumentオブジェクトが参照しているXBRLTaxonomyDocumentオブジェクトの複製を参照します。つまり,XBRLInstanceDocumentのgetTaxonomyDocument()の戻り値は,複製元のXBRLInstanceDocumentオブジェクトと複製先のXBRLInstanceDocumentオブジェクトで異なります。ただし,それぞれが参照するXBRLTaxonomyDocumentオブジェクトの内容は同じです。 XBRL2.0の場合:インスタンス文書の読み込み時にリンクベースの遅延解析が指定されていて,かつリンクが未解析の場合は,複製処理の前にインスタンス文書中のリンクベースの遅延解析が実行されます。このとき,インスタンス文書が参照しているタクソノミー文書に含まれるリンクベース,および,インスタンス文書に記述された<link:linkbaseRef>要素が参照しているリンクベースは,未解析であっても解析されません。 複製されたXBRLInstanceDocumentオブジェクトに対応するorg.w3c.dom.Documentオブジェクトは新規に作成されます。また,インスタンス文書のルート要素がXML文書のルート要素として設定されます。 XBRL2.1の場合:複製されたインスタンス文書のルート要素はid属性を持ちません。 引数deepにtrueが指定された場合は,インスタンス文書の内容が複製されます。複製された各ノードがid属性を持つかどうかについては,この表の各ノードの説明を参照してください。 XBRL2.1の場合:インスタンス文書のIDを管理するXBRLIdManagerオブジェクトは新規に作成されるため,複製元のインスタンス文書と複製されたインスタンス文書とでIDを管理するXBRLIdManagerオブジェクトは異なります。ただし,XBRLIdManagerオブジェクトに設定されているXBRLIdCreatorオブジェクトは引き継がれます。つまり,複製元のXBRLInstanceDocumentオブジェクトと複製されたXBRLInstanceDocumentオブジェクトとで,getIdManager()メソッドが返すXBRLIdManagerオブジェクトは異なりますが,getIdManager().getIdCreator()によって取得できるXBRLIdCreatorオブジェクトは同一のものとなります。このため,インスタンス文書を複製する際にコンテキスト要素などのid属性の値が採番し直されます。このときに複製元と同じXBRLIdCreatorオブジェクトを使用してIDが生成されます。 XBRL2.1の場合:引数deepがfalseの場合は,複製元の<link:schemaRef>要素や<link:linkbaseRef>要素は複製されません。このため,引数deepにfalseを指定してインスタンス文書を複製した場合は,タクソノミー文書を構築する際の出発点となったタクソノミー本体およびリンクベースのリストをXBRLTaxonomyDocument.getStartingPoints()メソッドによって取得し,それらを指す<link:schemaRef>要素および<link:linkbaseRef>要素を追加する必要があります。このとき,各要素のxlink:href属性に指定するURIは,絶対URI,相対URIのどちらでもかまいません。ただし,インスタンス文書をストリームへ出力してから再度読み込んだ際に,それらのURIは適切な文書へ解決されなければなりません。なお,必要な<link:schemaRef>要素および<link:linkbaseRef>要素を追加しなかった場合は,インスタンス文書をストリームへ出力してから再度読み込んだ場合に,タクソノミー文書を構成するタクソノミー本体またはリンクベースに不足が生じるおそれがあるため注意してください。 |
2 | SCHEMA_REF_NODE | サブツリーが存在しないため,引数deepの値は影響しません。 |
3 | LINKBASE_REF_NODE | |
4 | ROLE_REF_NODE | |
5 | ARCROLE_REF_NODE | |
6 | NUMERIC_CONTEXT_NODE | 引数deepの値に関係なく,常にサブツリーが複製されます。 複製されたコンテキスト要素のid属性の値は採番し直されます。 |
7 | NON_NUMERIC_CONTEXT_NODE | |
8 | CONTEXT2_NODE | |
9 | UNIT2_NODE | サブツリー※1が存在しないため,引数deepの値は影響しません。複製された単位要素のid属性の値は採番し直されます。 |
10 | ITEM_NODE | アイテムにはサブツリー※1が存在しないため,引数deepの値は影響しません。 複製されたアイテムは,複製元と同一のコンテキスト要素を参照します。 XBRL2.1の場合:数値アイテムを複製した場合,複製されたアイテムは,複製元と同一の単位要素を参照します。 XBRL2.0の場合:複製されたアイテムのid属性の値は採番し直されます。 XBRL2.1の場合:複製されたアイテムはid属性を持ちません。 |
11 | TUPLE_NODE | 引数deepがtrueの場合は,タプルの子要素もすべて複製されます。引数deepがfalseの場合は,子要素は複製されません。 XBRL2.0の場合:複製されたタプルのid属性の値は採番し直されます。 XBRL2.1の場合:複製されたタプルはid属性を持ちません。 |
12 | ENTITY_NODE | 引数deepの値に関係なく,常にサブツリーが複製されます。 |
13 | PERIOD_NODE | |
14 | UNIT_NODE | |
15 | OPERATOR_NODE | |
16 | IDENTIFIER_NODE | サブツリー※1がないため,引数deepの値は影響しません。 |
17 | SEGMENT_NODE | XBRL Dimensions1.0ではない場合:サブツリー※1が存在しないため,引数deepの値は影響しません。 XBRL Dimensions1.0の場合:引数deepがtrueの場合は,セグメント要素に含まれている<xbrldi:explicitMember>要素および<xbrldi:typedMember>要素がすべて複製されます。 引数deepがfalseの場合は,セグメント要素に含まれている<xbrldi:explicitMember>要素および<xbrldi:typedMember>要素がすべて複製されません。 |
18 | MEASURE_NODE | サブツリー※1がないため,引数deepの値は影響しません。 |
19 | SCENARIO_NODE | XBRL Dimensions1.0ではない場合:サブツリー※1が存在しないため,引数deepの値は影響しません。 XBRL Dimensions1.0の場合:引数deepがtrueの場合は,シナリオ要素に含まれている<xbrldi:explicitMember>要素および<xbrldi:typedMember>要素がすべて複製されます。 引数deepがfalseの場合は,シナリオ要素に含まれている<xbrldi:explicitMember>要素および<xbrldi:typedMember>要素がすべて複製されません。 |
20 | FOOTNOTE_NODE | サブツリー※1がないため,引数 deep の値は影響しません。 XBRL2.1の場合:複製された脚注はid属性を持ちません。 |
21 | EXPLICIT_MEMBER_NODE※2 | サブツリー※1が存在しないため,引数deepの値は影響しません。 |
22 | TYPED_MEMBER_NODE※2 | サブツリー※1が存在しないため,引数deepの値は影響しません。 |
注※1 ここでのサブツリーとは,XBRL DOMのノード(XBRLInstanceNodeオブジェクト)によって構築されるツリーでのサブツリーのことです。W3C DOMのノード(org.w3c.dom.Nodeオブジェクト)によって構築されるツリーでのサブツリーではないので注意してください。
例えば,単位要素の子として記述される<xbrli:divide>要素は,XBRL DOMではXBRLUnit2オブジェクトの子ノードとしては表現されませんが,W3C DOMでは<xbrli:divide>要素は<xbrli:unit>要素を表すノードの子ノードとして表現されます。そのため,XBRLUnit2オブジェクトを複製した場合は,W3C DOMではサブツリーとなっている<xbrli:divide>要素を表すノードやその子孫(<xbrli:unitNumerator>要素を表すノードや<xbrli:unitDenominator>要素を表すノード)も複製されます。
これは,データ型がFRACTION_ITEMであるアイテム,XHTMLのタグを内容として持つ脚注,任意の子要素を記述できるセグメント要素やシナリオ要素についても同じです。
注※2 XBRL Dimensions1.0の場合だけ存在します。
public org.w3c.dom.Node getW3CDOMNode()
表6-42 getW3CDOMNodeメソッドが返すorg.w3c.dom.Nodeオブジェクト
項番 | XBRLInstanceNode オブジェクトの型 | org.w3c.dom.Node オブジェクトの型 | 説明 |
---|---|---|---|
1 | INSTANCE_DOCUMENT_NODE | org.w3c.dom.Document | インスタンス文書を表します。 |
2 | SCHEMA_REF_NODE | org.w3c.dom.Element | <link:schemaRef>要素を表します。 |
3 | LINKBASE_REF_NODE | org.w3c.dom.Element | <link:linkbaseRef>要素を表します。 |
4 | ROLE_REF_NODE | org.w3c.dom.Element | <link:roleRef>要素を表します。 |
5 | ARCROLE_REF_NODE | org.w3c.dom.Element | <link:arcroleRef>要素を表します。 |
6 | NUMERIC_CONTEXT_NODE | org.w3c.dom.Element | <xbrli:numericContext>要素を表します。 |
7 | NON_NUMERIC_CONTEXT_NODE | org.w3c.dom.Element | <xbrli:nonNumericContext>要素を表します。 |
8 | CONTEXT2_NODE | org.w3c.dom.Element | <xbrli:context>要素を表します。 |
9 | UNIT2_NODE | org.w3c.dom.Element | <xbrli:unit>要素を表します。 |
10 | ITEM_NODE | org.w3c.dom.Element | <xbrli:item>要素の代替要素を表します。 |
11 | TUPLE_NODE | org.w3c.dom.Element | <xbrli:tuple>要素の代替要素を表します。 |
12 | FOOTNOTE_NODE | org.w3c.dom.Element | <link:footnote>要素を表します。 |
13 | ENTITY_NODE | org.w3c.dom.Element | <xbrli:entity>要素を表します。 |
14 | IDENTIFIER_NODE | org.w3c.dom.Element | <xbrli:identifier>要素を表します。 |
15 | SEGMENT_NODE | org.w3c.dom.Element | <xbrli:segment>要素を表します。 |
16 | PERIOD_NODE | org.w3c.dom.Element | <xbrli:period>要素を表します。 |
17 | UNIT_NODE | org.w3c.dom.Element | <xbrli:unit>要素を表します。 |
18 | MEASURE_NODE | org.w3c.dom.Element | <xbrli:measure>要素を表します。 |
19 | OPERATOR_NODE | org.w3c.dom.Element | <xbrli:operator>要素を表します。 |
20 | SCENARIO_NODE | org.w3c.dom.Element | <xbrli:scenario>要素を表します。 |
21 | EXPLICIT_MEMBER_NODE※ | org.w3c.dom.Element | <xbrldi:explicitMember>要素を表します。 |
22 | TYPED_MEMBER_NODE※ | org.w3c.dom.Element | <xbrldi:typedMember>要素を表します。 |
注※ XBRL Dimensions1.0の場合だけ存在します。
表6-43 org.w3c.dom.Nodeオブジェクトに対して許可される更新操作
項番 | XBRLInstanceNode オブジェクトの型 | 許可される更新操作 |
---|---|---|
1 | INSTANCE_DOCUMENT_NODE | 更新操作は許可されません。 |
2 | SCHEMA_REF_NODE | 更新操作は許可されません。 |
3 | LINKBASE_REF_NODE | 更新操作は許可されません。 |
4 | ROLE_REF_NODE | 更新操作は許可されません。 |
5 | ARCROLE_REF_NODE | 更新操作は許可されません。 |
6 | NUMERIC_CONTEXT_NODE | 更新操作は許可されません。 |
7 | NON_NUMERIC_CONTEXT_NODE | 更新操作は許可されません。 |
8 | CONTEXT2_NODE | 更新操作は許可されません。 |
9 | UNIT2_NODE | 更新操作は許可されません。 |
10 | ITEM_NODE | 次の属性以外の属性の追加・更新・削除が許可されます。
|
11 | TUPLE_NODE | 次の属性以外の属性の追加・更新・削除が許可されます。
|
12 | FOOTNOTE_NODE | 子孫ノードに対する任意の更新操作が許可されます。 |
13 | ENTITY_NODE | 更新操作は許可されません。 |
14 | IDENTIFIER_NODE | 更新操作は許可されません。 |
15 | SEGMENT_NODE | XBRL Dimensions1.0ではない場合:子孫ノードに対する任意の更新操作が許可されます。 XBRL Dimensions1.0の場合:次の子孫ノード以外の子孫ノードに対する任意の更新操作が許可されます。
|
16 | PERIOD_NODE | 更新操作は許可されません。 |
17 | UNIT_NODE | 更新操作は許可されません。 |
18 | MEASURE_NODE | 更新操作は許可されません。 |
19 | OPERATOR_NODE | 更新操作は許可されません。 |
20 | SCENARIO_NODE | XBRL Dimensions1.0ではない場合:子孫ノードに対する任意の更新操作が許可されます。 XBRL Dimensions1.0の場合:次の子孫ノード以外の子孫ノードに対する任意の更新操作が許可されます。
|
21 | EXPLICIT_MEMBER_NODE※ | 子孫ノードに対する任意の更新操作が許可されます。 |
22 | TYPED_MEMBER_NODE※ | 子孫ノードに対する任意の更新操作が許可されます。 |
注※ XBRL Dimensions1.0の場合だけ存在します。