TEI Garage APIを使って、DOCX → TEI/XML 変換ツールをブラウザだけで作った

はじめに TEI (Text Encoding Initiative) は、人文学分野のテキストをデジタルで構造化するための国際標準です。図書館・博物館・学術研究などで利用されていますが、TEI/XML を直接書くにはマークアップの知識が必要で、導入のハードルが高いのが実情です。 そこで活用されるのが、Microsoft Word (.docx) から TEI/XML への変換ツールです。代表的なものに TEI Garage(旧 OxGarage)がありますが、多機能ゆえに UI がやや複雑です。今回、DOCX → TEI/XML の変換に特化した、シンプルなブラウザベースのツールを作成しました。 https://github.com/nakamura196/tei-converter デモサイト: https://tei-converter.pages.dev/ 仕組み TEI Garage は REST API を公開しており、以下のエンドポイントに DOCX ファイルを POST するだけで TEI/XML が返ってきます。 P O S d T T o E c I h x : t : t t a e p p x s p t : l : / i x / c m t a l e t / i i g o a n r : a v g n e d . . t o e p i e - n c x . m o l r f g r e m g a e t - s w - e o b f s f e i r c v e i d c o e c / u C m o e n n v t e . r w s o i r o d n p s r / o c e s s i n g m l . d o c u m e n t / 本ツールはこの API を呼び出すフロントエンドです。変換処理自体は TEI Consortium が運営するサーバ上で行われます。 ...

2026年3月1日 · 2 分 · Nakamura

Hypothes.is APIでWebアノテーションをエクスポートしてTEI/XMLに変換する

はじめに Hypothes.isは、Webページ上にハイライトやコメントを付けられるオープンソースのアノテーションツールです。ブラウザ拡張やJavaScriptの埋め込みで手軽に使えますが、蓄積したアノテーションをバックアップしたい、あるいはTEI/XMLなど別の形式で活用したいケースもあります。 本記事では、Hypothes.is APIを使ってアノテーションをエクスポートし、TEI/XMLに変換する方法を紹介します。 APIキーの取得 Hypothes.isにログイン Developer settings にアクセス 「Generate your API token」でAPIキーを生成 取得したキーを.envファイルに保存します。 c # p . . e e n n v v . を e 編 x 集 a し m て p A l P e I キ . ー e を n 設 v 定 H Y P O T H E S I S _ A P I _ K E Y = x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x アノテーションのエクスポート APIの基本 Hypothes.is APIのベースURLは https://api.hypothes.is/api です。認証はAuthorization: Bearer <API_KEY>ヘッダーで行います。 ...

2026年2月28日 · 14 分 · Nakamura

OpenITI mARkdownからTEI XMLへの自動変換ツール「oitei」を試す

はじめに イスラーム圏の歴史テキストを扱う OpenITI(Open Islamicate Texts Initiative) プロジェクトでは、TEI/XMLの代わりに mARkdown という軽量記法でテキストをタグ付けできます。 TEI/XMLは構造化の国際規格として強力ですが、特にアラビア語のような右から左に書く言語(RTL)では、XMLタグとの混在でエディタ上の表示が乱れるという問題があります。mARkdownはこの課題を解決する記法です。 本記事では、mARkdownで書かれたテキストを TEI XMLに自動変換 するPythonツール oitei を実際に動かしてみます。 oiteiとは OpenITI mARkdown → TEI XML の変換ライブラリ(Python) OpenITI TEI Schema に準拠したXMLを出力 PyPIで公開されており pip install で導入可能 依存ライブラリ: oimdp(mARkdownパーサー)、lxml https://github.com/OpenITI/oitei インストール p i p i n s t a l l o i t e i Python 3.8以上が必要です。oimdp(OpenITI mARkdown Parser)と lxml が依存関係として自動インストールされます。 OpenITI mARkdownの記法 mARkdownファイルは以下の3部構成です。 マジックバリュー (1行目): ######OpenITI# メタデータ : #META# で始まる行 本文 : #META#Header#End# の後に記述 主なタグ 記法 意味 `### ` `### ### $ 伝記エントリ # 段落の開始 @P02 名前 人物名(後続2語を含む) @T11 地名 地名(後続1語を含む) @YB732 誕生年(ヒジュラ暦732年) @YD808 没年(ヒジュラ暦808年) %~% 詩行(hemistich)の区切り 固有表現タグ(@P, @T 等)の後ろの 2桁の数字 は、1桁目がエンティティ番号、2桁目が「後続する何単語を名前に含むか」を指定します。例えば @P02 Ibn Khaldun は「後続2語(Ibn Khaldun)を人名として含む」という意味です。 ...

2026年2月28日 · 15 分 · Nakamura

ODD編集Tips:その1

要素の属性を特定のものだけに制限する TEIのデフォルトでは、要素は多くの属性クラス(att.global、att.datableなど)を継承しており、多数の属性が使用可能です。特定の属性のみを許可したい場合は、以下のように設定します。 例: persNameでxml:idとcorrespのみを許可 < e / l < < e e c / a / l m l < < < < < < < c t < < a e e a ! m m m m m m l t a / a / t m n s - e e e e e e a L t < < a t < < a t e t s - m m m m m m s i t d d / t t d d / t L n S e b b b b b b s s D e a < d t D e a < d t i t p s 属 e e e e e e e t e s t d a D e s t d a D s S e 性 r r r r r r s > f c a a t e f c a a t e t p c m ク O O O O O O > > t t a f > t t a f > e o ラ f f f f f f i 要 y a t > i 関 y a t > c i d ス d 素 p R y d 連 p R y > d e を k k k k k k e の e e p e す e e p e = 削 e e e e e e n 一 > f e n る > f e n " 除 y y y y y y t 意 > t 人 > t c ( = = = = = = = な n = 物 k = h モ " " " " " " " 識 a " 情 e " a デ a a a a a a x 別 m c 報 y p n ル t t t t t t m 子 e o へ = e g ク t t t t t t l < = r の " r e ラ . . . . . . : / " r リ t s " ス g c d e p t i d I e ン e N > は l m a d e y d e D s ク i a 維 o c t i r p " s " p < d m 持 b " a t s e c / " / a e ) a b L o d m > > d t " l m l i n " o m e a " o e k a d o s . m d " e l m e d c p o m e " " o = e > o d o = m d " = i e d " o m m e a " n = e d d o o = d a t " = e e d d " d d e c " l = e e d " d r h d e " = = e " " a e t d " " l u / n l e e d d e s u > g e " l e e t a s e t / e l l e g a " e > t e e " e g > " e t t / = e / " e e > " = > / " " o " > / / p o > > t p " t > " > ポイント <classes mode="change">を使用: mode="replace"で空にすると、モデルクラスも削除され要素自体が使えなくなる 属性クラスを個別に削除 : <memberOf key="att.xxx" mode="delete"/>で不要な属性クラスを削除 必要な属性を追加 : <attDef ident="xxx" mode="add">で許可したい属性を定義 注意点 要素がどの属性クラスに属しているかは、TEI Guidelinesで確認できる att.globalを削除するとxml:id、xml:langなども使えなくなるため、必要に応じて個別に追加する 要素に属性を追加する 既存の属性クラスを維持したまま、新しい属性を追加する場合: ...

