この文書は、W3C 標準情報 (TR) の作業ドラフト、"XML Base (XBase)" <http://www.w3.org/TR/2000/WD-xmlbase-20000221>ToyFish.Net が独自に翻訳したものです。この仕様書の正式なものは W3C のサイトにある英語版であり、その著作権は W3C が保有しています。また、翻訳に誤りがある可能性に留意してください。

誤訳・誤植を発見された方は ToyFish.Net までお知らせください。

翻訳の最終更新日: 2000 年 9 月 9 日


W3C ロゴ

XML 基底 (XBase)

W3C 作業ドラフト 2000 年 2 月 21 日

この版:
http://www.w3.org/TR/2000/WD-xmlbase-20000221
最新版:
http://www.w3.org/TR/xmlbase
前の版:
http://www.w3.org/TR/1999/WD-xmlbase-19991220
編著者:
Jonathan Marsh (Microsoft) <jmarsh@microsoft.com>

概要

この文書は、xml:base という XML 属性を定義することにより、 XML 文書一般において HTML の BASE と同等の機能を提供するための書式を提案するものです。

この文書の位置付け

XML リンク作業グループ (XML Linking Working Group)は、 この 2000 年 2 月 21 日付の XBase 最終判定 (Last Call) 作業ドラフトで、この仕様に対するコメントを求めます。 最終判定の期間は 2000 年 2 月 21 日に始まり、同年 3 月 20 日に終了します。

W3C 会員組織とその他の関連団体には、この仕様を論評し、早期実装の経験について 報告されるよう要請します。コメントは www-xml-linking-comments@w3.org (アーカイブ) まで お送りください。

実装経験の報告は歓迎しますが、 XML リンク作業グループは 最終リリースに先立ってこの仕様に変更を行う権限を初期実装が制限することは 認めません。

この作業の背景に付いては、 XML アクティビティ宣言を ご覧ください。

W3C が現在公開している勧告その他の技術文書の一覧は、 http://www.w3.org/TR にあります。

目次

1. はじめに
2. xml:base 属性
3. 相対 URI の解決
4. XML 情報セットとの関係

付録

A. 他の標準への影響 (規範外)
B. 参照文献

1. はじめに

XML リンク言語 (XML Linking Language)[XLink] はリソース間のリンクを記述するための XML の構文を定義しています。XLink で宣言されている要件のひとつは、汎用的な方法で HTML 4.0 [HTML40] のリンク構文をサポートすることです。 HTML の BASE 要素は、XLink 作業グループが検討した構文のひとつです。 BASE を使うと、製作者は、外部に置かれた画像、アプレット、フォーム処理プログラム、 スタイルシートなどへのリンクの相対 URI を解決するために、文書の基底 URI を 明示的に指定することができます。

この文書では、一般的な XML アプリケーションに対して BASE の機能を提供することを 提案します。さらに、相対 URI の解決を XLink の領域に限定せず、 相対 URI を利用するあらゆる XML アプリケーションに対して適用可能とすることを 提案します。言い換えれば、この問題は位置指定 (URI) のレベルで解決されるべきであり、 より高いリンク (XLink) のレベルで解決されるべきではないということです。

この文書では、xml:base 属性を定義することにより、XML 文書一般に対して 汎用の BASE 機能のための書式を導入します。

2. xml:base 属性

属性 xml:base を XML 文書に挿入すると、文書や外部実体の基底 URI 以外の 基底 URI を指定することができます。通常は、相対 URI の解決には文書や外部実体の基底 URI が 使用されます。この属性の値は RFC 2396 [RFC2396] て 定義されている URI であるものとして解釈されます。

xml:base で指定された基底 URI は、 この属性が置かれた要素と、さらに xml:base 属性が適用されているものを除く 子孫要素に対して、基底 URI (base URI) 情報セットプロパティを設定します。xml:base 属性の値自体が その置かれた要素の基底 URI に基づいて解決されなければならない場合には、 この属性の値自体が相対 URI であってもかまいません。このときの基底 URI は 先祖要素の xml:base 属性から取得されたものでもかまいません。これにより、 スコープ決定の動作が xml:lang および xml:space 属性と一貫性を持つことに なります。

「XML 名前空間」[XML Names] で述べられているように、 名前空間に対応した XML プロセッサでは "xml" という接頭辞は 名前空間名 http://www.w3.org/XML/1998/namespace に束縛されます。 xml:base は名前空間に対応していないプロセッサでも利用できる点に 注意してください。

注: 実装者への警告: base 属性を xml 名前空間に置いてしまうと、 この仕様が勧告になる前に名前空間のバージョン変更に対する余裕がなくなります。 実装者は、この仕様が安定していると認識できるまでは、この作業ドラフトの URI など、 プロトタイプ用の別の名前空間を使った方がいいかもしれません。

簡単な XHTML 文書での xml:base の例を次に挙げます。

<?xml version="1.0"?>
<html xmlns="http://www.w3.org/TR/xhtml1/strict"
      xml:base="http://somewhere.org">
  <head>
    <title>仮想図書館</title>
  </head>
  <body>
    <p><a href="new.xml">新着情報</a>をご覧ください!</p>
    <p>今日の注目作品をチェックしてください!</p>
    <ol xml:base="/hotpicks">
      <li><a href="pick1.xml">注目作品 その 1</a></li>
      <li><a href="pick2.xml">注目作品 その 2</a></li>
      <li><a href="pick3.xml">注目作品 その 3</a></li>
    </ol>
  </body>
