有限会社スパイシーソフト

自動組版のスパイシーソフト
自動組版:XML | ACCDB | EXCEL | CSV:InDesign

スペシャル

ホーム > スペシャル > XML > XML用語

XML用語

XML関連一般用語

マークアップ言語 / XML文書 / メタ言語 / メタデータ / スキーマ Schema / ボキャブラリ Vocabulary / XMLパーサ / XMLスタイルシート宣言 / ツリー構造 / DOMツリー / トラバース Traverse / ノード / カレントトノード / コンテキストノード / ルートノード / ルート / ルート要素 / シンタックス / セマンティックス / バリデート validate / バリデータ / インスタンス / カーソルモデル / 要素 / 属性 / XML宣言 / 妥当なXML文書 / 整形式のXML文書 / タグ / 開始タグ / 空要素タグ / 終了タグ / スタンドアロン文書 / フラグメント / 混合内容 / 文字参照 / CDATAセクション / 実体 Entity / 実体参照 / パラメタ実体 / 解析対象実体 / 解析対象外実体 / 定義済み実体 / PI / 条件付きセクション

XMLその他関連用語

テクニカルレポート Technical Report / 勧告 Recommendations / 勧告案 Proposed Recommendations / 勧告候補 Candidate Recommendations / ワーキングドラフト WorkingDraft / ノート Notes / BNF Backus Naur Form / EBNF Extended BNF / IURI Internationalized Uniform Resource Identifiers / JAXP Java API for XML Parsing / MSXML / Xalan / Xerces / Cocoon







XML関連一般用語

マークアップ言語

テキストファイルの中に、内容と同時に特定の記号を利用して付加情報を記述したもの


XML文書

XMLはメタ言語である。メタ言語は言語を作る言語であって、文書やデータを記述する言語ではない。XMLによって作られた言語を用いて作成された文書やデータを、XML文書と呼ぶ。数字の羅列のようなデータの塊で、とても文書には見えないようなものであっても、XML文書と呼ばれる。
XML文書には、要素、属性、処理命令、CDATAセクション、DTDなどが記述される。要素の内部には、開始タグ、終了タグ、空要素タグ、文字列などが含まれる。
要素や属性の正しい並び順は、言語によって異なるが、それらを記述したものがスキーマである。
XML文書は、通常、UTF-16やUTF-8などISO/IEC-10646(Unicode)の文字エンコーディングスキームで記述する。


メタ言語

言語を作るための言語をメタ言語という。有名なメタ言語としては、XMLやSGMLがある。その他、コンパイラを作成するコンパイラ(コンパイラコンパイラと呼ばれる) のyaccなども、メタ言語の一種と考えられる。
メタ言語の特徴としては、メタ言語を使用するだけでは、直接的な情報を何も記述できないことである。メタ言語は、それ自身で直接的な情報を記述するのではなく、そのような情報を記述する言語を作成するために使われる。例えばXMLであれば、XML勧告を読むだけでは何も直接的な情報を記述することはできない。情報を記述するためには、要素や属性を決めてやらねばならない。この「決める」という行為こそ、言語を作成することにほかならない。


メタデータ

メタデータとは、データについての情報を記述したデータである。膨大なデータの山の中から目的のデータを探し出す手助けとするために作成される。インターネット上にある膨大な情報も、現実には、単純なキーワード検索しかできないため、壮大なゴミの山と称されることもあるが、個々の情報にメタデータを付けることにより、よりデータの性質を的確に反映した検索が可能となる。特に、画像データなどは、そのままでは単純なキーワード検索を行うこともできず、メタデータの恩恵を大きく受ける。


スキーマ Schema

XMLにおけるスキーマは、XML文書の取り得る構造を記述したものである。これはどういうことかというと、要素や属性の配列に関して、正しい並び方と間違った並べ方をコンピュータ言語として明確に記述したもの、という意味である。スキーマを記述するための言語を、スキーマ言語という。
スキーマ言語が存在することによって、XML文書の正しさをある程度まで自動的にチェックすることが可能になる。これにより、配送途中で壊れたり、何らかの理由で間違ったXML文書が送信された場合でも、受信側で人間の手を介さずにチェックすることが可能になる。これは、電子商取引など、大量のXML文書が飛び交う世界では必須の機能と言える。そのような場合では、人間がすべてのXML文書を読んでチェックすることは困難である。
また、スキーマ言語には、言語を設計した者の意図を曖昧無く明確に記述するという役割もある。XML文書を処理するアプリケーションプログラムを作成するプログラマは、構文上の疑問があるときは、処理する言語のスキーマを参照して、曖昧さを解消することになる。
XML用のスキーマ言語には、DTD、XML Schema、RELAX、XML Data Reducedなどがある。


