W3CREC-xml-19980210


Extensible Markup Language (XML) 1.0

W3C勧告 1998年2月10日

このバージョン:
http://www.w3.org/TR/1998/REC-xml-19980210
最新バージョン:
http://www.w3.org/TR/REC-xml
以前のバージョン:
http://www.w3.org/TR/PR-xml-971208
編者:
Tim Bray (Textuality and Netscape) <tbray@textuality.com>
Jean Paoli (Microsoft) <jeanpa@microsoft.com>
C. M. Sperberg-McQueen (University of Illinois at Chicago) <cmsmcq@uic.edu>

要約

拡張可能なマーク付け言語(XML)はSGMLのサブセットであって,この標準情報(TR)で,そのすべてを規定する。XMLの目標は,現在のHTMLと同様に,任意の文書型を持つSGML文書をWWW上で配布,受信及び処理できることとする。XMLは実装が容易であって,SGML及びHTMLのどちらに対しても相互運用性を保つ設計がなされている。

この資料の状態

この標準情報(TR)の原勧告はW3Cメンバ及び作業グループによってレビューされ,W3C勧告として技術統括責任者によって承認された。この標準情報(TR)は,安定したものであって,参考資料として使用してもよく,他の文書から規定の参考資料として引用してもよい。勧告作成において,W3Cは,この規定を広く知らせ,普及させる役割をもつ。これによってWWWの機能と相互運用性が高まる。

この標準情報(TR)は,現在広範囲に使用されている国際的なテキスト処理の標準 (Standard Generalized Markup Language, ISO 8879:1986に修正を加えたもの) をWWW上で使用するためにサブセット化した構文を規定する。この標準情報(TR)は,XML活動を通じて作成されたもので,この活動の詳細は http://www.w3.org/XML に示されている。現在のW3C勧告のリスト及び他の技術文書は http://www.w3.org/TR に示されている。

この標準情報(TR)では,[Berners-Lee et al.]に定義する URI(Uniform Resource Identifier)を使用する。URIの制定作業は進行中であって,[IETF RFC1738]及び[IETF RFC1808]を更新する予定となっている。

この標準情報(TR)の原勧告の正誤表は http://www.w3.org/XML/xml-19980210-errata において入手できる。

この標準情報(TR)の原勧告に誤りがあれば xml-editor@w3.org に報告されたい。

拡張可能なマーク付け言語 (XML) 1.0

目次

1. 一般事項
1.1 経緯及び目標
1.2 定義

1. 一般事項

拡張可能なマーク付け言語XML(eXtensible Markup Language)は,XML文書 というデータオブジェクトのクラスを規定し,XML文書を処理するプログラムの動作の一部を規定する。XMLは,SGML(Standard Generalized Markup Language)[ISO 8879]の制限したサブセットとする。XML文書は,必ずSGML規格に適合する。

XML文書は実体という記憶単位から成り,実体は構文解析されるデータ又は構文解析されないデータから成る。構文解析されるデータは,文字から成り,その一部は文字データを構成し,一部はマーク付けを構成する。マーク付けは,文書の記憶レイアウト及び論理構造を記述する符号とする。XMLは,記憶レイアウト及び論理構造についての制約条件を記述する機構を提供する。

XMLプロセサ というソフトウェアモジュールは,XML文書を読み込み,その内容及び構造へのアクセスを提供するために用いる。XMLプロセサは,他のモジュールのために動作することを前提としており,そのモジュールをアプリケーションという。この標準情報(TR)は,XMLプロセサに要求される振舞いを規定する。つまり,XMLデータの読込み方法を規定し,アプリケーションに提供する情報を規定する。

1.1 経緯及び目標

1996年にWorld Wide Web Consortium(W3C)の中に設立されたXML作業グループ(以前は,SGML編集レビュー委員会と呼ばれた。)がXMLを開発した。この作業グループの議長を,Sun MicrosystemsのJon Bosakが務めた。W3Cが組織し,以前はSGML作業グループと呼ばれたXML SIG(Special Interest Group)も,XMLの制定に非常に活発に参画した。XML作業グループのメンバを附属書Gに示す。Dan Connollyは,作業グループとW3Cとの調整役を務めた。

