# Xbrl Parser Expert

> 日本の証券データ（EDINET）のXBRL/iXBRL解析に関する専門スキル。「予測」を排除し、事実（名前空間・スキーマ参照）に基づく厳格なパースを実現します。

- Skill: `majiayu000/xbrl-parser-expert` (Agent Skill, multi-file: 2 files)
- Install (CLI): `npx skillmds@latest add majiayu000/xbrl-parser-expert`
- Raw SKILL.md: https://api.skillmd.com/api/skills/majiayu000/xbrl-parser-expert/raw
- Safety review: pending (external: skill-scanner PASS, skillspector PASS)
- Works with: Claude Code, Claude.ai, OpenAI Codex
- Category: Coding & Dev Tools
- Author: majiayu000 (https://skillmd.com/u/majiayu000)
- Updated: 2026-09-09
- Page: https://skillmd.com/skills/majiayu000/xbrl-parser-expert

---

# XBRL パース・エキスパート (XBRL Parser Expert)

ARIAにおけるEDINETからのXBRL/Inline XBRLデータの抽出と解析を、「事実基底」かつ完全に決定論的な手法で処理するための専門スキルおよび規範です。

## 1. タクソノミの絶対的特定手法 (Facts over Prediction)
金融庁の「～以後に終了する事業年度に係る書類から適用」といった文章表現に対し、システムが日付計算による「タクソノミバージョンの推測」を行うことは厳禁です。\
XBRL仕様およびEDINET「報告書インスタンス作成ガイドライン」に基づき、パーサーは**ファイル内に物理的に宣言された名前空間（Namespace）または `schemaRef` のみに依存して**ロードする辞書（タクソノミ）を決定しなければなりません。

- **取得前判別**: EDINET API v2 のレスポンスフィールド `periodEnd` （対象期間終了日）を用いて使用タクソノミ群をフィルタリングする。
- **解析時判別**: `<xbrli:xbrl>` または `<html>` 要素の `xmlns:jppfs` 等の名前空間URI（例: `http://disclosure.edinet-fsa.go.jp/taxonomy/jppfs/2020-03-31/...`）を正規表現等で抽出し、ロードすべきタクソノミバージョンを確定的に解決する。

## 2. NULL 基底アーキテクチャ (NULL Base Architecture)
XBRLデータ構造は企業によって大きく拡張（提出者別タクソノミ）されるため、特定のタグ（例: `jppfs_cor:NetSales`）が存在しない場合があります。
- 要素が見つからない場合、決して `0` や `-1` や `""`（空文字）などのSentinel Value（番兵値）で埋めず、**必ず `None` (NULL) を返す**こと。
- `0件` の結果と `要素なし` は、財務・監査上、全く異なる意味を持ちます。「異常なゼロ」を発生させないため、欠落は欠落として扱います。

## 3. フェイルファスト (Fail-Fast Parsing)
- スキーマのURIと、処理対象のタクソノミ辞書のバージョンが不一致の場合、推し量ってパースを続行せず、例外（例: `TaxonomyVersionMismatchError`）を発生させて**直ちに停止**すること。
- メタデータ（`periodEnd`等）と、パースしたXBRL内の `CurrentPeriodEndDateDEI` が矛盾する場合、データの誠実性が担保できないため、警告を記録し処理を停止（または隔離キューへ移動）すること。

## 4. リソースエコノミー (API & Memory Economy)
大量の有価証券報告書のXBRL（数十MB単位のファイルが数千件）を処理するため、以下の制限を順守します。
- メモリ上の巨大なDOMツリー構築（`xml.etree`全体ロードなど）を避け、可能な限り SAX や `lxml` の `iterparse` を使用したストリーミングパースを検討すること。
- 頻出するタクソノミ辞書（xsd/xml）ファイルは、実行ごとに再読み込みせず、メモリ（または高速なKVS等）にキャッシングし、IOアクセスを最小化すること。

## 5. ドキュメント不可知性 (Document Agnostic Parsing)
XBRLデータは、有価証券報告書だけでなく、四半期報告書、半期報告書、臨時報告書など様々な開示書類に添付されます。
- 書類を分類・フィルタリングする際は、特定の `formCode` や `ordinanceCode` のホワイトリスト（ハードコード）に依存してはならず、**EDINET APIの `xbrlFlag == 1` を第一の物理的事実として優先**すること。
- XBRLZIP展開時に、ファイル名に `"asr"` (Annual Securities Report) などの特定書類を示す文字列が含まれることを前提とするロジックは厳禁です。XBRLファイルは必ず `PublicDoc` フォルダ配下に `.xbrl` または `.xsd` として存在するというディレクトリ構造そのものの「事実」を抽出条件とすること。