</html>

この例の URL は解決されて次のような完全な URI になります。

3. 相対 URI の解決

XML 文書中の URI を解決するアプリケーションは、こういった URI を、 RFC 2396 [RFC2396] で述べられている基底 URI を基準にして 解決すべきです。以下ではとくに xml:base を含む XML 文書に RFC 2396 が どのように適用できるのかについて述べます。

基底 URI は次の順序に沿って (上から順に) 算出されます。

  1. 基底 URI は、XML 内の xml:base 属性の対象範囲で決まります。
  2. 基底 URI は、外側の実体の基底 URI となります。この URI は、XML 1.0 [XML] で、 文書実体、外部 DTD サブセットを含む実体、その他の外部パラメタ実体の URI であると 定義されています。
  3. 基底 URI は、その実体の取得に使われた URI の基底 URI となる。
  4. 基底 URI = "" (未定義)。
注: 上記の手順 2〜4 は、XML 1.0 および XML 情報セット (XML Infoset) の現在の動作をまとめたものです。 手順 1 はこの仕様で述べられています。

xml:base の対象範囲は外部実体には及ばないことに注意してください。 この動作は xml:space にあわせています。

4. XML 情報セットとの関係

XML 情報セット [XML Infoset] では省略可能な基底 URI プロパティを 公開していますが、これは現在では xml:base 属性の有無に影響を受けません。 この文書では、基底 URI 情報セット特性と xml:base を 統合する、XML 情報セットへの追加事項を規定します。 これにより、xml:base 属性に依拠したアプリケーションと 基底 URI 情報セットプロパティを表に出した機構に依拠したアプリケーションが 確実に同じ結果を出すことになります。

文書情報アイテムの省略可能な基底 URI プロパティの値は、xml:base に 影響されません。

要素情報アイテムや処理命令における省略可能な基底 URI プロパティの値は、 上記の相対 URI 解決の規則によって決まります。

基底 URI プロパティに加えて、情報セットは xml:base を属性として 公開し続けるべきです。


付録

A. 他の標準への影響 (規定外)

B. 参照文献

HTML40
World Wide Web Consortium。 HTML 4.0 仕様 (HTML 4.0 Specification)。 W3C 勧告。 http://www.w3.org/TR/REC-html40 参照。
RFC2396
IETF (Internet Engineering Task Force). RFC 2396: 統一リソース識別子 (URI): 一般的な書式 (RFC 2396: Uniform Resource Identifiers (URI): Generic Syntax) IETF RFC。 http://www.ics.uci.edu/pub/ietf/uri/rfc2396.txt 参照。
XHTML
World Wide Web Consortium。 XHTML(TM) 1.0: 拡張可能なハイパーテキストマーク付け言語 (XHTML(TM) 1.0: The Extensible HyperText Markup Language)。 W3C 作業ドラフト。 http://www.w3.org/TR/xhtml1 参照してください。
XLink
World Wide Web Consortium。 XML リンク言語 (XLink) (XML Linking Language (XLink))。 W3C 作業ドラフト。 http://www.w3.org/TR/xlink 参照。
XML
World Wide Web Consortium。 拡張可能なマーク付け言語 (XML) 1.0 (Extensible Markup Language (XML) 1.0)。 W3C 勧告。 http://www.w3.org/TR/REC-xml 参照。
XML Datatypes
World Wide Web Consortium。 XML スキーマ 第 2 部: データ型 (XML Schema Part 2: Datatypes)。 W3C 作業ドラフト。 http://www.w3.org/TR/xmlschema-2 参照。
XML Infoset
World Wide Web Consortium. XML 情報セット (XML Information Set)。 W3C 作業ドラフト。 http://www.w3.org/TR/xml-infoset 参照。
XML Names
World Wide Web Consortium。 XML 名前空間 (Namespaces in XML)。 W3C 勧告。 http://www.w3.org/TR/REC-xml-names 参照。

[ここから訳注]

有志や関連団体により、各仕様の日本語訳が作成されています。ウェブ上で公開されていて訳者が知っているものは次の通りです。他にもご存知の方は訳者までお知らせいただけると嬉しいです。

HTML40
HTML 4.0 仕様書 (加藤泰孝氏)
HTML 4.0 仕様書 (内田昭氏)
ハイパテキストマーク付け言語 (HTML) 4.0 規定 (JIS INSTAC)
XHTML
XHTML™ 1.0: 拡張可能ハイパーテキストマークアップ言語 (どら猫本舗)
XLink
XML リンク言語 (XLink) (どら猫本舗)
XML
拡張可能マークアップ言語 1.0 (どら猫本舗)
拡張可能なマーク付け言語 (XML) 1.0 (JIS INSTAC)
XML Names
XML ネームスペース (どら猫本舗)
XML 名前空間 (JIS INSTAC)

W3C 文書の翻訳について詳しくは、W3C の翻訳に関するサイト もご覧ください。

[訳注ここまで]


翻訳: ToyFish.Net