6.6.15 XBRLInstanceTupleインターフェース

public interface XBRLInstanceTuple
extends XBRLInstanceElement

XBRLのバージョン:
2.0および2.1
説明:
インスタンス文書に記述されているタプルを表します。
タプルの子要素として記述できる要素は,タクソノミー本体でXML Schemaの構文を使用して定義されます。しかし,XBRL DOMでは,任意のアイテムおよびタプルをタプルの子要素として設定できるようになっていて,XBRLInstanceTupleインターフェースを使用してタプルの内容を編集した結果がタクソノミー本体での定義に従っているかどうかについてはチェックしません。
メソッドの概要:
XBRLInstanceTupleインターフェースのメソッドの概要を次の表に示します。

表6-44 XBRLInstanceTupleインターフェースのメソッドの概要

項番説明XBRLのバージョン
1XBRLTaxonomyTuplegetTaxonomyTuple()
  タプルの要素宣言を取得します。
2.0および2.1
2java.util.List<XBRLInstanceElement>getChildElements()
  タプルのすべての子要素のリストを取得します。
2.0および2.1
3java.util.List<XBRLInstanceElement>getChildElements(java.lang.String namespaceURI, java.lang.String name)
  指定した名前の子要素のリストを取得します。
2.0および2.1
4XBRLInstanceElementappendChildElement(XBRLInstanceElement newElement)
  タプルの子要素のリストの末尾に,指定した子要素を追加します。
2.0および2.1
5XBRLInstanceElementinsertChildElementBefore(XBRLInstanceElement newElement, XBRLInstanceElement refElement)
  引数newElementに指定された要素を,このタプルの既存の子要素の前に挿入します。
2.0および2.1
6XBRLInstanceElementreplaceChildElement(XBRLInstanceElement newElement, XBRLInstanceElement oldElement)
  引数oldElementに指定した子要素を,引数newElementに指定した要素で置き換えます。
2.0および2.1
7XBRLInstanceElementremoveChildElement(XBRLInstanceElement oldElement)
  タプルの子要素を削除します。
2.0および2.1
<この項の構成>
(1) getTaxonomyTuple
(2) getChildElements
(3) getChildElements
(4) appendChildElement
(5) insertChildElementBefore
(6) replaceChildElement
(7) removeChildElement

(1) getTaxonomyTuple

public XBRLTaxonomyTuple getTaxonomyTuple()

XBRLのバージョン:
2.0および2.1
説明:
タプルの要素宣言を取得します。
戻り値:
このタプルの要素宣言を表すXBRLTaxonomyTupleオブジェクトを返します。

(2) getChildElements

public java.util.List<XBRLInstanceElement> getChildElements()

XBRLのバージョン:
2.0および2.1
説明:
タプルのすべての子要素のリストを取得します。子要素は,アイテムまたはタプルです。
このメソッドが返すリスト中でのXBRLInstanceElementオブジェクトの順序は,インスタンス文書での要素の出現順と同じです。
このメソッドが返すXBRLInstanceElementオブジェクトのリストはライブオブジェクトです。このメソッドを呼び出したあとに,このメソッドが返したリストに含まれるXBRLInstanceElementオブジェクトに増減があった場合,その変更は直ちに反映されます。また,このメソッドが返すリストは読み取り専用です。このメソッドが返したリストを変更しようとすると,java.lang.UnsupportedOperationExceptionがスローされます。
戻り値:
このタプルの子要素をすべて含むXBRLInstanceElementオブジェクトのリストを返します。このタプルに子要素がない場合は,要素数が0のリストを返します。

(3) getChildElements

public java.util.List<XBRLInstanceElement> getChildElements(java.lang.String namespaceURI,
                                      java.lang.String name)

XBRLのバージョン:
2.0および2.1
説明:
指定した名前の子要素のリストを取得します。子要素は,アイテムまたはタプルです。
タプルの子要素として同じ名前の要素が二つ以上存在することがあります。このため,このメソッドは,指定した名前の子要素を,XBRLInstanceElementオブジェクトのリストとして返します。リスト中でのXBRLInstanceElementオブジェクトの順序は,インスタンス文書での要素の出現順と同じです。
このメソッドが返すXBRLInstanceElementオブジェクトのリストはライブオブジェクトです。このメソッドを呼び出したあとに,このメソッドが返したリストに含まれるXBRLInstanceElementオブジェクトに増減があった場合,その変更は直ちに反映されます。また,このメソッドが返すリストは読み取り専用です。このメソッドが返したリストを変更しようとすると,java.lang.UnsupportedOperationExceptionがスローされます。
引数:
namespaceURI - 子要素の名前空間URIを指定します。
name - 子要素の名前を指定します。
戻り値:
引数namespaceURIで指定した名前空間URIに属し,引数nameで指定した名前を持つ子要素をすべて含むXBRLInstanceElementオブジェクトのリストを返します。指定した子要素がない場合は,要素数が0のリストを返します。
例外:
XBRLDOMRuntimeException -
  • 引数namespaceURIまたはnameにnullを指定した場合にスローされます。[エラーコード:20002]