ボキャブラリ Vocabulary

XML文書を記述するためには、要素や属性を使用する。要素や属性は、利用目的に応じて、意味のあるまとまりとして規定される。この意味のあるまとまりを、ボキャブラリと呼ぶ。
異なる規定に属する要素や属性を一つのXML文書内で使用できるXMLという技術の出現によって、ボキャブラリという用語は頻繁に利用されるようになった。たとえば、「XHTMLの要素や属性と、MathMLの要素や属性を1つのXML文書に記述する」と表現するのは回りくどく分かりにくいが、「XHTMLとMathMLのボキャブラリを使う」と言えば、短く明快になる。
ボキャブラリを明確に規定するためには、スキーマを記述する。


XMLパーサ

XML文書は通常テキストファイルとして存在している。しかし、XMLにはさまざまな表記方法が許されており、XMLを処理するアプリケーションソフトを記述することは、そこそこの手間が必要である。しかし、XML文書の書式はある程度決まっているため、XML文書を読み込んで、よりアプリケーションソフトから利用しやすい形に噛み砕く処理は、共通のものとなる。これを単独で取り出したものを、XMLパーサと呼ぶ。
通常、XML文書を扱うアプリケーションソフトウェアを記述する場合には、XML文書を直接扱わず、XMLパーサを経由させることが一般的である。また、XML文書は不特定多数の情報交換に利用されることも多いため、機能に誤りがあると問題を引き起こす可能性があるため、実績が豊富なXMLパーサを採用することが推奨される。
アプリケーションソフトからXMLパーサを呼び出す場合には、主に標準化されたAPIを使用する。標準APIには、DOMやSAXなどがある。
XMLパーサの中には、ただ単にXML文書を扱いやすいように噛み砕くだけでなく、DTDなどのスキーマ言語に沿って内容の正しさを検証したり、XML文書の作成や編集の機能まで提供するものもある。


XMLスタイルシート宣言

Associating Style Sheets with XML documentsは、XML文書の中に、そのXML文書に対応することが想定されているスタイルシートの情報を埋め込む方法を規定する。
処理命令(PI)の形式で表現され、Cascading Style Sheet(CSS)やXSLTなどで記述されたスタイルシートを指定することができる。
これを用いると、Webブラウザから任意のXML文書を指定するだけで、それを適切に表示するためのスタイルシートも自動的に読み込ませることができる。一般的に、XML文書を直接URIによって指定して、閲覧可能なWebページを作成する場には必須の機能となる。
利用形態によっては、この機能によって指定されたスタイルシートを使用しないという選択もあり得る。


ツリー構造

1つのノードからスタートして、枝分かれを繰り返して、樹木が枝を伸ばすように広がっていくデータ構造をツリー構造という。どんなXML文書であろうと、XML文書であれば、ノードの組み合わせとして図に描くと、かならずツリー構造になる。
一見、木に似ていても、複数の親ノードを持つノードが一つでもあれば、それは木構造とは言えない。実際の樹木でも、(普通なら)一度枝分かれした枝が再度一緒になるようなことはない。XML文書を構成するノードも、1つのノードが持つことのできる親ノードは1つだけである。


DOMツリー

XML文書は、論理的にはツリー構造となっている。最初に出現するルート要素は根(ルート)であると考えられ、すべての要素や属性は、そこから延びる枝葉として考えられる。
DOMにおいては、読み込んだXML文書を実際にツリーの形をしたデータに変換する。このデータを、DOMツリーと呼ぶ。


トラバース Traverse

XML文書を処理する場合、通常はDOMツリーを生成し、それに対して要素の追加や変更などの操作を行う。 こうした場合、まずDOMツリーの根(ルート)からたどって、ツリーを上ったり下りたりしながらさまざまな処理を行うことになる。 この移動をトラバースという。


ノード

いくつもの構成要素が相互に接続されている状態をネットワークという。ネットワークを構成する個々の要素をノードと呼ぶ。
たとえば、インターネットやLANのようなネットワークに接続された個々のコンピュータをノードと呼ぶ場合がある。
XMLにおいては、XML文書をツリー状のネットワークと考えることがよく行われる。このとき、XML文書を構成する要素や属性がノードとなる。


