Skip to the content.

OCX Standard v0.5 (Draft)

最終更新日: 2025-12-23 小木曽

目次


1. 目的と位置づけ

OCX (Open CHJ XML) は、日本語テキストを中心とする人文系資料を対象に、次を同時に満たすことを目的とした XML 規格です。

OCX Standard は、OCX mini(最小マークアップ)を包含しつつ、TEI 語彙の一部を制限付きで利用し、OCX 独自語彙で解析制御を明示します。
本規格は TEI 文書そのものではありません(TEI の一部を借用しつつ、解析用途に最適化します)。


2. 基本原則

  1. 本文に含まれる文字は、原則としてすべて解析対象とします。
  2. 解析対象外とする範囲は、ocx:skip によって明示します。
  3. 原文表記(踊り字・ルビなど)の情報は、解析用文字列と分離して保持します。
  4. XML 要素の交差を避け、実装可能性を優先します。
  5. 名前空間は OCX / TEI ともに接頭辞付きで記述し、OCX 要素は常に ocx: 接頭辞で識別できるようにします。

3. 名前空間と接頭辞運用

3.1 名前空間宣言

xmlns:ocx="https://openchj.github.io/ns/ocx"
xmlns:tei="http://www.tei-c.org/ns/0.5"

3.2 接頭辞の運用方針(重要)

この方針により、(a) OCX 要素をテキスト処理で機械的に見分けやすくし、(b) 埋め込み先(XHTML 等)の既存ツールチェーンとの親和性を保ちます。


4. 文書構造

4.1 ルート要素 ocx:doc

<ocx:doc textID="…" corpusName="…" xmlns:ocx="https://openchj.github.io/ns/ocx"></ocx:doc>
属性 必須 内容
textID テキスト識別子
corpusName コーパス名

4.2 最小例(標準)

<ocx:doc textID="作品ID" corpusName="コーパス名"
         xmlns:ocx="https://openchj.github.io/ns/ocx"
         xmlns:tei="http://www.tei-c.org/ns/0.5">
  <tei:body>
    <tei:p>
      <tei:s>これは文です。</tei:s>
      <tei:s>これは二文目です。</tei:s>
    </tei:p>
  </tei:body>
</ocx:doc>

5. TEI 語彙サブセット

OCX Standard で使用を許可する TEI 要素は以下に限定します。

5.1 制約


6. 文境界

6.1 正規形(推奨): tei:s

文は原則 tei:s で括ります。

<tei:s>……。</tei:s>

6.2 オプション: ocx:eos(文境界表示)

OCX mini 由来の ocx:eos(空要素)を、文境界表示のオプションとして許可します。

……。<ocx:eos/>

制約(必須)

推奨


7. ルビ(フリガナ)

7.1 ocx:r

<ocx:r rt="よみ">表記</ocx:r>

8. 注記(解析対象外)

8.1 ocx:comment(空要素)

<ocx:comment text="注記内容"/>

9. 解析制御

OCX Standard は、形態素解析の制御を 2種類の範囲タグで表します。

9.1 ocx:proc(解析範囲の特殊処理)

<ocx:proc dic="Kindai-bungo" norm="kata2hira"></ocx:proc>
属性 必須 内容
dic 任意 形態素解析に用いる辞書を指定します。(例: Kindai-bungo, Kansai
norm 任意 正規化規則を適用します。(v0.5: kata2hira

処理順

  1. norm を適用(指定がある場合)
  2. dic 指定(なければ既定辞書)で通常解析

dic 制限語彙(v0.5)

norm 制限語彙(v0.5)

9.2 ocx:skip(解析対象外範囲)

<ocx:skip tokenize="single" pos="uri">https://example.org</ocx:skip>
属性 必須 内容
tokenize single / space
pos 制限語彙(下記)

pos 制限語彙(v0.5)

tokenize の意味:


10. 踊り字(odoriji)

10.1 ocx:odoriji

踊り字(ゝゞヽヾ々〳〵 等)を、対応する文字へ展開した上で、原表記を保持します。

<ocx:odoriji orig="ゝ"></ocx:odoriji>ろ
人<ocx:odoriji orig="々"></ocx:odoriji>
属性 必須 内容
orig 原表記の踊り字記号(制限語彙)

orig 制限語彙(v0.5): 〳〵

解析入力生成では、ocx:odoriji要素内容のみを出力し、@orig は保持情報(解析対象外)とします。


11. 割書(warigaki)

11.1 ocx:warigaki(構造要素)

割書を表す構造要素です。v0.5 では属性を持ちません。

<ocx:warigaki>割書本文</ocx:warigaki>

11.2 解析制御(推奨): ocx:skip を外側に付与

割書の解析上の扱いを変える場合、外側に ocx:skip を付与します(ocx:skip が親、ocx:warigaki が子)。

<ocx:skip tokenize="single" pos="other">
  <ocx:warigaki>(割書)</ocx:warigaki>
</ocx:skip>

11.3 割書内改行: ocx:wbr(空要素)

原文で割書の内部に改行がある場合、tei:lb ではなく ocx:wbr を用います。

<ocx:warigaki>第一行<ocx:wbr/>第二行</ocx:warigaki>

12. 会話(speech)

12.1 tei:sp(発話範囲)

会話の範囲(台詞・発話)を TEI の tei:sp で表します。

例(話者識別のみ):

<tei:sp who="A">
  <tei:s>あの泥坊が羨しい。</tei:s>
</tei:sp>

例(原文に話者表示がある場合):

<tei:sp who="A">
  <tei:speaker></tei:speaker>
  <tei:s>あの泥坊が羨しい。</tei:s>
</tei:sp>

13. 解析用テキスト生成規則(要約)


14. 適合性(Conformance)

14.1 OCX Standard 準拠文書

OCX Standard 準拠と主張する文書は、少なくとも次を満たす必要があります。


15. 互換性と拡張

はいずれも後方互換性を保つ形で追加します。


付録 A: 用語


付録 B: 実装者向けメモ

B.1 スキーマ

本仕様に対応するスキーマは、将来次の形で同梱することを想定します。

B.2 埋め込み(XHTML 等)

OCX 要素は ocx: 接頭辞で記述し、埋め込み先文書(XHTML 等)は接頭辞なし(デフォルト名前空間)で記述して構いません。

例(概念):

<html xmlns="http://www.w3.org/1999/xhtml"
      xmlns:ocx="https://openchj.github.io/ns/ocx">
  <body>
    <ocx:doc textID="…" corpusName="…"></ocx:doc>
  </body>
</html>