(4) appendChildElement

public XBRLInstanceElement appendChildElement(XBRLInstanceElement newElement)

XBRLのバージョン:
2.0および2.1
説明:
タプルの子要素のリストの末尾に,指定した子要素を追加します。子要素は,アイテムまたはタプルです。
指定した要素がすでにほかのオブジェクトの子要素となっている場合は,最初に既存の親から指定した要素が削除されます。
XBRL2.1の場合:xsi:nil属性に"true"が指定されている場合は,タプルに子要素を追加できないため,このメソッドを呼び出さないでください。xsi:nil属性に"true"が指定されているタプルに対してこのメソッドを呼び出した場合は,XBRLDOMRuntimeExceptionがスローされます。
引数:
newElement - 追加する子要素を表すXBRLInstanceElementオブジェクトを指定します。
戻り値:
追加された子要素を表すXBRLInstanceElementオブジェクトを返します。
例外:
XBRLDOMRuntimeException -
  • XBRL2.1の場合:このタプルのxsi:nil属性に"true"が指定されている場合にスローされます。[エラーコード:20130]
  • 引数newElementにnullを指定した場合にスローされます。[エラーコード:20002]
  • 引数newElementに指定したXBRLInstanceElementオブジェクトを所有しているXBRLInstanceDocument オブジェクトが,このXBRLInstanceTupleオブジェクトを所有しているXBRLInstanceDocumentオブジェクトと異なる場合にスローされます。[エラーコード:20004]
  • 引数newElementに指定したXBRLInstanceElementオブジェクトが,このXBRLInstanceTupleオブジェクトの祖先か,またはこのXBRLInstanceTupleオブジェクト自身である場合にスローされます。[エラーコード:20054]
  • このタプルがアクティブで,かつ引数newElementに指定した要素が非アクティブで,かつ引数newElementに指定した要素(タプルの場合は子孫要素を含む)のid属性と同じ値を持つxsd:ID型属性がインスタンス文書中にすでに存在する場合にスローされます。[エラーコード:20028]

(5) insertChildElementBefore

public XBRLInstanceElement insertChildElementBefore(XBRLInstanceElement newElement,
                                                   XBRLInstanceElement refElement)

XBRLのバージョン:
2.0および2.1
説明:
引数newElementに指定された要素を,このタプルの既存の子要素の前に挿入します。子要素は,アイテムまたはタプルです。
引数refElementがnullの場合は,引数newElementに指定した要素は,このタプルの子要素のリストの末尾に挿入されます。指定した要素がすでにほかのオブジェクトの子要素となっている場合は,最初に既存の親から指定した要素が削除されます。引数newElementに指定したXBRLInstanceElementオブジェクトが引数refElementに指定したXBRLInstanceElementオブジェクトと同じ場合は,このメソッドは何もしません。
XBRL2.1の場合:xsi:nil属性に"true"が指定されている場合は,タプルに子要素を追加できないため,このメソッドを呼び出さないでください。xsi:nil属性に"true"が指定されているタプルに対してこのメソッドを呼び出した場合は,XBRLDOMRuntimeExceptionがスローされます。
引数:
newElement - 挿入する子要素を表すXBRLInstanceElementオブジェクトを指定します。
refElement - 参照する子要素を表すXBRLInstanceElementオブジェクトを指定します。引数newElementで指定した子要素は,この子要素の直前に挿入されます。
戻り値:
挿入された子要素を表すXBRLInstanceElementオブジェクトを返します。
例外:
XBRLDOMRuntimeException -
  • XBRL2.1の場合:このタプルのxsi:nil属性に"true"が指定されている場合にスローされます。[エラーコード:20130]
  • 引数newElementにnullを指定した場合にスローされます。[エラーコード:20002]
  • 引数newElementに指定したXBRLInstanceElementオブジェクトを所有しているXBRLInstanceDocumentオブジェクトが,このXBRLInstanceTupleオブジェクトを所有しているXBRLInstanceDocumentオブジェクトと異なる場合にスローされます。[エラーコード:20004]
  • 引数newElementに指定したXBRLInstanceElementオブジェクトが,このXBRLInstanceTupleオブジェクトの祖先か,またはこのXBRLInstanceTupleオブジェクト自身である場合にスローされます。[エラーコード:20054]
  • このタプルがアクティブで,かつ引数newElementに指定した要素が非アクティブで,かつ引数newElementに指定した要素(タプルの場合は子孫要素を含む)のid属性と同じ値を持つxsd:ID型属性がインスタンス文書中にすでに存在する場合にスローされます。[エラーコード:20028]
  • 引数refElementに指定した子要素が,このタプルの子要素でない場合にスローされます。[エラーコード:20055]