カレントトノード

XML文書ツリーの中で、特に着目しているノードをカレントノードという。主に、ノードを順番に訪問して処理するプログラムなどで、現在処理対象となっているノードを示すために使用される用語である。


コンテキストノード

XSLTのスクリプトが実行されているときに、個々のテンプレートを処理する際に基準点となるノードをコンテキストノードという。 XSLTスクリプトの中にXPath式を書く時に、ルートノードを起点とした絶対指定の他に、コンテキストノードを起点とした相対指定を書くことができる。 一般的に、XPath式は相対指定で書かれることが多いが、コンテキストノードの位置を勘違いすると、XPath式が意図通りに解釈されないことになる。 これは、XSLTスクリプトで起きるトラブルの典型的なパターンの一つである。


ルートノード

XML文書のツリー構造で最上位のノード。DOMにおいては、Documentオブジェクトがこれにあたる。 Documentオブジェクトはルート要素に対応するオブジェクトではないことに注意が必要である。 ルート要素に対応するオブジェクトは、Documentオブジェクトの子オブジェクトとして作成される。


ルート

いずれの言葉も、「一番上」を意味する。XML文書においては、ツリー構造であることを意識した上で、ツリーのいちばん上を意味する。具体的にそれがルートノードを示すのか、ルート要素を示すのかは、文脈による。XML勧告によると、ただ単にrootまたはルートと書いた場合はルート要素を意味するとされているが、「DOMツリーのルート」というような表現で使われた場合は、ルートノードを意図して書かれたものだと考えられる。


ルート要素

XML文書のツリー構造で最上位の要素。ルート要素の開始タグは、いかなる他のタグよりも早く現れ、ルート要素の終了タグは、いかなる他のタグよりも後に現れる。XML文書は、最低でも1つの要素を持たねばならないが、それがルート要素である。
なお、厳密には、ルート要素を空要素タグで記述することは可能である。ルート要素とルートノードは同じではないことに注意が必要である。


シンタックス

シンタックスとは、構文を意味する。具体的な文字がどのように配列されているかに着目した概念を示す言葉である。例えば、以下の2つのXML文書は、シンタックスに着目して比較した場合、書き手の意図が同じであったとしても同一の内容ではないと言える。
<name>山田太郎</name>
<名前>山田太郎</名前>
しかし、表記がまったく同一であっても、それが示す意味が異なる場合は、セマンティックスが同一であるとは言えない。たとえば、titleという要素を記述したとき、見た目の表記がまったく同一に見えたとしても、肩書きを記述するために使用したtitle要素と、文書名を記述するために使用したtitle要素は、セマンティックス的に同一とは言えない。
反意語は、セマンティックスである。


セマンティックス

セマンティックスとは、特定の表記に捕らわれず、表現された意味に着目する考え方をあらわす言葉である。たとえば、以下の2つのXML文書は、セマンティックスに着目して比較した場合、書き手の意図が同一であるなら、同一のセマンティックスを持つ文書であると言える。
<name>山田太郎</name>
<名前>山田太郎</名前>
しかし、表記がまったく同一であっても、それが示す意味が異なる場合は、セマンティックスが同一であるとは言えない。たとえば、titleという要素を記述したとき、見た目の表記がまったく同一に見えたとしても、肩書きを記述するために使用したtitle要素と、文書名を記述するために使用したtitle要素は、セマンティックス的に同一とは言えない。


バリデート validate

あるXML文書が、DTDなどで記述されたスキーマに沿って書かれているかどうかをチェックすること、バリデートという。バリデートは、XML対応アプリケーションソフトがXML文書を読み込む際に行う場合がある(行わない場合もある)。また、バリデートだけを行う専用ソフトもあり、バリデータと呼ばれる。


バリデータ

バリデートを行うソフトウェアをバリデータと呼ぶ。XML文書の妥当性を調べるだけで、他に何もしてくれないが、XML文書作成を行っている場合には、有益なエラー情報を豊富に提供してくれるバリデータがあると非常に便利である。


インスタンス

