この文書は、W3C 標準情報 (TR) の作業ドラフト、"XML Base (XBase)" <http://www.w3.org/TR/2000/WD-xmlbase-20000221> を ToyFish.Net が独自に翻訳したものです。この仕様書の正式なものは W3C のサイトにある英語版であり、その著作権は W3C が保有しています。また、翻訳に誤りがある可能性に留意してください。
誤訳・誤植を発見された方は ToyFish.Net までお知らせください。
翻訳の最終更新日: 2000 年 9 月 9 日
Copyright © 2000 W3C ® (MIT, INRIA, Keio), All Rights Reserved. W3C liability, trademark, document use and software licensing rules apply.
この文書は、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 にあります。
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 機能のための書式を導入します。
属性 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 になります。
XML 文書中の URI を解決するアプリケーションは、こういった URI を、
RFC 2396 [RFC2396] で述べられている基底 URI を基準にして
解決すべきです。以下ではとくに xml:base
を含む XML 文書に RFC 2396 が
どのように適用できるのかについて述べます。
基底 URI は次の順序に沿って (上から順に) 算出されます。
xml:base
属性の対象範囲で決まります。注: 上記の手順 2〜4 は、XML 1.0 および XML 情報セット (XML Infoset) の現在の動作をまとめたものです。 手順 1 はこの仕様で述べられています。
xml:base
の対象範囲は外部実体には及ばないことに注意してください。
この動作は xml:space
にあわせています。
XML 情報セット [XML Infoset] では省略可能な基底 URI プロパティを
公開していますが、これは現在では xml:base
属性の有無に影響を受けません。
この文書では、基底 URI 情報セット特性と xml:base
を
統合する、XML 情報セットへの追加事項を規定します。
これにより、xml:base
属性に依拠したアプリケーションと
基底 URI 情報セットプロパティを表に出した機構に依拠したアプリケーションが
確実に同じ結果を出すことになります。
文書情報アイテムの省略可能な基底 URI プロパティの値は、xml:base
に
影響されません。
要素情報アイテムや処理命令における省略可能な基底 URI プロパティの値は、 上記の相対 URI 解決の規則によって決まります。
基底 URI プロパティに加えて、情報セットは xml:base
を属性として
公開し続けるべきです。
xml:base
で
指定される基底 URI からの相対指定であるとして解決すべきではありません。
名前空間の仕様改定の際には名前空間 URI に xml:base を完全に適用することが
必要になるでしょう。
xml:base
で指定された基底 URI に対する相対参照として
解決することができます。XLink 仕様は xml:base
への対応が必要です。xml:base
で指定された
基底 URI からの相対参照として解決することができます。XHTML 仕様は相互運用性の利点から
xml:base
をサポートしたほうがいいかもしれません。uri
データ型を定義しています。
このデータ型を認識してその URI を解決するアプリケーションは、
その内容が相対 URI である場合には xml:base
で指定された基底 URI からの
相対参照として解決されることを認識するべきです。[ここから訳注]
有志や関連団体により、各仕様の日本語訳が作成されています。ウェブ上で公開されていて訳者が知っているものは次の通りです。他にもご存知の方は訳者までお知らせいただけると嬉しいです。
W3C 文書の翻訳について詳しくは、W3C の翻訳に関するサイト もご覧ください。
[訳注ここまで]