XMLの設計目標を次に示す。

  1. XMLは,インターネット上でそのまま使用できる。
  2. XMLは,広範囲のアプリケーションを支援する。
  3. XMLは,SGMLと互換性をもつ。
  4. XML文書を処理するプログラムは容易に書ける。
  5. XMLでは,オプションの機能はできるだけ少なくし,理想的には一つも存在しない。
  6. XML文書は,人間にとって読みやすく,十分に理解しやすい。
  7. XMLの設計は,すみやかに行う。
  8. XMLの設計は,厳密で,しかも簡潔なものとする。
  9. XML文書は,容易に作成できる。
  10. XMLでは,マーク付けの数を減らすことは重要ではない。

XML第1.0版を理解し,それを処理する計算機プログラムを書くために十分な情報は,この標準情報(TR),関連する規格など(文字についてはUnicode及びISO/IEC 10646,言語識別タグについてはIETF RFC 1766,言語コードについてはISO 639,並びに国コードについてはISO 3166。)によってすべて示す。

この版のXMLの規定は, テキスト及び法律上の注意を一切改変しない限り, 自由に配布してもよい。

1.2 定義

XML文書を規定するために使用する用語は,この標準情報(TR)内で定義する。次に示す語句は,それらの用語を定義するため,及びXMLプロセサの動きを規定するために使用する。

1.2.1 してもよい(may)
適合する文書又はXMLプロセサは,記述されたとおりに動作してもよいが,そのとおりにする必要はない。
1.2.2 しなければならない(must)
適合する文書又はXMLプロセサは,記述されたとおりに動作することが要求され る。そうでなければ,エラーとする。
1.2.3 エラー(error)
この標準情報(TR)が定める規則に対する違反。結果は定義しない。適合するソフトウェアは,エラーを検出して報告してもよく,エラーから回復してもよい。
1.2.4 致命的エラー(fatal error)
適合するXMLプロセサが検出し,アプリケーションに報告しなければならないエラー。プロセサは,致命的エラーを発見したあとも,それ以降のエラーを探すためにデータ処理を続行し,見つかったエラーをアプリケーションに報告してもよい。エラー訂正をサポートするために,プロセサは,処理していないデータ(文字データ及びマーク付けの混在したもの。)を文書から取り出し,アプリケーションに渡してもよい。しかし,プロセサは,致命的エラーを一度でも検出したなら通常の処理を続行してはならない。つまり,プロセサは,文字データ及び文書の論理構造についての情報を,通常の方法でアプリケーションに渡し続けてはならない。
1.2.5 ユーザのオプション指定によっては(at user option)
適合するソフトウエアは,記述されたとおりに振る舞ってもよい(may),又は振る舞わなくてはならない(must)(文章中の助動詞による。)。そのとおりに振る舞う場合は,記述された振舞いを選択又は拒否する手段をユーザに提供しなければならない。
1.2.6 妥当性制約(validity constraint)
すべての妥当な XML文書に適用する規則。妥当性制約の違反は,エラーとする。ユーザのオプション指定によっては,検証を行うXMLプロセサは,このエラーを報告しなければならない。
1.2.7 整形式制約(well-formedness constraint)
すべての整形式のXML文書に適用する規則。整形式制約の違反は致命的エラーとする。
1.2.8 マッチ(match)
a) 文字列又は名前のマッチ 比較する二つの文字列又は名前は,同一でなければならない。ISO/IEC 10646において,複数の表現が可能な文字[例えば,合成形式及び基底文字+発音符(ダイアクリティカルマーク)形式]は,どちらの文字列も同じ表現のときに限り,マッチする。ユーザのオプション指定によっては,プロセサは,その文字を標準形に正規化してもよい。比較のとき ,大文字と小文字との区別をする。 b) 文字列と文法中の規則とのマッチ ある生成規則から生成する言語に,ある文字列が属するとき,この文字列は,この生成規則にマッチするという。 c) 内容と内容モデルとのマッチ ある要素が,制約"要素の妥当性"に示す意味で適合するとき,この要素は,その宣言にマッチするという。
1.2.9 互換性のためには(for compatibility)
XMLの機能であって,XMLがSGMLと互換であることを保証するためだけに導入されるもの。
1.2.10 相互運用性のためには(for interoperability)
拘束力はもたない推奨事項。ISO 8879へのWebSGML適用附属書以前から存在するSGMLプロセサが,XML文書を処理できる可能性を高めるために取り入れるもの。