XMLによる文書管理 (第2回 文書構造とスキーマ)

文書構造とスキーマ

SGMLやXMLは、マークアップによって、文書の論理構造を表すことができます。

文書構造を定義し、それに適合するように文書を作成することで、文書のコンピューター処理が容易になります。

XMLでは、文書構造をスキーマと呼びます。(SGMLではDTDと呼んでいました。)

文書構造の例

スキーマ定義の基準と情報の格

スキーマを定義する際の基準は、次に示す3つがあります。

  1. 意味に基づくスキーマ
  2. 文書構造に基づくスキーマ
  3. 表示方法(Web表示用、組版用など)に基づくスキーマ

それぞれの基準にメリット/デメリットがありますが、上位に示したものほど、情報の「格」が上です。

格上の情報ほど、コンピューター上で加工しやすくなります。

スキーマ変換 (XML変換)

データの内容を変えずに、別のスキーマで表現し直すことを、スキーマ変換と呼びます。

自動変換する場合は、情報の格が同じもの同士、または、格上から格下への変換(ダウンコンバージョン)が一般的です。

格下から格上への変換(アップコンバージョン)は、内容の吟味が必要で、AI的アプローチが必要になります。

スキーマ変換用プログラミング言語

スキーマ変換用の言語として、XSLT (XSL Transformations)が定義されています。

XSLTのプログラムは、XML形式で記述します。

XSLTはW3Cが制定/保守しており、最新バージョンは3.0です。

主なXSLTエンジン(XSLT処理ツール)

.NET (無償; バージョン1.0対応)

標準ライブラリーとして、XSLT変換が提供されています。

.NETは、Windowsに標準で搭載されています。

Xalan (無償; バージョン1.0対応)

オープンソースのXSLT変換ライブラリーです。

C++版およびJava版があります。

Java版は、Oracle版Javaに標準搭載されています。

Saxon (無償版と有償版; バージョン1.0〜3.0対応)

Saxonica社が開発したXSLT変換ライブラリー/ツールです。

Java/JavaScript/.NETに対応しています。

有償版と、オープンソースの無償版があります。

Adobe FrameMakerに標準搭載されています。