2026年1月27日 · 4 分 · Nakamura

TEI ODDによるIIIF対応ファクシミリ記述の制約設計

はじめに TEI(Text Encoding Initiative)でデジタル画像のメタデータを記述する際、facsimile要素を使用します。特にIIIF(International Image Interoperability Framework)対応のデジタルアーカイブでは、マニフェストやキャンバス、Image APIへの参照を適切に記述することが重要です。 本記事では、ODD(One Document Does it all)を使用して、ファクシミリ記述に必要な制約をスキーマとして定義する方法を紹介します。 準拠するガイドライン 本ODDは、日本語TEIガイドラインで紹介されている「IIIF画像とのリンク」仕様をベースにしています: IIIF画像とのリンク(2024年度版)- TEI-EAJ このガイドラインに準拠したデータを作成することで、TEI Viewer for EAJでの画像表示が可能になります。TEI Viewerは、TEIテキストとIIIF画像を連携して表示できるビューアであり、facsimile要素の情報を利用してテキストと画像の対応付けを行います。 設計目標 以下の要件を満たすスキーマを設計しました: 必須情報の明確化 : 画像の座標情報や識別子など、最低限必要な情報を必須属性として定義 IIIF対応 : マニフェスト、キャンバス、Image APIへの参照をオプショナルに記述可能 再利用性 : 独立したODDファイルとして、複数プロジェクトで共有可能 ビューア互換性 : TEI Viewer for EAJでの表示に必要な情報を確実に記録 最小限の記述例 < f / a f c a s < c i s / s m u s i i r u m l f < r i e a g f l c r a e s e a c > a p e m u h > e l i A x c s = = " s " 0 a h " m t e t u A p l s s y = : = " / " h / 0 t e " t x p a l s m r : p x / l = / e " e . 5 x o 6 a r 0 m g 0 p / " l i e i l . i r o f y r / = g m " / a 4 i n 0 m i 0 a f 0 g e " e s / t x 0 . m 0 j l 1 s : . o i t n d i " = f > " " p / 1 > " > 完全な記述例(IIIF参照を含む) < f / a f c a s < c i s / s m u s i i r u m l f < r i e a g f l c r a e s e a c > a p e m u s h > e l a i A x m c s = e = " A u s " 0 s r a h " = l m t " = e t u h " A p l t h s s y t t = : = p t " / " s p h / 0 : s t e " / : t x / / p a l e / s m r x e : p x a x / l = m a / e " p m e . 5 l p x o 6 e l a r 0 . e m g 0 o . p / " r o l i g r e i l / g . i r c o f y a i r / = n m g m " v a / a 4 a g i n 0 s e m i 0 / / a f 0 p 0 g e " 1 0 e s " 1 t . 0 . x t 0 j m i 1 s l f . o : t n i f i " d u f > = l " " l p 1 f " u > l l / 0 / d e f a u l t . j p g " ODD定義の解説 1. facsimile要素 < e / l < < < < e e d c c / a / l m e l o < c t < a e e s a n e o t a / t m n c s t l n L t < < a t e t > s e e t i t d d / t L n S フ e n m e s D e a < d t i t p ァ s t e n t e s t d a D s S e ク > n t f c a a t e t p c シ m t > m > t t a f > e ミ o R o i I y a t > c i リ d e d d I p R y > d 画 e f e e I e e p e 像 = = n F > f e n 情 " k " t マ > t 報 r e r = ニ k = 。 e y e " フ e " I p = p s ェ y f I l " l a ス = a I a s a m ト " c F c u c e へ t s マ e r e A の e i ニ " f " s 参 i m フ / a > " 照 d i ェ > c U a l ス e m R t e ト " o L a " へ d < . の m e / p m 参 i = d o o 照 n " e i d を O r s n e 含 c e c t = む c p > e " 。 u l r c < r a " h / s c / a d = e > n e " " g s 1 e c " u " > s > m a a g x e O = c " c o u p r t s " = > " u n b o u n d e d " / > ポイント : ...

2025年12月10日 · 12 分 · Nakamura

Deep Zoom画像を完全復元:タイル画像からBigTIFFへの変換技術

はじめに Webサイト上で高解像度画像をスムーズにズーム表示するために使用されるDeep Zoom技術。Microsoft Deep Zoom Composerなどで生成されたタイル化された画像データから、元の高解像度画像を復元する必要に迫られることがあります。 本記事では、Deep Zoom形式で公開されている画像データから、元の高解像度TIFF画像を復元する技術について解説します。 Deep Zoom画像の仕組み タイル構造 Deep Zoom画像は、1枚の大きな画像を複数の小さなタイル画像に分割し、ピラミッド構造で保存します: レベル0 : 最も低解像度(通常1タイル) レベルN : 最高解像度(元画像の解像度に相当) 各レベルで解像度が2倍になる ファイル構成 d d z z c c ├ │ ├ │ │ └ _ _ ─ ─ ─ o o ─ ─ ─ u u t t 0 └ 1 ├ └ 1 ├ ├ └ p p / ─ / ─ ─ 6 ─ ─ ─ u u ─ ─ ─ / ─ ─ ─ t t . _ 0 0 0 0 x f _ _ _ _ m i 0 0 0 1 l l . . . . e j j j j s p p p p / g g g g # # # # レ メ ベ 最 数 タ ル 高 万 デ 0 レ 枚 ー の ベ の タ 唯 ル タ 一 イ の ル タ イ ル 実装の課題と解決策 課題1: XMLメタデータの名前空間の違い Deep Zoomには複数のバージョンがあり、XMLの名前空間が異なります: ...

2025年11月18日 · 12 分 · Nakamura

TEI Processing Modelで実現する宣言的なマルチフォーマット変換