(6) replaceChildElement

public XBRLInstanceElement replaceChildElement(XBRLInstanceElement newElement,
                                              XBRLInstanceElement oldElement)

XBRLのバージョン:
2.0および2.1
説明:
引数oldElementに指定した子要素を,引数newElementに指定した要素で置き換えます。子要素は,アイテムまたはタプルです。
指定した要素がすでにほかのオブジェクトの子要素となっている場合は,最初に既存の親から指定した要素が削除されます。引数newElementに指定したXBRLInstanceElementオブジェクトが引数oldElementに指定したXBRLInstanceElementオブジェクトと同じ場合は,このメソッドは何もしません。
置き換える前に,id属性の値が重複していないかがチェックされます。このチェックは,引数oldElementを含む置き換えられる前の文書の状態を基に実行されます。例えば,このタプルがアクティブで,かつ,引数newElementに指定した要素が非アクティブで,かつ,引数newElementに指定した要素(タプルの場合は子孫要素を含む)のid属性の値が,引数oldElementで指定した要素(タプルの場合は子孫要素を含む)のid属性の値と重複している場合は,XBRLDOMRuntimeExceptionがスローされます。置き換えの対象となる要素のid属性と同じ値のid属性を持つ別の要素をインスタンス文書に追加したい場合は,XBRLInstanceTuple.removeChildElement(XBRLInstanceElement oldElement)メソッドで置き換えの対象となる要素を削除してから,追加してください。
引数:
newElement - 挿入する子要素を表すXBRLInstanceElementオブジェクトを指定します。
oldElement - 置き換えの対象となる子要素を表すXBRLInstanceElementオブジェクトを指定します。
戻り値:
置き換えの対象となった子要素を表すXBRLInstanceElementオブジェクトを返します。
例外:
XBRLDOMRuntimeException -
  • 引数newElementまたはoldElementにnullを指定した場合にスローされます。[エラーコード:20002]
  • 引数newElementに指定したXBRLInstanceElementオブジェクトを所有しているXBRLInstanceDocumentオブジェクトが,このXBRLInstanceTupleオブジェクトを所有しているXBRLInstanceDocumentオブジェクトと異なる場合にスローされます。[エラーコード:20004]
  • 引数newElementに指定したXBRLInstanceElementオブジェクトが,このXBRLInstanceTupleオブジェクトの祖先か,またはこのXBRLInstanceTupleオブジェクト自身である場合にスローされます。[エラーコード:20054]
  • このタプルがアクティブで,かつ引数newElementに指定した要素が非アクティブで,かつ引数newElementに指定した要素(タプルの場合は子孫要素を含む)のid属性と同じ値を持つxsd:ID型属性がインスタンス文書中にすでに存在する場合にスローされます。[エラーコード:20028]
  • 引数oldElementに指定した子要素が,このタプルの子要素でない場合にスローされます。[エラーコード:20055]

(7) removeChildElement

public XBRLInstanceElement removeChildElement(XBRLInstanceElement oldElement)

XBRLのバージョン:
2.0および2.1
説明:
タプルの子要素を削除します。子要素は,アイテムまたはタプルです。
引数:
oldElement - 削除する子要素を表すXBRLInstanceElementオブジェクトを指定します。
戻り値:
削除された子要素を表すXBRLInstanceElementオブジェクトを返します。
例外:
XBRLDOMRuntimeException -
  • 引数oldElementにnullを指定した場合にスローされます。[エラーコード:20002]
  • 引数oldElementに指定した子要素が,このタプルの子要素でない場合にスローされます。[エラーコード:20055]