インスタンスは、オブジェクト指向プログラミングなどで使用される用語である。オブジェクト指向では、オブジェクトの設計図となるクラスを作成し、そのクラスに基づき、情報の実体であるオブジェクトを生成する。このオブジェクトを、「クラスのインスタンス」と呼ぶ。
たとえば、「売り上げ報告」というクラスがあった場合、1月の売り上げ報告、2月の売り上げ報告……は「売り上げ報告」クラスのインスタンスとなる。ここで重要なことは、「売り上げ報告」クラスには具体的な売上高の情報は含まれていないが、インスタンスには含まれていること。インスタンスは複数存在し、それぞれ違う売上高の数値を内部に持っていることである。
XMLにおいては、スキーマに対して、インスタンスという言葉を使うことがある。たとえば、売り上げ報告DTDを作成した場合、このDTDに沿って作成されたXML文書は、「売り上げ報告DTDのインスタンスXML文書である」という。


カーソルモデル

XML文書にアクセスするAPIにおける手法の1つ。
XML文書全体への自由なアクセスを許さず、カーソルと呼ばれるオブジェクトを経由してのみ、アクセスを許す。カーソルは、XML文書ツリー上を、自由に移動させることができる。XML文書から何かの情報を取り出す場合には、カーソルを目的の場所に移動させた後に、カーソルを通して情報を取り出す。
カーソルモデルは、プログラマに提供する自由度は低いものの、システムの最適化や複数利用者からのアクセスの競合の調停がやりやすいという長所がある。
Microsoftの.NET FrameworkのSystem.Xml.XmlDataDocumentクラスや、Document Object Model (DOM) Level 2 Traversal and Range SpecificationのTreeWalkerも一種のカーソルモデルと言える。


要素

XML文書において、もっとも基本となる情報単位が要素である。要素には、内容を持つ通常の要素と、内容を持たない空要素がある。


属性

属性は、XML文書の中で、要素に対して付加的な情報を付け加えるために使用される。
付加される情報は名前と値のペアで表現され、開始タグまたは空要素タグの中に記述される。


XML宣言

XML宣言とは、XML文書の先頭に付き、その文書がXML文書であることを明確に示す文字列である。以下がXML宣言の例である。
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
XML宣言は処理命令と似ているが、処理命令ではない。XML宣言は必ず先頭に記述する必要がある。それより手前に空白文字や空行があってはならない。


妥当なXML文書

DTDが与えられ、それに対して完全に適合したXML文書を、妥当なXML文書(Valid XML Document)と呼ぶ。
これに対して、DTDが与えられていないか、DTDに適合しないが、基本的な構文がXMLの仕様に適合するものを整形式のXML文書と呼ぶ。 どちらにも該当しないものは、XML文書としては誤りである。


整形式のXML文書

表面的な形式だけが整えられたXML文書を「整形式のXML文書」と呼ぶ。整形式とは、「形式が整えられている」という意味であって、「整形された式」ではないことに注意。より具体的に言うと、XML文書を記述するときに、DTDに関する情報を記述しないものが、整形式のXML文書である。また、XMLアプリケーションプログラムを記述する際に、DTDの情報を参照しないという選択も可能である。
整形式のXML文書に対して、DTDを明示して構文の検証を行うXML文書を、「妥当なXML文書」と呼ぶ。
ただし、DTDに記述された内部実体の定義などは、整形式のXML文書であっても参照される。つまり、DTDのスキーマ言語的な側面は無視されるが、それ以外の要素は意味を持つ場合があることに注意が必要である。
整形式のXML文書が許されることは、XMLの大きな特徴の1つと言える。SGMLにおいては、基本的に、DTDを明示することが原則であった。しかし、必ず明確なDTDを示さねば処理できないというのは煩雑であり、また、いちいちDTDに適合するかどうかチェックするのは処理が重くなり、ソフトウェアも複雑になった。これらの問題を解決するために、XMLでは、DTDを必須としない整形式のXML文書という考え方を導入したのである。この点で、SGMLよりも、XMLの方が、思想的に新しい段階にあると言える。
実際にSGMLでは、多くの事例において、互いに矛盾する経験的な規範が存在するなどの理由で厳密な規定を作成できない問題が起きており、厳密な文書の規定を求めることに対する弊害があった。


タグ

XML文書において、要素を位置を明示し、属性を収納するために記述される文字列をタグという。タグには、開始タグ、終了タグ、空要素タグの種類がある。それぞれの記述例は、個々の用語の解説を参照願いたい。


開始タグ