はじめに TEI (Text Encoding Initiative) は人文学テキストのデジタル化において広く使われている標準規格です。本記事では、TEI P5で導入された Processing Model という機能を使って、TEI XMLから複数のフォーマット(HTML、LaTeX/PDF、EPUB3)への変換を実現した事例を紹介します。 https://www.tei-c.org/Vault/P5/3.0.0/doc/tei-p5-doc/en/html/TD.html#TDPM 対象プロジェクトは「校異源氏物語」で公開されているテキストを例とします。 https://kouigenjimonogatari.github.io/ 背景 これまで、以下の記事で紹介したように、変換処理を個別に行ってきました。 ODD/RNGファイルのカスタマイズによる、使用するタグの限定 XSLTを用いたHTMLへの変換 XSLTを用いたTeX/PDFへの変換 EPUBへの変換 それぞれの取り組みにおいて、個別の変換ルールなどを記載したファイルを作成する必要があり、その煩雑さが課題となっていました。 Processing Modelとは Processing Modelは、TEI要素の変換ルールを宣言的 に記述する仕組みです。従来は各出力フォーマット用に個別のXSLTを書く必要がありましたが、Processing Modelを使うことで: ODDファイル内で変換ルールを定義 できる 複数の出力フォーマット に対応可能(web、latex、epubなど) スキーマと変換ルールを一元管理 できる Processing Modelの構造 < e / l < < e e d m / l m e o < < < < < < m e e s d ! m / ! m / ! m / o m n c e - o < m - o < m - o < m d e t > l - d m / o - d m / o - d m / o e n S P > e o < m d e o < m d e o < m d l t p e H l d o d o e E l d o d o e L l d o d o e > S e r T S e u e d l P S e u e d l a S e u e d l p c s M e l t s e S U e l t s e S T e l t s e S e o L q p c l e B q p c l e e q p c l e c i n u b u > > q 3 u b u > > q X u b u > > q > d a o e e t I u e e t I u e e t C u e l u n h R n e o n h R n e o n h R u e n t c a e l n u c a e l n u c a e s n t n p e v n i c t e v n i c t e v n t c = a u i d n e p i d n e p i d o e " m t o o i e > u o o i e > u o o i m > p e u u t t u u t t u u t e < t r i s t r i s t r i L r / p = o p p = o p p = o a s d u " n a u " n a u " n T N e t i > n t i > n t i > e a s = n s = n s = n \ X m c " l p f " l p f " l p e > w i a o e i a o l i e c " e n n r p n n r a n r o b e < u e < t e s m m " " / p b " / p e " o m o > > o e " > o e x > n a d u r > u r " < n e t s t s > / d = p o p o o " u n u n u f c t t t o h R n R n p r a e a e a u n n m n m t p g d e d e R e e i < i e r " t / t i n s > i d i n d o o e o i n n s n E t > c > P i n > U o a B n m 3 > e < s / < d / e d s e c s > c > 主な要素: ...

2025年10月8日 · 16 分 · Nakamura

TEI/XMLファイルをGitHubで公開する手順書

はじめに この記事では、TEI(Text Encoding Initiative)形式のXMLファイルをGitHubにアップロードし、誰でも参照できるURLを作成する手順を説明します。 TEI/XMLは、歴史文献や文学作品などのテキストを構造的に記述するための国際標準形式です。GitHubを使うことで、あなたの研究データを世界中の研究者と共有できるようになります。 必要なもの パソコン(Windows、Mac、Linuxのいずれか) インターネット接続 TEI/XMLファイル(すでにお持ちのもの) メールアドレス(GitHubアカウント作成用) サンプルファイルについて TEI/XMLファイルをお持ちでない方は、以下の『校異源氏物語』のTEI/XMLファイルを練習用として使用できます: サンプルファイルURL : h t t p s : / / r a w . g i t h u b u s e r c o n t e n t . c o m / k o u i g e n j i m o n o g a t a r i / k o u i g e n j i m o n o g a t a r i . g i t h u b . i o / m a s t e r / t e i / 0 1 . x m l このファイルをダウンロードする方法: ...

2025年9月6日 · 3 分 · Nakamura

RELAX NGとSchematronを組み合わせたTEI XMLスキーマの実装ガイド

! 人手で検証を行った後、AIが記事を執筆しました。 はじめに TEI(Text Encoding Initiative)XMLを編集する際、要素や属性の構造検証だけでなく、より複雑なビジネスルールの検証が必要になることがあります。本記事では、RELAX NG(RNG)とSchematronを組み合わせて、構造検証と内容検証の両方を実現する方法を、実際のプロジェクトで直面した課題を例に解説します。 解決したい課題 日本の古典文学テキストをTEI XMLで校訂する際、以下のような要求がありました: ID参照の動的検証 : corresp属性で参照するIDが、実際に文書内のwitness要素に存在することを検証したい Oxygen XML Editorでの補完機能 : 編集時にIDの候補を自動表示したい 複数ID参照のサポート : スペース区切りで複数のIDを指定可能にしたい 特定要素のみ参照を許可 : witness要素のIDのみを参照可能とし、person要素のIDが含まれる場合はエラーにしたい なぜRNG + Schematronなのか? RELAX NGの得意分野 要素・属性の構造定義 データ型の指定 基本的な内容モデルの定義 Schematronの得意分野 XPathベースの複雑な検証ルール 文書内の相互参照チェック カスタムエラーメッセージの提供 この2つを組み合わせることで、構造と内容の両面から厳密な検証が可能になります。 実装例 1. 基本的なRNGスキーマ構造 < < ? g / x r < < < < < g m a ! s ! s / ! r l m - c - t < s - a m - h - a r t - m v a : r e a m e r S n こ t f r R a r c s こ > t N r s x x x d n h に n > G > i m m m a s e p S a に o l l l t = m r c m よ n n n n a " a e h e る = s s s t h t f e = 構 " = : : y t r i m " 造 1 " a s p t o x a T 定 . h = c e p n = t E 義 0 t " h L : 名 " r I " t h = i / 前 t o " p t " b / 空 e n / e : t h r w 間 i ル > n / p t a w 宣 " ー c : t r w 言 ル r / p y . u を d e / : = t r 埋 i l r / " e i め n a e / h i = 込 g x l p t - " む = n a u t c h " g x r p . t U . n l : t T o g . r p F r . / g : - g c w / / 8 r l w n / " n g c w s w ? s . . / w > n o w 1 w s s r 3 . . t / g . 0 t r c o " e u d r > i c m s g - t p d / c u a l 2 . r t / 0 o e i s 0 r / b c 1 g 1 i h / / . l e X n 0 i m M s " t a L / y t S 1 / r c . a o h 0 n n e " n " m / o a > t - a d t a i t o a n t s y / p 1 e . s 0 " " 2. ID定義とanyURI型の活用 Oxygen XML Editorで自動補完を実現するために、anyURI型を使用します: ...

2025年8月9日 · 17 分 · Nakamura

生成AIを用いてプロジェクトに特化したrngファイルを作成する

概要 TEI/XMLファイルを編集する際、検証に使用するrngファイルを変更することで、使用するタグや属性を限定することができます。これにより、作業者が使用するタグに混乱しない、作成されるTEI/XMLのばらつきが軽減する、といった利点が考えられます。 rngファイルを編集する方法として、以下の記事で紹介したように、Romaを使用する方法が一般的です。 この方法はトップダウン的に使用するタグや属性を限定していく方法ですが、今回は、すでに作成済みのTEI/XMLから、生成AIを用いて、ボトムアップ的にrngファイルを作成してみます。 対象データ 校異源氏物語テキストDBで公開されている以下のXMLファイルを対象とします。 https://kouigenjimonogatari.github.io/tei/01.xml このファイルでは、以下のtei_all.rngを使用しています。 http://www.tei-c.org/release/xml/tei/custom/schema/relaxng/tei_all.rng そのため、以下のように、挿入可能な多くのタグがサジェストされることがわかります。 生成AIによるrngファイルの作成 以下のようなプロンプトにより、対象とするXMLファイルのタグの使用状況などに応じて、rngファイルを作成します。 # # - - # - # 1 2 3 4 # - - # 1 2 # # # . . . . # # . . X 作 作 フ 不 必 M 目 業 業 提 ァ 要 制 要 須 期 カ 簡 L 的 効 者 供 イ 望 * * * * 約 な 属 待 ス 潔 フ 率 が す ル 現 最 入 コ ・ 要 性 す タ な ァ 向 タ る 名 在 小 力 メ 方 素 を る ム 使 イ 上 グ フ : の 限 補 ン 針 は 明 成 R 用 ル の 選 ァ X か 完 ト 除 確 果 N ガ 用 た 択 イ 0 M つ ・ 付 外 に 物 G イ カ め に ル 1 L 必 バ き ( 定 フ ド ス 、 迷 . フ 要 リ * 例 義 ァ タ 使 わ x ァ 十 デ * : イ ム 用 ず m イ 分 ー で ○ ル R す 、 l ル な シ 、 ○ ( N る 一 を 要 ョ 各 、 . G 要 貫 分 素 ン 要 × r ス 素 し 析 セ * 素 × n キ ・ た * ッ * の は g ー 属 構 * ト が 用 使 ) マ 性 造 し * 効 途 用 作 を で 、 * 果 を し 成 限 編 実 で 的 明 な 依 定 集 際 R に 記 い 頼 し で に N 働 ) た き 使 G く R る 用 ス よ N 環 さ キ う G 境 れ ー 設 ス を て マ 計 キ 構 い を ー 築 る 作 マ 要 成 を 素 作 ・ 成 属 性 を 特 定 結果、以下のrngファイルが作成されました。 ...

