XML 文書のメタデータ
各 XML 文書の teiHeader から、次の要素を取り出します。名前空間プレフィックス(tei: など)は無視されます。
| 表示項目 | 取得元(TEI 要素) | 補足 |
|---|---|---|
| タイトル | teiHeader › titleStmt › title |
type 属性付きの title(副題など)は読み飛ばし、最初の本タイトルを採用します。 |
| 概要説明 | teiHeader › profileDesc › abstract |
abstract が無い場合は msDesc の summary を使います。 |
| 言語 | teiHeader › langUsage › language@ident |
language が無い場合は textLang の mainLang 属性を使います。 |
| カテゴリ | teiHeader › textClass › term |
textClass 内の最初の term を採用します。 |
| ライセンス | teiHeader › publicationStmt › availability › licence |
licence が無い場合は availability 内の p、それも無ければ availability の status 属性を使います。 |
XSL スタイルシートのメタデータ
各 XSL ファイル先頭のコメント内にある、次の構造化行から取り出します。
| 表示項目 | コメント行 |
|---|---|
| タイトル | Title: |
| 概要説明 | Description: |
| カテゴリ | Category: |
| ライセンス | License: |
その他の挙動
- オンライン文書は取得した teiHeader を優先し、欠けた項目は sources.json の fallback で補います。取得に失敗した場合は fallback のみを使います。
- 「同梱/オンライン/追加分」バッジは、sources.json の登録区分(ファイル同梱か、リモート URL か)と、画面上で一時的に追加したものかを表します。
- XSL の「単一 XML/フォルダ」バッジは catalog.json の input 値に基づきます。XSL 先頭コメントの「Input:」を更新し npm run catalog で反映されます。
- catalog.json は生成物です。XML・XSL・sources.json を変更したら npm run catalog で再生成してください。