XML文書中で、空ではない要素の始まりを示すタグを、開始タグと呼ぶ。
以下の例の中で、<greeting>の部分が開始タグである。
<greeting>Hello!</greeting>
開始タグには属性が含まれることがある。以下は属性を含む開始タグの例である。
<greeting language="English">


空要素タグ

XML文書中で、内容を持たない空の要素を示すタグを、空要素タグと呼ぶ。
以下の空要素タグの例である。
<hr/>
空要素タグには属性が含まれることがある。以下は属性を含む空要素タグの例である。
<img src="http://abc.def/ghi.jpg"/>


終了タグ

XML文書中で、空ではない要素の終わりを示すタグを、終了タグと呼ぶ。
以下の例の中で、</greeting>の部分が終了タグである。
<greeting>Hello!</greeting>


スタンドアロン文書

スタンドアロン文書は、外部のファイルを参照を処理しなくても、すべて正しい文書が得られるXML文書を示す。
整形式のXML文書を処理するアプリケーションプログラムにおいては、外部のファイルは処理されないかも知れない。 その場合でも、正しく処理できるXML文書であれば、スタンドアロン文書であるという。 スタンドアロン文書であるかどうかは、XML宣言の中で記述してアプリケーションプログラムに伝えることができる。


フラグメント

XML文書の断片をフラグメントと呼ぶ。たとえば、以下のようなXML文書があるとする。
<?xml version="1.0"?>
<person>
<name>Yamada ichiko</name>
<age>18</age>
<sex>female</sex>
</person>
すると、以下はこのXML文書のフラグメントであるという。
<name>Yamada ichiko</name>
フラグメントは自由にどこから切ってもよいわけではなく、フラグメント自身が木構造になっていなければならない。 そのため、コンピュータサイエンス的には、フラグメントはXML文書の部分木である、という言い方もできる。


混合内容

混合内容とは、要素の並びの間に、文字列データが出現してもよいものを示す。
たとえば、要素a, b, cがその順番に出現しなければならない場合、以下のようなXML文書を記述できる。
<a/><b/><c/>
混合内容ではない場合、以下のように文字列を記述することは間違いである。しかし、混合内容であれば、以下の例は正しい。
<a/>Good<b/>morning!<c/>


文字参照

文字参照は、文字を直接記述するのではなく、間接的にISO/IEC-10646(Unicode)の文字コードの形で記述する構文である。構文は、実体参照と似通っている。しかし、実体と異なり、定義しなくても参照することができる。
以下は文字参照の使用例を示す。
  文字参照を使用しない場合 <hiragana>あ</hiragana>
  16進数表記の文字参照を使用場合 <hiragana>&#x3042;</hiragana>
  10進数表記の文字参照を使用場合 <hiragana>&#12354;</hiragana>
16進数表記の文字参照は、アンパサント記号(&)、シャープ記号(#)、アルファベット小文字x、文字コード、セミコロン記号(;)の順に表記する。
10進数表記の文字参照は、アンパサント記号、シャープ記号、文字コード、セミコロン記号の順に表記する。
記述する文字コードは、UTF-8やUTF-16の表現ではなく、ISO/IEC-10646(Unicode)規格書で示されるU+XXXX形式の抽象的な文字コードを用いる。そのため、文字エンコーディングスキームの違いによって、表記が変わることはない。シフトJIS、EUC-JP、ISO-2022-JPなどを使用する場合もやはりISO/IEC-10646(Unicode)のコード値で記述する。これにより、シフトJIS、EUC-JP、ISO-2022-JPなどでXML文書を記述する場合でも、ISO/IEC-10646(Unicode)に存在するすべての文字を書き込むことができる。


CDATAセクション

XMLはマークアップ言語であるため、XML文書を記述する際には、マークアップ用として指定された記号を直接文字として記述することができない。これを記述してもマークアップの指定と解釈され、文字として解釈されないためである。しかし、場合によっては、この方法はXML文書の記述や管理を煩雑にする場合がある。このような場合に、マークアップ専用の記号であって、通常の文字として扱う特例的な部分をつくることができる。これを、CDATAセクションという。
CDATAセクションは、<![CDATA[という文字列で始まり、]]>という文字列で終わる。
CDATAセクションの内部には、XMLで利用可能な文字をすべて記述することができる。唯一の例外は]]>という文字列だけで、これを記述することはできない。記述しても、CDATAセクションの終了を示すと解釈されてしまう。
記号を参照形式で記述すれば、CDATAセクションを使用しなくても、まったく同じ文書を記述できる。