2025年8月1日 · 30 分 · Nakamura

DToC: Dynamic Table of Contextsを試す

概要 DToC: Dynamic Table of Contextsを試す機会がありましたので、備忘録です。 https://www.leaf-vre.org/docs/features/dtoc 機械翻訳の結果は以下です。 セマンティックマークアップの威力と書籍のナビゲーション機能を融合させ、電子読書に革新をもたらします。従来の印刷書籍で長年親しまれてきた目次とキーワード索引という概観機能が、全文検索やタグベースのインデックス機能と動的に統合されることで、新たな読書体験を実現します。 最終的に、以下のような可視化を行うことができました。 https://dtoc.leaf-vre.org/view?document=https://dtoc-demo.vercel.app/P-III-b-1189/dtoc.json 対象データ 東洋文庫が所蔵するモリソンパンフレット「Marco Polo’s adventures : The greatest traveller the world has seen.」をサンプルデータとして利用しました。 https://www.toyo-bunko.org/open/show_detail_open.php?targetid=363479 https://www.toyo-bunko.org/morisonp2015/morisonpocr2016_showimg.php?tgfn=P-III-b-1189&tgfn2=01Geo01 背景 以下のワークショップに参加し、DToCの使用方法を教えてもらいました。 https://github.com/LEAF-VRE/dh2025_workshop 以下のチュートリアルも参考になりました。 https://www.leaf-vre.org/docs/training/tutorials/dtoc-tutorial mainとなるxmlを作成する まず、mainとなるxmlを作成します。以下のURLで確認できます。 https://dtoc-demo.vercel.app/P-III-b-1189/main.xml OCR Azure AI Document Intelligenceを用いてOCRを行いました。 https://azure.microsoft.com/en-us/products/ai-services/ai-document-intelligence 校正 & タグづけ OCR結果の校正と、人名や地名のタグ付与にあたり、「Google: Gemini 2.5 Pro」を使用しました。 https://deepmind.google/models/gemini/pro/ このように機械的な処理のため、誤りなどが含まれている可能性が高いですが、DToCで使用するためのTEI/XMLファイルを用意することができました。 index用のxmlを作成する 以下を参考にしました。 https://www.leaf-vre.org/docs/training/tutorials/dtoc-tutorial#step-2-create-an-index このindex作成にも「Google: Gemini 2.5 Pro」を使用し、先に作成したmain.xmlから機械的に作成しました。結果は以下です。 https://dtoc-demo.vercel.app/P-III-b-1189/index.xml JSONファイルを作成する DToCでロードするためのJSONファイルを作成します。この部分はGUIから行うことができました。最終的な結果は以下です。 https://dtoc-demo.vercel.app/P-III-b-1189/dtoc.json まず、以下にアクセスし、GitHubアカウントでログインします。 https://dtoc.leaf-vre.org/ 次に以下にアクセスします。 https://dtoc.leaf-vre.org/view そして、チュートリアル資料などを参考に、必要な項目を入力します。 Documentsには、前のプロセスで作成したXMLファイルのURLを入力します。 Corpus Partsでは、XMLファイルのどの部分を使用するか、を指定します。Curpus Partではmain.xmlのdivタグを、Curpus Indexではindex.xmlのdivタグをXPathで指定しました。 ...

2025年7月16日 · 3 分 · Nakamura

DHConvalidatorにおける'ref'に関する不具合への対応

本記事は、一部AIが執筆しました。 概要 DHConvalidatorは、デジタル人文学(DH)会議の抄録を一貫したTEI(Text Encoding Initiative)テキストベースに変換するためのツールです。 https://github.com/ADHO/dhconvalidator このツールの利用において、Microsoft Word形式(DOCX)からTEI XML形式への変換処理中に以下のようなエラーが発生するケースがありました: E R R O R : n u . x o m . P a r s i n g E x c e p t i o n : c v c - c o m p l e x - t y p e . 2 . 4 . a : I n v a l i d c o n t e n t w a s f o u n d s t a r t i n g w i t h e l e m e n t ' r e f ' この原因と対処方法について共有します。 ...

2025年6月27日 · 22 分 · Nakamura

校異源氏物語テキストDBのDTS(Distributed Text Services) APIの更新

概要 校異源氏物語テキストDBのDTS(Distributed Text Services) APIを更新したので、備忘録です。 背景 DTS(Distributed Text Services) APIは以下で説明されています。 https://distributed-text-services.github.io/specifications/ 以下の記事で、DTS APIの作成について紹介しました。 一方、以下を課題としていました。 今回開発したDTS APIも上記のガイドラインに非対応の箇所がある可能性がある点にご注意ください。 そこで、前回作成したAPIをv1とし、今回はdtsVersionの1-alphaに従ったv2のAPIを作成します。 API 以下がEntry Endpointです。v1とv2の違いは以下です。 v1 https://dts-typescript.vercel.app/api/v1/dts { } " " " " " " n @ @ c @ d a i t o c o v d y l o c i " p l n u g : e e t m a " c e e t " : t x n i i t t a " o " s n p E n : " " i n s : : / t " " v r : d " " 1 y t / / / P " s a a d o / / p p t i a E i i s n p n / / " t i t v v , " / r 1 1 , v y / / 1 P d d / o t t d i s s t n / / s t d n / . o a c j c v o s u i l o m g l n e a e l n t c d t i t " " o i , n o " n , s " , v2 https://dts-typescript.vercel.app/api/v2/dts ...

2025年5月24日 · 18 分 · Nakamura

IIIF画像に対する多角形アノテーション支援ツールの改修

