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

なお、原文は最新の仕様ではありません。ToyFish.Net による最新の翻訳は http://www2.airnet.ne.jp/sardine/docs/xmlbase にありますのでご利用ください。

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

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


W3C ロゴ

XML 基底 (XBase)

W3C 作業ドラフト 1999 年 12 月 20 日

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

概要

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

この文書の位置付け

XML リンク作業グループは、 この 1999 年 12 月 20 日付の初の XBase 作業ドラフトで、この仕様に対する コメントを求めます。

W3C XML アクティビティは この種の機能がまもなく W3C 内外の様々な種類の XML アプリケーションで必要になると 考えています。

W3C 会員各位とその他の関連団体には、この仕様を論評し 早期実装の経験について報告されるよう要請します。このドラフトを公開するする目的は、 こういった機能の必要性と機構の適応可能性の両方のコミュニティからのフィードバックを 求めることです。

この文書に対するコメントは公開メーリングリスト www-xml-linking-comments@w3.org (アーカイブ) まで お送りください。実装経験の報告は歓迎しますが、 XML リンク作業グループは 最終リリースに先立ってこの仕様に変更を行う権限を初期実装が制限することは 認めません。

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

目次

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

附属書

A. 参考資料
B. 課題一覧

1. はじめに

XML リンク言語 [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 情報セット特性を設定します。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 情報セット (Infoset) の現在の動作をまとめたものです。 手順 1 がこの仕様で述べられています。

基底 URI が未定義の場合、その URI は誤りとみなされます。

編集者の注: 「誤り」は何を意味するのでしょうか? 私は HTML 仕様からそのまま写したのですが……。

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

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

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

注: "xml" 名前空間を使うことが必要になるのは、XMl 1.0 と情報セットの この統合のレベルです。

文書情報アイテムの基底 URI 特性の値は xml:base に影響されません。

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

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

5. 他の標準への影響


附属書

A. 参考資料

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™ 1.0: The Extensible HyperText Markup Language)。 W3C 作業ドラフト。 http://www.w3.org/TR/xhtml1 参照。
XLink
World Wide Web Consortium。 XML リンク言語 (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/1998/REC-xml-19980210 参照。
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 の翻訳に関するサイト もご覧ください。

[訳注ここまで]

xmlbase:system-identifiers
xmlbase:namespaces-compatibility

翻訳: ToyFish.Net