2.7.1 リンクが上書きされる条件
ここでは,XBRL2.1の場合の,リンクが上書きされる条件について説明します。
リンクの上書きは,リンクの関係が同じと判断された場合に実行されます。次の条件をすべて満たしている場合,リンクの関係が同じであると判断されます。
- 同じ種類の拡張リンクであり,拡張リンクのxlink:role属性の値が同じである。
同じ種類の拡張リンクとは,同じ名前空間の同じローカル名であるかによって判断されます。
- アーク型要素は同じ種類であり,アーク型要素のxlink:arcrole属性の値が同じである。
同じ種類のアーク型要素とは,同じ名前空間の同じローカル名であるかによって判断されます。
- アーク型要素のxlink:from属性がトラバースされた結果求められるXMLフラグメントが同じである。
詳細は,「2.7.1(2) トラバーサル先のXMLフラグメント」を参照してください。
- アーク型要素のxlink:to属性がトラバースされた結果求められるXMLフラグメントが同じである。
詳細は,「2.7.1(2) トラバーサル先のXMLフラグメント」を参照してください。
- アーク型要素に記述した属性のうち,XLinkによって定義されている属性以外(名前空間識別子がxlinkでない属性)が同じである。
なお,XLink以外の属性のうち,use属性とpriority属性は一致する必要はありません。詳細は,「2.7.1(1) アーク型要素の属性一覧とリンクの上書きで必要な条件」を参照してください。
- アーク型要素下のタイトル型要素は,同じリンクの関係の条件に含まれません。
上書きされる条件が一致すれば,片方のアーク型要素にタイトル要素があり,もう片方になくてもリンクの関係は上書きされます。
- <この項の構成>
- (1) アーク型要素の属性一覧とリンクの上書きで必要な条件
- (2) トラバーサル先のXMLフラグメント
(1) アーク型要素の属性一覧とリンクの上書きで必要な条件
リンクが上書きされる条件の一つに,アーク型要素の属性のうち,XLink以外の属性が一致していることがあります。アーク型要素に指定できる属性一覧と,上書きに必要な条件を次の表に示します。
表2-8 アーク型要素の属性一覧とリンクの上書きに必要な条件
分類 | 属性 | 条件 | 説明 |
---|
すべてのアーク型要素共通 | xlink:type | ○ | アーク型要素を示すために,"arc"を指定する必要があります。 |
xlink:from | × | 指定するラベルの値は一致する必要がありません。 |
xlink:to | × | 指定するラベルの値は一致する必要がありません。 |
xlink:arcrole | ○ | アークの役割は同じである必要があるため,同じ値を指定します。 |
xlink:title | × | 一致する必要はありません。 |
xlink:show | × | 一致する必要はありません。 |
xlink:actuate | × | 一致する必要はありません。 |
order | ○ | XLinkで定義されている属性ではないため,一致する必要があります。 |
use | × | リンクの上書きで使用される値であるため,一致する必要はありません。 |
priority | × | リンクの上書きで使用される値であるため,一致する必要はありません。 |
プレゼンテーションリンク | preferredLabel | ○ | XLinkで定義されている属性ではないため,一致する必要があります。 これは,XBRL2.1だけで使用できる属性です。 |
計算リンク | weight | ○ | XLinkで定義されている属性ではないため,一致する必要があります。 |
(凡例)○:値の一致が必要です。 ×:値の一致は不要です。
次の場合は,XBRL文書検証時にエラーとなります。
- xlink:from属性およびxlink:to属性が同じ値のアーク型要素が複数ある場合
同一拡張リンク内に,xlink:from属性およびxlink:to属性の値と同じ値を持つ,別のアーク型要素を記述した場合,致命的エラーとなります。
- xlink:from属性とxlink:to属性に同じ値を指定した場合
xlink:from属性とxlink:to属性に同じ値を指定できます。ただし,アーク型要素の種類によっては同じ値を記述できない場合があり,その場合は,エラーになります。xlink:from属性またはxlink:to属性の片方の値が,ほかのアーク型要素と同じ値でもかまいません。
- priority属性に同じ値を指定した場合
条件によってはエラーとなります。詳細については,「2.7.2 priority属性値が同じ場合のリンクの上書き」を参照してください。
(2) トラバーサル先のXMLフラグメント
アーク型要素のxlink:from属性およびxlink:to属性は,同じ拡張リンク内のロケータ型要素またはリソース型要素を参照します。このとき,リンクの関係が同じかどうかの判断材料となるXMLフラグメントは,ロケータ型要素ではなく,ロケータ型要素が指す要素になります。そのため,ロケータ型要素が同じタクソノミー本体を指している場合,ロケータ型要素が異なる拡張リンクに記述されていても,リンクの関係は同じであると判断されます。
アーク型要素がリソース型要素を参照する場合でも同様に,XMLフラグメントは,リソース型要素ではなく,リソース型要素が指す要素になります。
同じリンクの関係と判断されるロケータ型要素を次に示します。
<拡張リンクA xlink:role="http://www.xbrl.org/2003/role/link">
<loc xlink:href="xxx.xsd#abc" xlink:label="test1" ...>
(中略)
<Arc xlink:from="test1" ....>
</拡張リンクA>
<拡張リンクB xlink:role="http://www.xbrl.org/2003/role/link">
<loc xlink:href="xxx.xsd#element(/1/14)" xlink:label="test2" ...>
(中略)
<Arc xlink:from="test2" ....>
</拡張リンクB> |
この場合,下線部分のxxx.xsdファイルで,#abcが指す要素と#element(/1/14)が指す要素が同じだった場合,XMLフラグメントが同一であると判断され,リンクが上書きされます。