概要 IIIF画像に対する多角形アノテーション支援ツール「IIIF Annotator」の改修を行いました。具体的には、以下の2点に取り組みました。 Image Server未使用のマニフェストファイルへの対応 アノテーション付きIIIFマニフェストファイルのエクスポート機能 TEI/XMLファイルのエクスポート機能 以下、これらの改修について説明します。 背景 以下の記事で、アノテーション付与ツールを新規に作成した理由等を説明しました。 今回追加した機能は他のツールでも提供されている機能群になりますが、利便性向上のため追加実装しました。 Image Server未使用のマニフェストファイルへの対応 以下の記事で紹介しているように、IIIFマニフェストファイルにおいて、Image API(Image Server)を使用しないオプションを取ることができます。デメリットもありますが、Cantaloupe Image Serverなどのソフトウェアを導入せずに使用できる点に利点があります。 IIIF Annotatorについて、これまではImage Serverの使用を前提として実装していましたが、今回の改修により、Image Server未使用のマニフェストファイルも読み込めるようにしました。 具体的には以下のように、serviceの有無に応じて、OpenSeadragonに渡すtileSourcesを調整しました。 c o n . } . ) s m ) f ; t a c c i c } i } } i ( p o o f o ; f l t t ( n n n i s r e r } t i t i ( s s ( s d e ( e l e ; e l i l c t t ! t : r b t s t t u r e l e a a v o u e u y r ( S e S n a a n b s i d r r p l o S o v n n n o t c y n { n e : u o u a n n o d r e . : r u r s o o t y i ? s b { b c r c : t t a n : e o " o e c e a a t = g r d i d : e s C t t i ; { v y m y a i i o a i . a . s ! = n o o n n " c s g i t = v n n ) n @ e e e d r = c a P o i r " , i a s a = r t d & v , n n n ) g e a " & i g u v e a t t : c l a = n u i b e | l s > = n r o s o [ e o n n t d 0 { s { c t . r y ] a a n b i . [ t n t u o n s " y v i l d g e @ p a o l y r i e s n ; } v d : . P a [ i " i a s ] c ] s t g ; e t e e { . + r m ? l i s . e " n ? i n / g . t g i ; [ e t n 0 m h f u ] s o r ; ? > . l . j : [ 0 s 0 ) o s ] n t ; { " r ; i n g } | n u l l ) = > エクスポート機能 アノテーション付きIIIFマニフェストファイル、およびTEI/XMLファイルとしてエクスポートする機能を追加しました。エクスポートボタンを押すと、以下のような選択肢が表示されます。 ...

2025年5月20日 · 3 分 · Nakamura

DTS (Distributed Text Services)のビューア開発

概要 DTS (Distributed Text Services)のビューアを開発したので、備忘録です。 以下のURLからお試しいただけます。 https://dts-viewer.vercel.app/ja/ 背景 DTS (Distributed Text Services)の公式ページは以下です。 https://distributed-text-services.github.io/specifications/ 以下の記事でも取り上げました。 今回、このDTS仕様に一部準拠したビューアを開発しました。 使い方 以下がトップページです。フォームにDTSのURLを入力します。ページ下部で例を提供します。技術的には、Entry pointを使用しています。 コレクションの一覧ページです。Collection Endpointを使用しています。 以下のAPIを例としています。 リンクをたどると、以下のようなリソースの一覧ページに遷移します。 ダウンロードボタンを押すと、TEI/XMLが表示されます。Document Endpointを使用しています。 ナビゲーションボタンを押すと、アクセス可能な部分テキストの一覧が表示されます。Navigation Endpointを使用していますが、現時点で複数階層には非対応です。 リンクをクリックすると、以下のような部分テキストをダウンロードすることができます。 工夫点 公式ページに以下のように記載されています。 The DTS Specification is currently in a public comment period following the 1-alpha release (機械翻訳)DTS仕様は、1-alphaリリースの後、現在パブリックコメント期間中です。 このような背景のため、既存のDTSの記述方法にばらつきがありました。そこで内部でできるだけDTS API (1.0 Draft)に変換し、その結果を可視化するようにしています。 DTS仕様が成熟するにつれ、このような問題は解決されるかと思います。 まとめ DTS仕様は以下のように説明されています。 The Distributed Text Services (DTS) Specification defines an API for working with collections of text as machine-actionable data. ...

2025年5月11日 · 1 分 · Nakamura

Annotorious v2のpolygonツールを使って、polylineを作成する

概要 Annotorious v2のpolygonツールを使って、polylineを作成する方法の備忘録です。 背景 Annotorious v2のウェブサイトは以下です。 https://annotorious.github.io/getting-started/ 以下のように、polygonを記述することができます。 一方、同様の方法でpolylineを記述するツールは、以下のプラグインを含めて、提供されていないようでした。 https://github.com/annotorious/annotorious-v2-selector-pack カスタマイズ 以下のような多角形を作成した場合、 以下のようなJSONファイルが作成されます。 { } " " ] " } " " t b , t , @ i y o a c d p d r o " e y { } g " " } n : " " e s s t : : t o e e " " u l x # " [ " " " : r e " " t c A t v p c c t v " 4 n y a u { e t y a : 6 n p l r " o p l 9 o e u p : r e u " b t " e o " " e h 1 a : " s " : : " t a t : e h : t 3 i " " t { " p - o T " : t S " : 8 n e p p v < / 9 " x o " s g s / 0 , t l c : S v w 2 u y o / e g w - a g m / l > w 4 l o m w e < . 4 B n e w c p w 4 o " n w t o 3 3 d , t . o l . - y i e r y o 8 " n - " g r f , g c , o g 5 " o n / 4 d n - i p s 4 c o / 7 e i a d s n n f . t n 8 u s o b n = . b i \ j 8 f " s 7 r 3 o d . 3 n 7 c 8 l e h 3 d " / . " l 1 , o 2 r 1 i 3 s 3 / 7 g 8 a 9 u 0 / 6 g 2 a 5 u , - 1 F 2 r 9 a 0 g . m 1 e 3 n 7 t 4 / 5 g 1 a 1 u 7 - 1 F 8 r 7 a 5 g m 9 e 4 n 5 t . _ 1 f 3 r 5 a 4 g 9 0 8 0 0 1 4 a 6 . 8 j 7 p 5 2 , / 1 f 6 u 5 l 8 l . / 4 f 2 u 6 l 5 l 1 / 3 0 6 / 7 d 1 e 8 f 7 a 5 u l 8 t 8 / 5 j . p 9 g 6 " 9 , 6 6 5 5 2 7 3 4 3 8 , 3 0 0 3 . 3 5 2 2 9 4 9 2 1 8 7 5 2 5 0 8 . 5 4 1 5 0 3 9 0 6 2 5 , 3 3 4 8 . 4 2 4 0 7 2 2 6 5 6 2 5 3 4 8 5 . 0 2 1 4 8 4 3 7 5 , 2 7 2 4 . 3 5 7 9 1 0 1 5 6 2 5 2 1 7 0 . 8 1 1 7 6 7 5 7 8 1 2 5 , 2 1 0 7 . 6 3 3 7 8 9 0 6 2 5 \ " / s v g > " 上記に対して、autoCloseのような変数を用意し、これがfalseの場合、polygonという文字列をpolylineに変更する処理を加えました。 ...

2025年5月5日 · 9 分 · Nakamura

Google Cloud Vision APIとGakuNin RDMを用いたTEI/XMLファイル作成アプリの試作

概要 Google Cloud Vision APIとGakuNin RDMを用いたTEI/XMLファイル作成アプリを試作しましたので備忘録です。 背景 Google Cloud Vision APIを使ってOCR結果を反映したTEI/XMLファイルを作成する環境が必要になりました。そこでバックエンドとしてGakuNin RDMを用いて、ユーザごとにファイルを管理して、OCRを実行可能な環境を試作しました。 使い方 フォルダの作成 以下にアクセスします。 https://ge-manager.vercel.app/ 画面右上から、GakuNin RDMを使ってログインします。 以下のようにプロジェクト一覧が表示されます。 適当な階層まで下り、フォルダの作成ボタンを押します。 ここでは、「sample」というフォルダを作成します。 そして、「GE Manager」のリンクを押します。 以下のようなページに遷移します。 処理の実行 今回は、「e-codices - Virtual Manuscript Library of Switzerland」の「fragm1a」を使用させていただきます。 https://www.e-codices.unifr.ch/loris/gau/gau-Fragment/gau-Fragment_frag001a.jp2/full/full/0/default/jpg 画像のURLを入力して、アップロードボタンを押します。アップロードされると、以下のような画面に変わります。 次に、「OCR実行」ボタンを押します。正しく完了すると、以下のように表示されます。 次に「TEI/XML作成」ボタンを押します。正しく完了すると、以下のようにTEI/XMLとともに表示されます。 Oxygen XML Editorでダウンロードしたファイルを表示した例です。Google Cloud Vision APIによるOCR結果を確認することができます。 GakuNin RDMのファイル 上記のプロセスで作成された各種ファイルは、GakuNin RDMのフォルダにファイルとして保存されます。 参考: URLを介してアクセス可能な画像ファイルを用意する mdx.jpのオブジェクトストレージを利用して、URLを介してアクセス可能な画像ファイルを用意する。 今回はge-editorというバケットを作成し、以下のようなファイルを用意します。 { } " " ] V S e t { } r a s t " " " } " " i e S E P , A R o m i f r " c e n e d f i D t s " n " e n D i o : t : c c N o u " t i " n r " : " " p : " c 2 g : a : e 0 [ e l [ " 0 - " " " [ : 8 e A : * " - d l " s " 1 i l { ] 3 g 0 t o : e - o w L - 1 r " i e 7 " , s d " , t i , B t u o c r k " e t " , " s 3 : G e t O b j e c t " ] , そして、以下を実行することで、上記のバケットにアップロードされたファイルをダウンロード可能にします。 ...

2025年4月16日 · 2 分 · Nakamura

IIIFの多角形アノテーションをTEI/XMLで表現する一例

概要 IIIFの多角形アノテーションをTEI/XMLで表現する一例について紹介します。 方法 TEI/XMLでは、zoneタグとpoints属性を使用して、多角形のアノテーションを表現することができます。 https://www.tei-c.org/release/doc/tei-p5-doc/en/html/ref-teidata.point.html 例 動作確認のため、以下の記事で紹介したアノテーションツールに、TEI/XML形式でのエクスポート機能を追加しました。 具体的には、以下のようなダウンロード時のオプションを追加しました。 ダウンロード結果として得られるTEI/XMLの例は以下です。ulx, uly, lrx, lryで矩形を記述しつつ、pointsで多角形の情報を記述しています。 < < < < ? ? ? T / x x x E T m m m I E l l l < < < I - - x t / t / f / > v m m m e t e t a f e o o l i e x e c a r d d n H < i t < x s < < c s e e s e f / H > b / t i s / s / s i l l = a i f e o b > m u s u s i o " d l i a d o i r u r u m n h h h e e < < < l d y < d l f < < < r f < < < r i = r r t r D t / p / s / e e > p / y e a g z z f a g z z f l " e e t > e i t u p o s D r > p > c r o o a c r o o a e 1 f f p s t i b u u o e > > s e a n n c e a n n c > . = = : c l < t l < b r < u s S a p e e e p e e e 0 " " / > e t / l i p / l c p / r c o m s h > s h > " h h / S i t e c > p i e > p c > m e a i u u a i u u t t w t t i S a > c D > e e A m c l l m c l l e t t w m l T t t t P a e I D s e x x e x x n p p w t e i l m i u t s n e t = A u = = A u = = c : : . > > t e t o b i c f s e " s r " " s r " " o / t l > > n l o > o c x h = l 5 4 = l 2 9 d / e e S i n r > t t " = 3 7 " = 1 9 i w w i t c S m t h " 1 8 h " 9 3 n w w - m a t a h p t h 4 " t h 7 " g w w c t t m t e s t t " t t " = . . . > i t i r : p t u p t u " t t o o > o e / s p u l s p u l u e e r n n . / : s l y : s l y t i i g d / : y = / : y = f - - / I a l / = " / / = " - c c n n b . d / " 3 d / " 3 8 . . s f o n l d 1 0 l d 3 7 " o o / o u d . l 9 7 . l 0 0 ? r r 1 r t l n . 8 " n . 4 1 > g g . m . d n 3 d n 4 " / 0 a t g l d " l l d " r r " t h o . l r . l l e e > i e . g . l x g . l r l l o j o g r = o g r x e e n s p . o x " . o x = a a o j . = 1 j . = " s s u a p j " 2 p j " 2 e e r p / p 5 2 / p 2 8 / / c i a / 5 6 a / 7 4 x x e / p a 0 " p a 3 9 m m i i p 9 i p 1 " l l i / i " l / i " / / i i / r i / l t t f i i l y i i l r e e / i i r = i i r y i i 3 f i y " f i y = / / 4 / f = 3 / f = " c c 3 3 / " 7 3 / " 4 u u 7 4 3 2 3 4 3 3 0 s s 6 3 4 1 1 3 4 5 9 t t 8 7 3 8 " 7 3 7 5 o o 6 6 7 9 6 7 3 " m m / 8 6 " a 8 6 " / / m 6 8 n 6 8 a s s a / 6 a a / 6 a n c c n c / n = c / n a h h i a R a " a R a = e e f n 0 = 校 n 0 = " m m e v 0 " 異 v 0 " 中 a a s a 0 C 源 a 0 サ 央 / / t s 0 を 氏 s 0 ン 公 r r . / 0 変 物 / 0 プ 論 e e j 1 0 更 語 3 0 ル 社 l l s " 1 " " " 3 " 蔵 a a o > / > / 版 x x n f p p f p " n n " u o o u o g g > l i i l i p / / l n n l n o t t / t t / t i e e f s s f s n i i u = = u = t _ _ l " " l " s a a l 5 4 l 2 = l l / 3 7 / 2 " l l 0 1 8 0 0 9 . . / 4 , / 9 9 r r d , 3 d , 3 n n e 2 7 e 3 , g g f 0 3 f 0 4 " " a 8 2 a 4 0 u 7 u 5 9 t t l 4 l 6 y y t 5 7 t 2 p p . 4 8 . 1 9 e e j 1 , j 9 9 = = p 2 3 p 8 3 " " g , 0 g , , a a " 1 8 " 3 3 p p 9 5 7 p p s 8 1 s 5 0 l l a 4 2 a 1 2 i i m 2 m c c e 5 7 e 2 2 a a A 5 , A 7 8 t t s 1 3 s 2 4 i i = 0 0 = 9 9 o o " , 8 " , , n n h 2 h 3 3 / / t 0 1 t 5 7 x x t 8 2 t 7 0 m m p 7 2 p 5 2 l l s 7 s " " : 5 , : 2 2 / 4 3 / 7 8 s s / 1 7 / 3 4 c c d 2 3 d 2 9 h h l , 2 l , , e e . 2 . 3 4 m m n 1 4 n 0 0 a a d 9 7 d 6 9 t t l 0 8 l 2 6 y y . , . p p g 5 3 g 2 9 e e o 3 7 o 2 9 n n . 1 3 . 0 3 s s j 4 2 j 9 , = = p , " p , 4 " " / 2 / / 3 0 h h a 0 > a 0 9 t t p 8 p 4 6 t t i 7 i 5 " p p / / " : : i 5 i / i 3 i / i 1 i r p f 4 f e u / , / l r 3 2 3 a l 4 0 4 x . 3 8 3 n o 7 7 7 g c 6 " 6 . l 8 / 8 o c 6 > 6 r . / / g R R r 0 0 n g 0 0 s 0 0 d 0 0 s s 0 0 t d 0 0 r l 1 3 u / " " c s / / t c > > u h r e e m / a 1 t . r 0 o " n ? " > ? > 以下は、Oxygen XML Editorで表示した例です。 ...

2025年4月8日 · 8 分 · Nakamura

CETEIceanとXPathを使って特定の要素にスクロールする

概要 CETEIceanとXPathを使って特定の要素にスクロールする方法を調べたので備忘録です。 デモ 以下のURLからお試しいただけます。 https://next-ceteicean-router.vercel.app/xpath/ ページにアクセス後、スクロールし、以下のように表示されます。 XPathの取得 上記では、以下の「校異源氏物語テキストDB」のXMLファイルを対象にしています。 https://kouigenjimonogatari.github.io/tei/01.xml そして、以下のXPathを指定しています。 /TEI/text[1]/body[1]/p[1]/seg[267] このXPathの取得にあたっては、Oxygen XML Editorを用いて、対象要素を右クリックして、「Copy XPath」から取得することができました。 スクロールの実装 以下で紹介したアプリをベースにします。 GitHub上のソースコードは以下です。 https://github.com/nakamura196/next-ceteicean-router/blob/main/src/components/xpath/Render.tsx 特に以下の部分で、XPathをCETEIceanによって作成される要素名に変換し、scrollIntoViewによってスクロールしています。 R } f e , e a c c i } t c o o f [ c t n n . . . c ) c i } t h . s s r r t ( o ; o f e D u t t e e o t n x t n X n n t } t i a s p p L e s p e u P u s ( a ) a D t e r x l l o i t a i l a l t t r b b i ; r o a E a p a a w C t C l t l a g e l n g c の f w a c c e o r h o , h t r e h o l e ] 修 f X t e e r n e , n R a g t a c i t ) 正 e p h ( ( C t s t e r e E v k n E ; c a / / a e u e s g t l i : e l t t = ( s n l n u e E e o : e ( h [ e t t t l t l m r " m ( r A ( R R t E e e : c " e ) = a / - ) e = e . l m n e c n w , Z ; f f F e e t " n e t = " X a . d . I m n . s t n . > / p " - c o c R e t s m e t s T a " z u c u S n ) c o r e t { E t ) ] r u r T t r o " r y I h r m r _ { o t , " l / e e e O = l h , e t ( n n n R l " . e ? t t t D r I , b x 先 = ) . , E e n a t 頭 \ e R s t c [ の / { v E u o k 1 ス | a D l V g ] ラ \ l _ t i r / ッ [ u N . e o b シ | a O s w u o ュ $ t D i ( n d を ) e E n { d y 削 / ( _ g C [ 除 g T l o 1 , Y e l ] P N o / " E o r p t , d [ e e = 1 i V ] - a " / $ l y s 1 u e e " e l g ) l [ a o 2 s w 6 " 7 H ; ] t T " e M ; i L - E プ l レ e フ m ィ e ッ n ク t ス ; を 追 加 まとめ 他にも良い方法があるかもしれませんが、参考になりましたら幸いです。 ...

2025年3月27日 · 3 分 · Nakamura

TEI/XMLから検索システムを構築する際のDTS(Distributed Text Services)のdts:wrapperの応用例

概要 TEI/XMLから検索システムを構築する際のDTS(Distributed Text Services)のdts:wrapperタグの応用例に関するメモです。 DTS(Distributed Text Services)は以下です。 Cayless, H., Clérice, T., Jonathan, R., Scott, I., & Almas, B. Distributed Text Services Specifications (Version 1-alpha) [Computer software]. https://github.com/distributed-text-services/specifications` 参考 DTSの構築例として、以下なども参考になりましたら幸いです。 例 以下の「デジタル延喜式」を例とします。 https://khirin-t.rekihaku.ac.jp/engishiki/ 本システムでは、TEIを用いて作成したXMLデータから、検索時の単位となる部分を抽出し、それをJSON形式のデータに変換した上で検索を行っています。JSONデータの例は以下です。JSON:APIに準拠した記述を採用しています。 http://khirin-t.rekihaku.ac.jp/engishiki/jsonapi/item/39100101.json { } " } " } j , d s a o t n " " } a " " " } a v m " t i a p e e : y d t i r t p " t " s a " } { e : r " " ] " ] " ] " " ] " " " " : i " l " i l j , s , v , u c , m m t x o : i : " b a y h o p a a e h m { n n 3 u b o i l d t n m u l " { k " } " 9 t e " " k " " " a e " i b m " : s s i 1 e l : 3 i 3 : 3 t g 式 f e b : " e t 0 s " 9 " 9 9 e o " e r n " : l e 0 " : [ - : - [ " d r s " a " 1 f " m 1 : 1 1 " y t : i < . { " h " 0 " - [ : " " l ? 0 : r , 1 { 正 0 正 : : " " x " e " 親 0 親 " h : m , { f , 1 " 2 [ " t l " 1 0 h t " : 諸 2 t p h v 諸 王 5 t s t e " 王 年 - p : t r h 年 満 0 s / p s t 満 " 3 : s i t 条 - k : p 1 / h n : 項 5 k i / = / 1 " h r k \ / " , i i h " j , r n i 1 s i - r . o n a i 0 n - . n \ a a r - " p . e a i r k . e . e i r n o k h e c r i a k o g h k i d / a u h i f k . a n o u a k g r . c u = m a . . \ a c j a " t . p c U / j / . T 1 p i j F . / i p - 0 i i / 8 / i f i \ " i / i " f 2 i ? / / f > r e e n 2 n k g / < i i e T h s n E a h g I k i i u k s x / i h m H % i l - 2 k n 7 F i s 4 H % = 3 - 2 \ - 7 F " 7 4 H h 4 3 - t - - 7 t 3 7 4 p 9 4 3 : / - - / m 3 7 / a 9 4 w n / - w i p 3 w f a 9 . e g % t s e 2 e t 5 F i . 0 0 - j 6 0 c s 9 0 . o " 0 o n , 2 r " . g , t / i n f s / / f 1 u . l 0 l \ / " 2 > 0 \ 0 n , / 0 < / d d t e s f : a w u r l a t p . p j e p r g " x , m l n s : d t s = \ " h t t p s : / / w 3 i d . o r g / a p i / d t s # \ " > \ n < d i v t y p e = \ " o r i g i n a l \ " > < p a n a = \ " 項 \ " c o r r e s p = \ " # p a g e 5 0 6 9 \ " x m l : i d = \ " o - i t e m 3 9 1 0 0 1 0 1 \ " > \ n 凡 諸 王 年 満 十 二 、 毎 年 十 二 月 、 \ n < o r g N a m e s a m e A s = \ " # 京 職 \ " > 京 職 < / o r g N a m e > \ n 移 \ n < o r g N a m e s a m e A s = \ " # 宮 内 省 \ " > 宮 内 省 < / o r g N a m e > \ n 、 \ n < o r g N a m e s a m e A s = \ " # 宮 内 省 \ " > 省 < / o r g N a m e > \ n 以 \ n < o r g N a m e s a m e A s = \ " # 京 職 \ " > 京 職 < / o r g N a m e > \ n 移 、 即 付 \ n < o r g N a m e s a m e A s = \ " # 正 親 司 \ " > 司 < / o r g N a m e > \ n 令 勘 会 名 簿 、 訖 更 送 \ n < o r g N a m e s a m e A s = \ " # 宮 内 省 \ " > 省 < / o r g N a m e > \ n 、 明 年 正 月 待 \ n < o r g N a m e s a m e A s = \ " # 太 政 官 \ " > 官 < / o r g N a m e > \ n 符 到 、 始 預 賜 時 服 之 例 、 < / p > < / d i v > < d i v t y p e = \ " j a p a n e s e \ " > < n o t e t y p e = \ " s u m m a r y \ " > \ n 衣 替 え 手 当 て の 受 給 年 齢 に 達 す る 皇 族 へ の 支 給 開 始 手 続 き に 関 す る 規 定 \ n / n o t e > < p a n a = \ " 項 \ " c o r r e s p = \ " e n g i s h i k i _ v 3 9 . x m l # i t e m 3 9 1 0 0 1 0 1 e n g i s h i k i _ v 3 9 _ e n . x m l # i t e m 3 9 1 0 0 1 0 1 \ " x m l : i d = \ " j a - i t e m 3 9 1 0 0 1 0 1 \ " > \ n 皇 族 の 年 齢 が 数 え で 十 二 歳 に 達 し た ら 、 十 二 月 に \ n < r u b y > \ n < r b > \ n 京 職 \ n / r b > \ n < r t p l a c e = \ " r i g h t \ " > \ n き ょ う し き \ n / r t > \ n < / r u b y > \ n が \ n < r u b y > \ n < r b > \ n 宮 内 省 \ n / r b > \ n < r t p l a c e = \ " r i g h t \ " > \ n く な い し ょ う \ n / r t > \ n < / r u b y > \ n に 通 知 し 、 宮 内 省 は 京 職 の 通 知 書 類 を \ n < r u b y > \ n < r b > \ n 正 親 司 \ n / r b > \ n < r t p l a c e = \ " r i g h t \ " > \ n せ い し ん し \ n / r t > \ n < / r u b y > \ n に 下 し て 正 親 司 が 保 管 す る 皇 族 の 台 帳 と 照 合 さ せ よ 。 正 親 司 は こ の 作 業 が 終 わ っ た ら 通 知 書 類 を 宮 内 省 に 送 れ 。 翌 年 正 月 に \ n < r u b y > \ n < r b > \ n 太 政 官 \ n / r b > \ n < r t > \ n だ い じ ょ う か ん \ n / r t > \ n < / r u b y > \ n の 通 達 を 受 領 し て か ら 、 衣 替 え 手 当 て の 支 給 を 開 始 せ よ 。 \ n < / p > < / d i v > < d i v t y p e = \ " e n g l i s h \ " > < n o t e t y p e = \ " s u m m a r y \ " > \ n A g e o f R o y a l R e c i p i e n t s f o r S e a s o n a l C l o t h i n g \ n / n o t e > < p a n a = \ " 項 \ " c o r r e s p = \ " e n g i s h i k i _ v 3 9 . x m l # i t e m 3 9 1 0 0 1 0 1 e n g i s h i k i _ v 3 9 _ j a . x m l # i t e m 3 9 1 0 0 1 0 1 \ " x m l : i d = \ " e n - i t e m 3 9 1 0 0 1 0 1 \ " > \ n E v e r y y e a r i f \ n < s e g x m l : i d = \ " f o o t n o t e 3 9 1 0 0 1 0 1 0 1 \ " > \ n a \ n p r i n c e o r p r i n c e s s \ n / s e g > \ n r e a c h e s \ n < s e g x m l : i d = \ " f o o t n o t e 3 9 1 0 0 1 0 1 0 2 \ " > \ n t w e l v e y e a r s o l d \ n / s e g > \ n , t h e C a p i t a l O f f i c e s h o u l d r e p o r t t h a t \ n i n f o r m a t i o n v i a \ n < s e g x m l : i d = \ " f o o t n o t e 3 9 1 0 0 1 0 1 0 3 \ " > \ n a p a r a l l e l m e m o r a n d u m \ n \ n < s e g r e n d = \ " i t a l i c \ " > \ n i \ n / s e g > \ n \ n < / s e g > \ n t o t h e M i n i s t r y o f t h e R o y a l \ n H o u s e h o l d i n t h e t w e l f t h m o n t h . T h e n t h e M i n i s t r y s h o u l d s e n d t h e \ n m e m o r a n d u m t o t h e R o y a l F a m i l y R e g i s t e r O f f i c e t o c h e c k t h e l i s t a g a i n s t \ n t h e i r e x i s t i n g r o s t e r . A f t e r f i n i s h i n g a l l o f t h e s e p r o c e d u r e s , t h e \ n R o y a l F a m i l y R e g i s t e r O f f i c e s h o u l d r e t u r n t h e m e m o r a n d u m t o t h e \ n M i n i s t r y . T h e p r i n c e o r p r i n c e s s i n q u e s t i o n w i l l r e c e i v e s e a s o n a l \ n c l o t h i n g a f t e r t h e C o u n c i l o f S t a t e ' s o r d e r i s i s s u e d i n t h e f o l l o w i n g \ n N e w Y e a r . \ n < / p > < / d i v > \ n / d t s : w r a p p e r > \ n < / T E I > " 検索結果は以下のように表示されます。校訂文(@type=“original”)、現代語訳(@type=“japanese”)、および英訳(@type=“english”)を表示しています。 ...

2025年3月15日 · 13 分 · Nakamura