実体 Entity

実体とは、XML文書に含まれる1つの情報の単位である。実体はDTDなどで定義され、実体参照によってXML文書中に呼び出すことができる。
実体の中には、XML 1.0 勧告の中で定義され、規定せずに使用できるものがある。これを、定義済み実体と呼ぶ。
実体には、このような一般実体の他に、パラメタ実体、解析対象実体、各解析対象外実体など、いくつかの種類がある。


実体参照

DTDで規定された実体をXML文中で参照する構文を実体参照という。


パラメタ実体

パラメタ実体は、DTD内部で展開される実体である。一般の実体は、XML文書の本文に対して作用するが、パラメタ実体だけはDTD内部で展開される。


解析対象実体

XML文書では、実体として外部のファイルを参照することができる。その際、要素や属性などを含み、構文解析の対象となるものを、解析対象実体と呼ぶ。


解析対象外実体

XML文書では、実体として外部のファイルを参照することができる。 その際、要素や属性などのXMLの構文を持たないテキストや、テキスト以外のファイルを解析対象外実体と呼ぶ。


定義済み実体

マークアップに使用される記号に対応する以下の実体に関しては、定義しなくても使用できる。これを定義済み実体という。
&lt; &gt; &amp; &apos; &quot;
これらは、それぞれ、以下の記号を示すものである。
< > & ' "


PI

PIは、XML文書の中に、特定のソフトウェアへの命令を埋め込むために用意されたものである。XMLアプリケーションは、理解できないPIを読み飛ばす。PIは、<?で始まり、?>で終わる。
最近では、W3Cにおいて、ある種の標準的な機能をPIを用いて標準化する場合がある。たとえば、XML文書にスタイルシートを埋め込む構文を定めるAssociating Style Sheets with XML documentsにおいては、PIを用いてそれを表現するようになっている。
XML宣言はPIとよく似た書式だが、PIではなく、XML宣言という独立した存在である。


条件付きセクション

DTDの内部において、特定の部分を、含める機能と、除外する機能がある。これをパラメタ実体と併用することで、便利に利用できる場面がある。



XMLその他関連用語

テクニカルレポート Technical Report

W3Cの「ドキュメント」や「仕様」など、これらを総称してTR(Technical Report)と呼ばれます。TRのステータスには、完成度の高い順に、Recommendations(勧告)、Proposed Recommendations(勧告案)、Candidate Recommendations(勧告候補)、Working Draft(ワークングドラフトまたはドラフト)、Notes(ノート)と分かれています。


勧告 Recommendations

技術仕様において、すべての議論を終了し、意見の受付もすべて終了し、確定した文書を勧告と呼ぶ。勧告は、基本的に完全に確定したものであり、それ以上の内容変更が行われることはない。
もちろん、異なるバージョン番号や異なる名称で、内容に変更を加えた技術文書が出版されることはあり得る。 しかし、バージョン番号まで含んだ同一の名称の技術仕様は変更されることはない。例外は、正誤表(errata)による修正である。 この種の修正は、常に行われる可能性があるため、厳密な勧告の利用を必要とする場合は、発行元から出される正誤表について、常に注意を払う必要がある。


勧告案 Proposed Recommendations

限りなく勧告に近づいたのがProposed Recommendationsです。 ここまでくればあともう少しで勧告です。この段階ではほとんど仕様が確定し、関係者が確認して承認するのを待つことになります。 ただし過去の事例では、勧告案まで行きながらドラフトに戻ってしまった例もあります。


勧告候補 Candidate Recommendations

W3Cにおいて技術文書を作成する際に、すべての議論をやり尽くして、正式な勧告として公開できる状態に達したとき、勧告候補(Candidate Recommendation)と呼ばれる段階に入る。Candidate Recommendationは、問題がなければそれをそのまま勧告として決定するという候補である。 候補であるため、意見が付けば、それによって内容が変更されることもある。


ワーキングドラフト WorkingDraft

規格やテクニカルレポートなどの技術文書を作成する際に、その作成途中に仕様をまとめて議論の対象とする。この、議論途上の暫定的な内容を持つ技術文書規格やテクニカルレポートなどの技術文書を作成する際に、その作成途中に仕様をまとめて議論の対象とする。この、議論途上の暫定的な内容を持つ技術文書を、ワーキングドラフトという。
W3Cにおいては、議論が出尽くして内容が固まると、そのまま勧告になるのではなく、勧告候補(Candidate Recommendation)という段階に入る。勧告候補に入る直前のワーキングドラフトは、特にラストコール(Last Call)と呼ばれる。


