タクソノミー文書の検証では,リンクベースに記述されたリンクの整合性のチェックとして,XLinkプロセッサで次の内容を確認します。
URIの指定方法に関する注意事項と,検証内容について次に説明します。
URIの指定方法には,次の2種類があります。
相対URIは絶対URIに変換され,リモートリソースを特定します(相対URIの解決)。相対URIの解決はxlink:href属性だけでなく,<xsd:import>要素などの,XBRL文書でリモートリソースへの参照定義に使用される相対URIに適用されます。ここでは,相対URIの解決,エンティティリゾルバを使用したURIの解決,URI表記に関する注意事項,およびXPointerを使用したURIの指定方法について説明します。
タクソノミー本体やリンクベースの要素など,リモートリソースへの参照定義に相対URIを使用した場合,相対URIは絶対URIに変換されます。XBRL2.1の場合は,基底となるURIを記述するxml:base属性を指定できます。
uCosminexus Business Reporting Processorは,XML Baseの仕様に従って相対URIを解決します。
次の場合,解決後のURIはhttp://xxx/yyy/test.xsdとなります。
<schemaRef xml:base="http://xxx/yyy/" xlink:href="test.xsd" ...(中略)> |
xlink:href属性値とxml:base属性値を組み合わせても絶対URIにならない場合,XML文書読み込み元のURIが基底URIとして使用されます。XML文書読み込み元のURIが定まっていない場合,アプリケーションの現在の作業フォルダが基底URIとして使用され,絶対URIに変換されます。
エンティティリゾルバは,アプリケーションで外部エンティティを解決するための機能です。uCosminexus Business Reporting Processorでは,org.xml.sax.EntityResolverインターフェースを利用できます。
uCosminexus Business Reporting Processorは,エンティティリゾルバが登録されていた場合,タクソノミー文書などの外部エンティティを解決する前に,アプリケーションにコールバックします。例えば,エンティティリゾルバを使用して,絶対URIをローカルファイル名に変換し,リモートリソースにアクセスしないようにできます。
エンティティリゾルバのコーディングの詳細については,「4.14 エンティティリゾルバ」を参照してください。
XBRL文書のURIは,uCosminexus Business Reporting Processorによって正規化され,XBRL文書を識別するためのキーとして管理されます。そのため,URI表記について,次の点に注意してください。
<schemaRef xml:base="/xxx/" xlink:href="test.xsd" ...(中略)> |
xlink:href属性に指定するURIのフラグメントに,XPointerを使用できます。ここでは,使用できる形式と指定例について説明します。
XBRL2.0の場合,URIのフラグメントにはXPointerのショートハンドポインタだけを指定できます。
XBRL2.1の場合,次に示す形式を使用できます。
指定例を次に示します。
<link:roleRef xlink:type="simple" |
<link:roleRef xlink:type="simple" |
<link:roleRef xlink:type="simple" |
<link:roleRef xlink:type="simple" |
<link:roleRef xlink:type="simple" |
単純リンクやロケータ型要素が,参照先となるリモートリソースにトラバースできるかを検証します。これは,xlink:href属性に記述されたリモートリソースへのURIから,参照先のタクソノミー本体の要素や,リンクベースの要素が特定できることを意味します。
アーク型要素が参照しているラベル(xlink:label属性)が,その拡張リンク型要素内で定義されているかを検証します。
同一拡張リンク内に同じ弧を持つリンク(同じxlink:from属性値および同じxlink:to属性値を持つアーク型要素)がないかを検証します。
xlink:role,xlink:arcrole属性値が絶対URIで指定されているかを検証します。
関係ネットワークとは,拡張リンク型要素のxlink:role属性値で分類され,さらにアーク型要素のxlink:arcroleで細分化される関係の集合です。完全な妥当性検証の場合,関係ネットワーク上で禁止されているサイクル(循環など)が存在しないか検証できます。
ラベルリンク,リファレンスリンクおよび脚注リンクは,検証の対象になりません。検証の対象となるリンクと,各リンクに許可されているサイクルのタイプを次に示します。
リンクの種類 | 要素名 | xlink:arcrole属性値 | サイクルのタイプ |
---|---|---|---|
プレゼンテーションリンク | link:presentationArc | http://www.xbrl.org/2003/arcrole/parent-child | undirected |
計算リンク | link:calculationArc | http://www.xbrl.org/2003/arcrole/summation-item | any |
定義リンク | link:definitionArc | http://www.xbrl.org/2003/arcrole/general-special | undirected |
http://www.xbrl.org/2003/arcrole/essence-alias | undirected | ||
http://www.xbrl.org/2003/arcrole/similar-tuples | any | ||
http://www.xbrl.org/2003/arcrole/requires-element | any | ||
- | - | カスタムアークロール (<link:arcroleType>要素のarcroleURI属性値) | cyclesAllowed属性の値 |
essence-aliasアークが,次の制約に従って記述されているかを検証します。
summation-itemアークが,次の制約に従って記述されているかを検証します。