ここでは,XBRL2.0の場合の,ラベルリンクの上書きについて説明します。
ラベルリンクの場合,リンクではなく,リソース型要素のラベル要素が上書きまたは追加されます。
ラベル要素は,ラベル要素が同一であると判断された場合に上書きされます。同一ラベル要素と判断されるのは,次の条件をすべて満たす場合です。
ラベル要素のロールおよび言語のどちらか(あるいは両方とも)が異なり,同じタクソノミー本体の要素を指している場合,そのタクソノミー本体の要素にラベル要素のリソースが追加されます。
ラベルリンクの同一リンクの判断を次の図に示します。
図2-16 ラベルリンクの同一リンクの判断
上記の図では,(1),(2)および(4)が示すタクソノミー本体の要素は同じため,ラベル名が異なっても同一リンクとして判断されます。この三つのリソース型要素についてロールおよび言語が同じ場合は,ラベル要素が上書きされます。
この例では,ロールを省略していますが,ロールがすべて同じものとして仮定すると,tax1.xsdのidがAのタクソノミー本体の要素に対して,ラベル要素は,English2,日本語2,German,Frenchとなります。
もしロールが異なれば,ラベル要素は上書きされません。ラベル要素はEnglish,日本語,English2,日本語2,German,Frenchとなり,タクソノミー本体の要素に対して日本語2とFrenchが追加されます。
なお,(3)は,(1)と同じラベル名(xlink:label属性の値)を使っていますが,(1)と示す先(ロケータ要素のxlink:href属性)が異なるため,別のリンクと判断されます。(1)ではラベル名の示す先がtax1.xsd#Aですが,(3)ではtax2.xsd#Bであるため,上書きされません。
リソース型要素(ラベル要素)を上書きするため,先にpriority属性の値をチェックします。そのため,priority属性の値が同じ場合,エラーが表示されます。