2.3.1 XMLスキーマ検証

タクソノミー文書は,XBRLのスキーマ定義に従って記述されたXML文書であり,これを構成するタクソノミー本体はXML Schema言語で記述されています。そのため,XMLプロセッサを使用して,次のスキーマ定義を基にタクソノミー文書がXML文書として妥当であるかを検証できます。

検証するには,公開されているスキーマ定義をダウンロードするか,公開先にアクセスできる状態にしてください。検証に必要なスキーマ定義の詳細については,「4.15.3 必要なスキーマ定義」を参照してください。

<この項の構成>
(1) XBRLのバージョンによるXMLスキーマ検証の違い
(2) リンクベースのXMLスキーマ検証
(3) ユーザーデータ型のXMLスキーマ検証【完全な妥当性検証の場合だけ有効】

(1) XBRLのバージョンによるXMLスキーマ検証の違い

XMLスキーマ検証は,XBRLのバージョンによって次のように異なります。

(2) リンクベースのXMLスキーマ検証

リンクベースは,XBRLのスキーマ定義に従って記述されたXML文書です。例えばリンクベースの一つであるリファレンスリンクでは,タクソノミー本体で定義されたパート要素を記述することがありますが,このような場合,リンクベースを参照するタクソノミー本体もリンクベースのスキーマ定義として使用します。

リンクベースのxsi:schemaLocation属性にタクソノミー本体を指定することで,タクソノミー本体をリンクベースのスキーマ定義として読み込めます。

タクソノミー文書(リンクベース)のXMLスキーマ検証を次の図に示します。

図2-3 タクソノミー文書(リンクベース)のXMLスキーマ検証

[図データ]

(3) ユーザーデータ型のXMLスキーマ検証【完全な妥当性検証の場合だけ有効】

完全な妥当性検証を実行すれば,ユーザーデータ型にXBRL2.1で禁止されている定義内容がないかを検証できます。これによって,XML Schemaとして正しいデータ型でも,XBRLとして不正ならばエラーを検出させることができます。

この検証方法を使うと,xbrli:fractionItemType型以外から派生したユーザーデータ型が構造を持っているとエラーとなるため,次に示すユーザーデータ型定義(<xsd:complexType>要素)の子要素に<xsd:simpleContent>要素や<xsd:annotation>要素以外が使用されているとエラーになります。