ノート Notes

W3Cでは、W3C会員より提出された文書を公開するNoteという制度を持っている。 Noteは、W3C内部の議論を経た勧告や、勧告に向けて作業中のワーキングドラフトとは異なり、ただ単に提出された文書を公開するものである。 従って、Noteとして公開された文書の内容は、W3Cが推奨しているわけではなく、また、利用できることを保証しているわけでもない。 基本的には、標準を定めるための一過程としての試みや提案と見るべきもので、Noteに記述された仕様を利用することは、あまりお勧めではない。


BNF Backus Naur Form

コンピュータ言語の文法を記述するために使用されるポピュラーな言語。XML 1.0の仕様もBNFによって記述されている(正確にはBNFを拡張したEBNFで記述されている)。多くのコンピュータ言語がBNFで構文を定義されている。
日本語などの自然言語を文法規定の記述に用いると曖昧さが出るため、自然言語で書いた上で、同じ情報をBNFでも記述することが多い。BNFは構文を規定するもので、セマンティクスを規定するものではないため、BNFだけで言語を規定することはできない。また、BNFに拡張された変種も多い。
XMLも言語の構文を規定する能力を持っているが、BNFの方が自由度が高い。一方で、BNFの方がより記号的で理解するのが難しいという一面がある。 XMLにおけるBNF利用の詳細は、関連リンクにある記事に詳しいので本稿では割愛する。


EBNF Extended BNF

EBNFは拡張されたBNFの一種である。プログラミング言語Algol 60を定義するために使用され、ISO/IECの規格である「ISO/IEC 14977 : 1996 The international standard for Syntactic Metalanguage - Extended BNF」として出版されている。
XML 1.0仕様書で使用されているBNFは、EBNFである。EBNFには変種が多く、仕様が1つに定まっていないという指摘もある。XML仕様書内では、使用しているEBNFの構文を自ら定義している(XML 1.0仕様書内の6. Notation参照)。


IURI Internationalized Uniform Resource Identifiers

多国語ドメインなどのへのニーズが高まったことにより、URIを記述する書式も正規に国際化対応が期待されるようになった。国際化対応されたURIは、IURI(Internationalized Uniform Resource Identifiers)と呼ばれることがある。
ただ、IETFやW3Cなどでは、この用語を正式に冠したドキュメントは公開しておらず(2000年12月現在)、議論の過程で一時的に使用された用語であると推測される。


JAXP Java API for XML Parsing

JAXPは、米Sun Microsystems社が提供するJava言語用の標準XML APIである。
SAX 2.0, DOM 2, XSLTなどの機能を含む。リファレンス実装が米Sun Microsystems社より提供されており、これをJAXPと呼ぶ場合もある。


MSXML

MSXMLは、米Microsoft社が提供するXMLモジュールの名称である。MSXMLは、主にInternet Explorerの一部として配布されるが、単体で入手してアップグレードすることもできる。
MSXMLはDLL形式のCOMサーバとして提供され、バリデーション機能付きのXMLパーサの他、DOM、SAX、XSLTなどの機能を提供する。 また、W3Cの標準にない独自拡張機能も提供する。


Xalan

Xalanは、Apache XML Projectの一部として開発されているXSLTプロセッサである。 W3CのXSLTとXPathを実装している。XPathプロセッサは単体でも使用できる。現在Java言語のものが提供されているが、C++版も開発中である。


Xerces

Xercesは、Apache XML Projectの一部として開発されているXMLパーサである。バリデーション機能を持ち、JavaおよびC++言語用のものが提供される。W3CのDOM(Level-1と2)、SAX(バージョン2)に適合する。ドラフト段階のXML Schemaサポートも提供される。
Perl言語用のラッパーが、C++版Xercesでは提供される。また、COMラッパーも提供されるため、MSXMLと互換性が存在する。


Cocoon

Cocoonは、Apache XML Projectの一部として開発されているWebコンテンツのフレームワークである。XML、DOM、XSLTなどの技術を用いて、Webコンテンツを作成することができる。これらのコンテンツは、HTMLにレンダリングされて送信されるため、特殊なWebブラウザを要求しない。








ページの先頭へ