🪤ODD の moduleRef の取り違えで、公開中の TEI スキーマが和歌795首を弾いていた件
TEI 2026 のワークショップ「Schematron in ODD」に自分の ODD を持ち込んだところ、Schematron 以前に RELAX NG で795件のエラーが出ました。原因は moduleRef のモジュール指定違いで、その間違いはどこからも報告されていませんでした。
TEI 2026 のワークショップ「Schematron in ODD」に自分の ODD を持ち込んだところ、Schematron 以前に RELAX NG で795件のエラーが出ました。原因は moduleRef のモジュール指定違いで、その間違いはどこからも報告されていませんでした。
ODD を単一の正本として RELAX NG と Schematron を生成し、oXygen を使わずコマンドラインと VS Code で検証するまでの記録。
TEI/XML を扱うときに登場する ODD・XSLT・Processing Model の3つを、最小限の例で役割ごとに整理します。スキーマ定義・変換・描画宣言という別レイヤーの関係を初心者向けに説明します。

Word文書のTEI/XML変換と、TEI/XMLファイルの可視化を、インストール不要・ブラウザだけで行えるツール「TEI Tools」を、サンプルファイルを使ったハンズオン形式で紹介します。
朝鮮司譯院刊『清語老乞大』巻之一・第一葉表を題材に、TEI 標準要素のみで縦書き版面(満州文字+ハングル音注+諺解の割書)を符号化し、XSLT 1.0 で HTML + SVG として可視化したデモを構築しました。データと可視化を分離した設計の考え方、列の切り出し方、満州文字の描画方法、影印・XML・HTML を 3 列で並べる対比ビューを記録します。
macOS の Vision フレームワークで OCR をかけ、フォルダ内の複数画像から 1 つの TEI/XML を生成するデスクトップアプリ TEI Scanner を開発しました。SwiftUI 実装、xcodegen でのプロジェクト管理、App Store Connect API キーによる Notarization、GitHub Releases での .dmg 配布までを記録します。

TEI/XMLで構造化された翻刻テキストから、巻ごとのページ数・行数・文字数・和歌数を集計する統計ページを生成し、GitHub Actionsで再ビルド・再公開まで自動化する仕組みを紹介します。
デジタル延喜式の開発で、TEI XMLのスタンドオフ注釈をVue.js向けにインライン化する際に遭遇した文書構造崩壊のバグと、DOM操作ベースの解決策についての記録

TEI XML のデジタルエディションを出版するためのプラットフォーム TEI Publisher の概要と、デジタルヒューマニティーズにおける活用方法を紹介します。

CETEIcean を使って、TEI/XML 変換結果をブラウザ上で視覚的に確認できるプレビュー機能を追加しました。

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

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

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

ODD編集Tips:その1

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

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

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

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

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

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

DToC: Dynamic Table of Contextsを試す

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

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

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

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

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

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

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

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

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

Miradorで画像を表示し、CETEIceanでテキストを表示するサンプルアプリ

Next.js + CETEIcean + React TEI Routerを使ったビューア開発

XSLTを使いながらTEI/XMLファイルを編集する

VSCodeとXSLTを用いたTEI/XMLのリアルタイムプレビュー

校異源氏物語テキストDBのTEI/XMLからPDFを作成する

XSLTを使ってIIIFとTEIの対照表示を実現する

LEAF WriterのEditor Toolbarをカスタマイズする

LEAF WriterをNext.jsから使用する

Romaを使ってタグの属性に使用可能な値を限定する

校異源氏物語テキストDBで公開するTEI/XMLファイルに対するDTS APIのGitHubリポジトリ

校異源氏物語テキストDBで公開するTEI/XMLファイルに対するDTS APIを作成する

DTS(Distributed Text Services)を使ってみる

MyCapytainライブラリを試す

Canonical Text Serviceを試す

LEAF Writer: Miradorを追加する

LEAF Writer: サンプルデータの追加方法

LEAF Writer: Image Viewerの使い方

LEAF Writer:CSSのカスタマイズ

LEAF Writer:スキーマのカスタマイズ

校異源氏物語・本文テキストデータリポジトリで公開しているTEI/XMLを一部更新しました。

LEAF-Writerをローカル環境で動かす

DHCフォーマットの中身を確認する

cwrcのwikidata-entity-lookupを試す

CWRC XML Validator APIを試す

RELAX NGとSchematron

Docker版のTEI Publisherを使用する

PythonでXML文字列を整形する

Node.jsでXML文字列をパースする

TEI/XMLの可視化例:Leafletを用いた地図表示

デジタル源氏物語における校異源氏物語と現代語訳の対応づけ

Oxygen XML Editorのイメージマップエディタの使用例

Nuxt3でXMLをフォーマットしてシンタックスハイライト表示する

Mirador3プラグイン開発: Text Overlay pluginで縦書き対応を行う

ALTO (Analyzed Layout and Text Object) XMLについて

JPCOARスキーマ(v1)を用いたxmlファイルのバリデーションツールの試作

Visual Studio Live Shareを用いてTEI/XMLファイルを共同編集する(xmlでなくても可)

JPCOARスキーマを用いたxmlファイルのバリデーション

RELAX NGスキーマを操作するライブラリjingtrangを試す:rngファイルの作成編

RELAX NGスキーマを操作するライブラリjingtrangを試す:検証編

python-docxを用いた両側ルビ

Pythonを用いてTEI/XMLファイルをEPUBに変換する

XMLファイルで文字列のみを抽出して処理する方法

BeautifulSoupでxml:id属性を与える方法

二つのテキスト間の差分を抽出するプログラムを作成しました。

Node.js で XSLT を実行するサンプルリポジトリを作成しました。