この標準情報(TR)は,2001年6月にWorld Wide Web Consortium(W3C)から公表されたXML Linking Language (XLink) Version 1.0勧告を翻訳し,技術的内容を変更することなく作成した標準情報(TR)(タイプU)である。
この標準情報(TR)は,XMLリンク付け言語(XLink)を規定する。XLinkは,資源間のリンクを生成し記述するために,要素をXML文書の中に挿入することを可能にする。XLinkは,今日のHTMLの単純な単一方向ハイパリンクに類似するリンク及びもっと高度なリンクを記述できる構造を生成するために, XML構文を用いる。
この標準情報(TR)は,XMLリンク付け言語(XLink)を規定する。XMLリンク付け言語は,資源の間のリンクを生成し記述するために,XML文書の中に要素を入れることを可能にする。
XLinkは,基本的な単一方向リンク及びもっと複雑なリンク付け構造の両方を生成するための枠組みを提供する。それは,XML文書に対して次のことを可能にする。
二つより多い資源の間にリンク付け関係を表明する。
メタデータをリンクと関連させる。
リンク付けされた資源から分離した位置にあるリンクを表現する。
XLinkの重要なアプリケーションは,ハイパリンクをもつハイパメディアシステムの中にある。ハイパリンクの単純な場合が,HTMLのA
要素であるが,その単純な場合のハイパリンクは,次の特徴をもつ。
ハイパリンクは,その位置指定子の技法として,URIを用いる。
ハイパリンクは,その二つの端点の一方において表現される。
ハイパリンクは,他方の端点を識別する。(ただし,サーバは,その到達先を探す又は動的に生成することに,大きな自由度をもってもよい。)
利用者は,一方の端点だけからたどりを開始できる。この場合,ハイパリンクが他方の端点に対して表現されている。
ウィンドウ,フレーム,戻りリスト,使用中のスタイルシートなどへのハイパリンクの効果は,ハイパリンクそれ自体ではなく,利用者エージェントによって決定される。例えば,A
リンクのたどりは,通常,現在のビューを, 新しいウィンドウを開くという利用者オプションで置き換えたりする。
これらの特徴は強力だが,その基礎をなすモデルは,可能なハイパリンク機能の範囲を制限している。この規定において定義されるモデルは,URI技法の利用をHTMLと共有する。しかし,以前は専用のハイパメディアシステムだけで利用可能であった機能で,ハイパリンク付けをより規模拡張可能にし柔軟にする機能を提供する点においてHTMLを凌ぐ。リンク付けデータ構造の提供に加えて,XLinkは,最小のリンク振舞いモデルを提供する。多くの場合,XLinkの上位に位置付けられる上位アプリケーションが,替わりになる又はより高度なレンダリング及び処理の扱いを規定する。
関係データベースにおける外来キー,及びプログラム言語における参照値といった,他の技術領域で用いる特殊化されたリンクの統合化された扱いは,この規定の適用範囲外とする。
XLinkの設計は,確立されたハイパメディアのシステム及び規定に関する知識に基づく。特に次の規定の影響が大きい。
HTML [HTML]: リンクを表現する幾つかの要素型を定義している。
HyTime [ISO/IEC 10744]: 行内,境界内及び第三のリンク構造,並びにたどり制御及びオブジェクトの表示を含む幾つかの意味的な機能を定義している。
Text Encoding Initiative Guidelines [TEI]: リンク,集約オブジェクト及びリンクの集まりを生成するための構造を提供している。
他の多くのリンク付けシステムも,特に, [Dexter], [FRESS], [OHS], [MicroCosm], 及び[Intermedia] も, XLinkの設計に情報を与えた。
XLinkの設計に関する要件の包括的な説明については,XLink要件文書[XLREQ]を参照すること。
2.では,XLink構成要素の生成に用いる構文の議論をしないで,XLinkを理解するために本質的な用語及び概念を示す。若干の付加的な用語が,この規定の後の方で示される。
定義 XLinkのリンクは,資源間又は資源の部分間の明示的な関係とする。
定義 XLinkのリンクは,XLinkのリンク付け要素によって明示的にされる。リンク付け要素は,リンクの存在を主張するXLink適合のXML要素とする。六つのXLinkの要素が存在する。その中の2個だけが,リンク付け要素と考えられる。他の要素は,リンクの特質を記述する情報の様々な断片を提供する。(この規定で用いる用語"リンク"とは,XLinkのリンクだけを指す。ただし,非XLink構成要素がリンクとして利用できることを妨げるものではない。)
資源の概念は,World Wide Webにとって普遍的とする。
定義 [IETF RFC 2396]に示されるとおりに,資源は,番地付け可能な情報単位又はサービス単位とする。
資源の例には,ファイル,画像,文書,プログラム及び問合せ結果がある。資源を番地付けするのに用いる手段は,URI(Uniform Resource Identifier,統一資源識別子)参照とする。(その詳細は,5.4 位置指定子属性(href)に示す。) 資源の部分を番地付けすることができる。例えば,資源全体がXML文書の場合,その資源の有用な部分は,文書内にある特定の要素かもしれない。例えば,それへのリンクを追うことによって,その要素が強調されたり,文書中のその点までスクロールされたりするかもしれない。
定義 リンクが資源の集合に関連するとき,それらの資源は,リンクに参加するという。
XLinkのリンクはXML文書中に出現しなければならないが,それは,XML符号化された資源だけでなくあらゆる種類の資源を関連付けることができる。
XLinkの共通的な使用の一つに,ハイパリンクを生成することがある。
定義 ハイパリンクとは,第一義的には,人間の利用者への表示を意図したリンクとする。
しかし,XLinkの設計は,ハイパリンクが計算機による利用だけを意図したリンクで使われることを妨げるものではない。
定義 どんな目的であっても, リンクを使用し又はリンクを追うことを,たどりという。
ある種のリンクは任意の数の資源を関連付けることができるが,たどりは,常に1対の資源(又は資源の部分)に関連する。
定義 たどりを始める資源を始点資源とする。
定義 たどり先を終点資源とする。
この手法で用いる用語"資源"は,資源全体ではなく,資源の部分に適用されることがあってもよい。
定義 1対の資源をどのようにたどるかの情報を弧という。この情報には,たどりの方向及びアプリケーションの振舞い情報も含まれる。
一つのリンクにおける二つの弧が同じ対の資源を指定するが,それらが始点資源及び終点資源としての場所を切り替える場合,そのリンクは,複数の方向をもつ。それは,リンクをたどった後の単なる"戻り"とは同じではない。
定義 局所資源とは,リンク付け要素を親としてもつことによって,又はそれ自体がリンク付け要素であることによって,リンクに参加するXML要素とする。
定義 URI参照で番地付けされることによって,リンクに参加する資源又は資源部分は,たとえそれが,そのリンクと同じXML文書の中にあっても,又は同じリンク付け要素の内部にあっても,遠隔資源と考える。
すなわち,局所資源は"値によって"指定され,遠隔資源は"参照によって"指定される。
定義 局所始点資源及び遠隔終点資源をもつ弧は,外向きに行く,つまり,リンク付け要素から離れる。
そうした弧をもつリンクの例に,HTMLのA
要素,HyTimeの"clinks," 及びText Encoding InitiativeのXREF
要素がある。
定義 弧の終点資源が局所だが,その始点資源が遠隔の場合,その弧は,内向きに行く。
定義 始点資源も終点資源も局所でない場合,その弧は,第三の弧とする。
必須ではないが,いかなる一つのリンクも,通常は全体として1種類の弧だけを指定し,したがって,そのリンクは,内向き,外向き又は第三の弧として参照されてもよい。
書込みアクセスをもたない(又は書込みアクセスを実行させない)資源から,又はリンク付け構成要素を埋め込む方法を提供しない資源から出てくるリンクを生成するためには,内向き又は第三の弧を使う必要がある。 それらの弧を使う場合には,リンクの発見についての要件は,外向きの弧についてのものより大きい。
定義 内向き及び第三のリンクの集まりを含む文書を,リンクデータベース又はリンクベースと呼ぶ。
3.では,XLinkアプリケーション及びマーク付けに関する処理及び適合性要件を詳しく示す。
定義 この規定では,キーワード,しなければならない(must),してはならない(must not),必す(須)の(required),しなければならない(shall),してはならない(shall not),することが望ましい(should),しないことが望ましい(should not),推奨する(recommended),してもよい(may),及びオプションの(optional)は,[IETF RFC 2119]で記述されるとおりに解釈することが望ましい。
XLink処理系は,[XML], [XML Names], [XML Base],及び [IETF RFC 2396] ([IETF RFC 2732]によって追加更新されている。)に依存する。
XML要素は,次の場合に,XLinkに適合する。
値が"simple","extended","locator","arc","resource","title",又は"none"のうちの一つである,XLink名前空間からのtype
属性をもつ。
選択されたXLink要素型によって課された適合性制約を,この標準情報(TR)で規定するとおりに順守する。
この規定は,DTDに関する特定の制約を課さない。適合性は,要素及び属性だけに適用される。
XLinkアプリケーションは,XLinkの要素及び属性を含む整形式XML文書,又はXLink要素及び属性に対応する情報項目及び特性を含むXML情報集合[XIS]を解釈するあらゆるソフトウェアモジュールとする。この規定は,要素及び属性を参照するが,その中のすべての規定は,同様に,それらの情報集合における等価なものにも適用される。それらアプリケーションは,次を行う場合に,適合するとする。
この規定において設定されるアプリケーションに対して必す(須)の条件("しなければならない"と規定されている条件)を守る。
アプリケーションが守ると選択したオプションの条件("ことが望ましい"及び"してもよい"と規定されている条件)に対して,その条件を規定された方法で守る。
この規定に示されるすべての適合性制約に従ったマーク付け適合性試験を実行する。
4.では,XLinkのマーク付け語い(彙)の設計を示す。
リンクマーク付けは,適格にたどられ処理されるために,XLinkアプリケーションによって信頼性をもって認識される必要がある。XLinkは,XML名前空間勧告[XML Names]に記述された機構を使用して,XLink語い(彙)による構成要素の認識を達成する。
この規定によって定義されたXLink名前空間は,次のURIをもつ。
http://www.w3.org/1999/xlink |
[XML Names]によって指示されたとおり,XLinkの要素及び属性を使うには,XLink名前空間の宣言が必要になる。例えば,次の宣言は,XLink名前空間を表現するために,myElement
要素内で接頭辞xlink
を利用可能にする。
<myElement xmlns:xlink="http://www.w3.org/1999/xlink"> ... </myElement> |
備考
この規定の多くの記述例では,XLink名前空間宣言を示していない。xlink
接頭辞は,この規定の全体を通して,その例でXLink名前空間宣言が存在するかどうかにかかわらず,要素上でのXLink名前空間の宣言を表すために使用される。この場合,その要素の適用範囲の中に,そのように(すなわち,xlink
接頭辞付で)マーク付けされた属性が(その属性をもつ同じ要素上に,又は何らかの先祖要素上に)に出現する。
XLinkの名前空間は,任意の名前空間の中にある要素上で使用するために,大域属性を提供する。大域属性は,type
,href
,role
,arcrole
,title
,show
,actuate
,label
,from
,及びto
とする。文書作成者は,彼ら自身の名前空間の中の要素,又は彼らが制御しない名前空間の中の要素さえも,XLink要素として認識可能にするために,XLink大域属性を使用する。type
属性は,XLink要素型(simple,extended,locator,arc,resource,又はtitle)を指し示す。その要素型は,それら要素が従わなければならないXLinkが課す制約,及びその要素に出会うXLinkアプリケーションの振舞いを指示する。
次に,XLink大域属性をもつ,非XLink名前空間からのcrossReference
要素の例を示す。
<my:crossReference xmlns:my="http://example.com/" xmlns:xlink="http://www.w3.org/1999/xlink" xlink:type="simple" xlink:href="students.xml" xlink:role="http://www.example.com/linkprops/studentlist" xlink:title="Student List" xlink:show="new" xlink:actuate="onRequest"> Current List of Students </my:crossReference> |
大域属性の使用は,個々の属性に名前空間接頭辞を使用すること,及び要素にtype
属性を使用することを,常に要求する。
XLink属性は,名前空間機構を使用することによって大域的になると考えられるが,一つのXLink要素型に関してそれら属性の許される組合せは,それらが出現する要素に対する特別なtype
属性(詳細情報については5.3 XLink要素型属性(type)を参照)の値に,大きく依存する。この規定における適合性制約の備考が,それらの許される使用パタンを詳しく示す。次に,要素型(行)に関する許される大域属性(列)の一覧を,必す(須)(R)又はオプション(0)のどちらかの値を付して示す。
simple |
extended |
locator |
arc |
resource |
title | |
---|---|---|---|---|---|---|
type |
R | R | R | R | R | R |
href |
O | R | ||||
role |
O | O | O | O | ||
arcrole |
O | O | ||||
title |
O | O | O | O | O | |
show |
O | O | ||||
actuate |
O | O | ||||
label |
O | O | ||||
from |
O | |||||
to |
O |
属性の許されるパタンを表した参考のDTDについては,附属書B DTDの例を参照すること。
この規定は,XLink要素型と関連付けられた制約の名前付き集合に順守しなければならない要素を参照するために,その要素が実際にもっている名前とは関係なく,"xxx型要素"という決まった形式を使う。例えば,"locator
型要素"は,次の要素のすべてを参照する。
<locator xlink:type="locator" ... /> <loc xlink:type="locator" ... /> <my:pointer xlink:type="locator" ... /> |
様々なXLink要素型は,それらが他のXLink要素型の直接の子どもとして現われる場合には,この規定によって規定される特別な意味をもつ。次に,特定の親要素型において意味のある役割を演じる子要素型の一覧を示す。他の組合せは,XLinkの規定では重要でない。
親の型 | 意味のある子の型 |
---|---|
simple |
none |
extended |
locator , arc , resource , title |
locator |
title |
arc |
title |
resource |
none |
title |
none |
XLinkの使用は,重要なリンク情報を供給する多くの属性を使用することに,潜在的に関係する。望まれるXLink属性の値が,ある型のすべての文書における個々のインスタンスに渡って不変になっている場合には,属性値の(固定的又は非固定的な)デフォルトをDTDに追加してもよく,その結果として,その属性は,要素開始タグに物理的に出現しなくともよい。例えば,属性のデフォルトが,4. XLinkマーク付け設計の導入での例における,xmlns:xlink
属性,xmlns:my
属性,type
属性,show
属性,及びactuate
属性に対して提供された場合には,その例は,次のとおりとなる。
<my:crossReference xlink:href="students.xml" xlink:role="http://www.example.com/linkprops/studentlist" xlink:title="Student List"> Current List of Students </my:crossReference> |
DTDの制御の下で生成された情報集合には,すべての属性値が与えられている。
この規定は,XLink名前空間における属性及び属性値だけを定義する。XLink属性と平行して非XLink属性を使用することについての制限はない。さらに,大部分のXLink属性はオプションであって,単純リンク又は拡張リンクの選択は,マーク付け設計者又は文書作成者に任されているので,XLink機能を使用するDTDは,XLinkの属性の完全な集合を使用したり宣言したりする必要はない。この規定はXLinkマーク付けに関する最小の制約を識別するが,最終的には,XLinkを使うDTDは,これらの制約を自由に強化してよい。XLinkを使用することで,妥当な文書が,そのDTDの管理において表現される制約への適合から免除されることはない。
次に,XLink属性及び非XLink属性の両方をもつcrossReference
要素の例を示す。
<my:crossReference xmlns:my="http://example.com/" my:lastEdited="2000-06-10" xmlns:xlink="http://www.w3.org/1999/xlink" xlink:type="simple" xlink:href="students.xml"> Current List of Students </my:crossReference> |
XLinkは,次の2種類のリンクを提供する。
拡張リンクは,任意の数の資源が参加するリンクだけでなく,内向きの弧及び第三の孤といった,完全なXLinkの機能を提供する。結果として,それらの構造はかなり複雑になる可能性があり,遠隔資源を指し示すための要素,局所資源を包含するための要素,孤のたどり規則を指定するための要素,並びに人間が読むことができる資源及び孤の表題を指定するための要素を含んでいる。
XLinkは,リンクベースを見つけるために,拡張リンクに特殊なセマンティクスを与える方法を定義する。この手法を使って,拡張リンクは,XLinkアプリケーションが他のリンクを処理することを支援する。
単純リンクは,共通的な種類のリンク,すなわち,ちょうど二つの資源が参加する外向きリンクに対する短縮構文を提供する。(HTMLのA
及びIMG
のリンクは,この分類に入る。)単純リンクは,拡張リンクよりも機能性が低いので,特殊な内部構造はもたない。
単純リンクは,概念的には拡張リンクの部分集合なのだが,構文的には異なっている。例えば,単純リンクを拡張リンクに変換するためには,幾つかの構造的な変更が必要になる。
5.では,XLinkの要素及び属性を定義する。
extended
型要素)
定義 拡張リンクとは,任意の数の資源を関連付けるリンクとする。参加する資源は,遠隔及び局所のあらゆる組合せであってよい。
内向きの弧及び第三の孤をもつことができるただ一つの種類のリンクは,拡張リンクとする。通常,拡張リンク付け要素は,(例えば,完全に異なる文書の中など,)それが関連する資源とは分離して記憶される。そこで,拡張リンクは,参加する資源が読取り専用の場合,それら資源の修正及び更新には手間がかかるが分離されたリンク付け要素の修正及び更新には手間がかからないという場合,又は(多くのマルチメディアフォーマットのように)埋め込まれたリンク用の固有なサポートがないフォーマットで資源が表されている場合,重要になる。
図5.1は,五つの遠隔資源を関連付ける拡張リンクを示す。これによって,例えば,学生の課程状況を表現できる。すなわち,一つの資源が学生を記述し,他の一つの資源が学生の学業上のアドバイザを記述し,二つの資源が学生が出席している課程を表現し,最後の資源が学生が聴講している課程を表現する。
図5.1 行外拡張リンクの様式付けられた図拡張リンクなしでは,資源は完全には関係付けられないかもしれない。例えば,資源は,五つの別々の文書の中にあるかもしれない。拡張リンクから出ている線は,その拡張リンクが資源間で生成する関連を表現する。しかし,線は方向性をもたないことに注意すること。方向性は,(線の)たどり規則を用いて表現される。それら規則が提供されない場合には,資源は,個々の資源がアクセスされるかどうか及びどのようにアクセスされるかに関する示唆なしに,特別な順番なしに関連付けられる。
図5.2は,五つの遠隔資源及び一つの局所資源(拡張リンク要素内部の一つの特殊な要素)を関連付ける拡張リンクを示す。これによって,図5.1で示した課程状況の例と同種のものを,局所的に記憶された学生の成績の平均を追加して表現できる。ここでも,線は,たどりの方向も振舞いも示唆しないで,六つの資源の関連だけを表現する。
図5.2 行内拡張リンクの様式付けられた図
拡張リンクに対するXLink要素型は,XLink名前空間の中の,値が"extended"であるtype
と呼ばれる属性をもった任意の要素とする。
extended
型要素は,次の要素を,任意の順番で,可能ならば他の内容及びマーク付けを伴って,混合したものを含んでもよい。
リンクに参加する遠隔資源を示すlocator
型要素。
リンクの参加資源間のたどり規則を提供するarc
型要素。
リンクに対して人間が読むことができるラベルを提供するtitle
型要素。
リンクに参加する局所資源を供給するresource
型要素。
extended
型要素が二つよりも少ない資源を関連付けるのはエラーではない。リンクが一つだけの参加資源をもつ場合又は全く参加資源をもたない場合には,そのリンクは,単に,たどれない,とする。そうしたリンクでも,例えば,特性をXLink属性を用いて一つの資源に関連付けるために,又はいつかは使用されるであろうリンク情報用のプレースホルダを提供するために,役に立つことがある。
親extended
型要素の内部のどこにあってもよいsimple
型又はextended
型の下位要素は,XLink指定の意味をもたない。extended
型要素の直接の子どもではないlocator
型,arc
型又はresource
型の下位要素は,XLink指定の意味をもたない。
extended
型要素は,意味属性であるrole
及びtitle
をもってよい(5.5 意味属性(role,arcrole及びtitle)参照)。それらは,全体として,リンクについての意味的な情報を供給する。role
属性は,リンク全体がもつ特性を指し示し,title
属性は,リンク全体の人間が読むことができる記述を指し示す。他のXLink属性が要素に存在する場合には,それらは,そのリンクへのXLink指定の関係をもたない。一つのtitle
属性及び一つ以上のtitle
型要素の両方が存在する場合には,それらは,XLink指定の関係をもたない。この場合,XLinkの上に構築される上位アプリケーションで,(例えば優先度などの)適切な取扱いが指定されることが多い。
extended
型要素の宣言及びインスタンス
次に,extended
型要素及びその下位要素のための宣言を参考として示す。この例の一部は,この規定を通して再利用される。type
属性及び幾つかのそれ以外の属性は,インスタンスごとに変化する属性を強調するために,DTDの中ではデフォルト化されている。
<!ELEMENT courseload ((tooltip|person|course|gpa|go)*)> <!ATTLIST courseload xmlns:xlink CDATA #FIXED "http://www.w3.org/1999/xlink" xlink:type (extended) #FIXED "extended" xlink:role CDATA #IMPLIED xlink:title CDATA #IMPLIED> <!ELEMENT tooltip ANY> <!ATTLIST tooltip xlink:type (title) #FIXED "title" xml:lang CDATA #IMPLIED> <!ELEMENT person EMPTY> <!ATTLIST person xlink:type (locator) #FIXED "locator" xlink:href CDATA #REQUIRED xlink:role CDATA #IMPLIED xlink:title CDATA #IMPLIED xlink:label NMTOKEN #IMPLIED> <!ELEMENT course EMPTY> <!ATTLIST course xlink:type (locator) #FIXED "locator" xlink:href CDATA #REQUIRED xlink:role CDATA #FIXED "http://www.example.com/linkprops/course" xlink:title CDATA #IMPLIED xlink:label NMTOKEN #IMPLIED> <!-- GPA = "grade point average" --> <!ELEMENT gpa ANY> <!ATTLIST gpa xlink:type (resource) #FIXED "resource" xlink:role CDATA #FIXED "http://www.example.com/linkprops/gpa" xlink:title CDATA #IMPLIED xlink:label NMTOKEN #IMPLIED> <!ELEMENT go EMPTY> <!ATTLIST go xlink:type (arc) #FIXED "arc" xlink:arcrole CDATA #IMPLIED xlink:title CDATA #IMPLIED xlink:show (new |replace |embed |other |none) #IMPLIED xlink:actuate (onLoad |onRequest |other |none) #IMPLIED xlink:from NMTOKEN #IMPLIED xlink:to NMTOKEN #IMPLIED> |
次に,これらの宣言を使用するXML要素がどのようになるかを示す。
<courseload> <tooltip>Course Load for Pat Jones</tooltip> <person xlink:href="students/patjones62.xml" xlink:label="student62" xlink:role="http://www.example.com/linkprops/student" xlink:title="Pat Jones" /> <person xlink:href="profs/jaysmith7.xml" xlink:label="prof7" xlink:role="http://www.example.com/linkprops/professor" xlink:title="Dr. Jay Smith" /> <!-- more remote resources for professors, teaching assistants, etc. --> <course xlink:href="courses/cs101.xml" xlink:label="CS-101" xlink:title="Computer Science 101" /> <!-- more remote resources for courses, seminars, etc. --> <gpa xlink:label="PatJonesGPA">3.5</gpa> <go xlink:from="student62" xlink:to="PatJonesGPA" xlink:show="new" xlink:actuate="onRequest" xlink:title="Pat Jones's GPA" /> <go xlink:from="CS-101" xlink:arcrole="http://www.example.com/linkprops/auditor" xlink:to="student62" xlink:show="replace" xlink:actuate="onRequest" xlink:title="Pat Jones, auditing the course" /> <go xlink:from="student62" xlink:arcrole="http://www.example.com/linkprops/advisor" xlink:to="prof7" xlink:show="replace" xlink:actuate="onRequest" xlink:title="Dr. Jay Smith, advisor" /> </courseload> |
resource
型要素)
拡張リンクは,その拡張リンクの内部に出現する特殊な下位要素を用いて,そのリンクに参加する局所資源を指し示す。下位要素は,その内容すべてとともに,全体として,一つの局所資源をマーク付けする。
局所資源のためのXLink要素は,XLink名前空間の中の,値が"resource"であるtype
と呼ばれる属性をもった任意の要素とする。
resource
型要素は,任意の内容をもってよい。どんな内容が存在しようとも,そのリンクへのXLink指定の関係が生じることはない。resource
型要素が内容をもたないこともある。その要素が要求時にたどられることを期待される始点資源として役に立つ場合,対話的なXLinkアプリケーションは,そのたどりを開始する方法を利用者に与えるために,通常は何らかの内容を生成する。resource
型要素が親に対してextended
型要素以外のものをもつ場合には,resource
型要素は,XLink指定の意味をもたない。
resource
型要素は,意味属性であるrole
及びtitle
(5.5 意味属性(role,arcrole及びtitle)を参照)及びたどり属性であるlabel
(5.7 たどり属性(label,from及びto)参照)をもってよい。意味属性は,資源へと導く特定の弧の文脈以外で,より普通の言葉で資源についての情報を供給する。role
属性は,資源の特性を指し示し,title
属性は,資源の人間が読むことができる記述を指し示す。label
属性は,arc
型要素がたどる弧を生成する際にその属性を参照する方法を提供する。
resource
型要素の宣言及びインスタンス
次に,resource
型要素のための宣言を参考として示す。
<!ELEMENT gpa ANY> <!ATTLIST gpa xlink:type (resource) #FIXED "resource" xlink:role CDATA #FIXED "http://www.example.com/linkprops/gpa" xlink:title CDATA #IMPLIED xlink:label NMTOKEN #IMPLIED> |
次に,これらの宣言を使うXML要素がどのようになるかを示す。
<gpa xlink:label="PatJonesGPA">3.5</gpa> |
locator
型要素)
拡張リンクは,位置指定子要素を用いてそのリンクに参加する遠隔資源を指し示す。
位置指定子のためのXLink要素は,XLink名前空間の中の,値が"locator"であるtype
と呼ばれる属性をもった任意の要素とする。
locator
型要素は,任意の内容をもってよい。直接の子どもであるtitle
型要素(5.1.4 拡張リンク,位置指定子及び弧のための表題(title型要素)参照)以外,いかなる内容が存在しようとも,そのリンクへのXLink指定の関係が生じることはない。locator
型要素が入れ子のXLink要素を含む場合には,それらの含まれる要素は,親リンクへのXLink指定の関係をもたない。locator
型要素が親に対してextended
型要素以外のものをもつ場合には,locator
型要素は,XLink指定の意味をもたない。
locator
型要素は,位置指定子属性(5.4 位置指定子属性(href)参照)をもたなければならない。位置指定子属性(href
)は,供給された値をもたなければならない。
locator
型要素は,意味属性であるrole
及びtitle
(5.5 意味属性(role,arcrole及びtitle)参照)及びたどり属性であるlabel
(5.7 たどり属性(label,from及びto)参照)をもってよい。位置指定子属性は,遠隔資源を識別するURI参照を提供する。意味属性は,資源へと導く特定の弧の文脈以外で,より普通の言葉で資源についての情報を供給する。role
属性は,資源がもつ特性を指し示し,title
属性は,資源の人間が読むことができる記述を指し示す。label
属性は,arc
型要素がたどる弧を生成する際にその属性を参照する方法を提供する。
備考
locator
型要素は,単に位置指定子(href
)属性をもつという理由だけで,それ自体でリンクを構成することはない。それは,simple
型要素とは異なり,それ自体と参照される資源との間でXLinkが支配する関連を生成しない。
locator
型要素の宣言及びインスタンス
次に,locator
型要素のための宣言を参考として示す。
<!ELEMENT person EMPTY> <!ATTLIST person xlink:type (locator) #FIXED "locator" xlink:href CDATA #REQUIRED xlink:role CDATA #IMPLIED xlink:title CDATA #IMPLIED xlink:label NMTOKEN #IMPLIED> <!ELEMENT course EMPTY> <!ATTLIST course xlink:type (locator) #FIXED "locator" xlink:href CDATA #REQUIRED xlink:role CDATA #FIXED "http://www.example.com/linkprops/course" xlink:title CDATA #IMPLIED xlink:label NMTOKEN #IMPLIED> |
次に,これらの宣言を使用するXML要素がどのようになるかを示す。
<person xlink:href="students/patjones62.xml" xlink:label="student62" xlink:role="http://www.example.com/linkprops/student" xlink:title="Pat Jones" /> <person xlink:href="profs/jaysmith7.xml" xlink:label="prof7" xlink:role="http://www.example.com/linkprops/professor" xlink:title="Dr. Jay Smith" /> <course xlink:href="courses/cs101.xml" xlink:label="CS-101" xlink:title="Computer Science 101" /> |
arc
型要素)
拡張リンクは,それに参加する資源の間を,一連のオプションの弧要素を用いてたどるための規則を指し示してもよい。
弧に対するXLink要素は,XLink名前空間の中の,値が"arc"であるtype
と呼ばれる属性をもった任意の要素とする。
arc
型要素は,任意の内容をもってよい。直接の子どもであるtitle
型要素(5.1.4 拡張リンク,位置指定子及び弧のための表題(title型要素)参照)以外,いかなる内容が存在しようとも,そのリンクへのXLink指定の関係が生じることはない。arc
型要素がその親に対してextended
型要素以外のものをもつ場合には,arc
型要素は,XLink指定の意味をもたない。
arc
型要素は,たどり属性であるfrom
及びto
(5.7 たどり属性(label,from及びto)参照),振舞い属性であるshow
及びactuate
(5.6 振舞い属性(show及びactuate)参照),及び意味属性であるarcrole
及びtitle
(5.5 意味属性(role,arcrole及びtitle)参照)をもってよい。
たどり属性は,同じリンクの中に参加する資源の対の間での望ましいたどりを定義する。この場合,資源は,それらのlabel
属性値によって識別される。from
属性は,たどりが開始されてもよい資源,すなわち,始点資源を定義し,to
属性は,たどられる先になってもよい資源,すなわち,終点資源を定義する。振舞い属性は,XLinkアプリケーションが,終点資源へとたどる際に使用することが望ましい振舞いを指定する。
意味属性は,弧の始点資源に対して相対的な弧の終点資源の意味を記述する。arcrole
属性は,特性の[RDF]概念に対応し,その役割は,"starting-resource HAS arc-role ending-resource.(始点資源は,弧役割の終点資源をもつ。)"を述べているとして解釈できる。この文脈に依存する役割は,この特定の弧の文脈の外部で解釈される場合には,終点資源のその意味とは異なることができる。例えば,資源は,一般には"person"(人間)を表現するかもしれないが,特定の弧の文脈では,それは,"mother"(母)の役割をもつかもしれないし,異なる弧の文脈では,"daughter"(娘)の役割をもつかもしれない。
同じ資源が,(単一のリンクの中か,又は多くのリンクにまたがっているかに関係なく,)幾つかの弧の中の一つの始点資源として与えられる場合,(弧を)たどる要求の振舞いは,この規定によっては制約なしとするが,対話的アプリケーションは,一つの可能性として,関連する弧又はリンクの表題を一覧として示すポップアップメニューを提供してもよい。
図5.3は,五つの遠隔資源を関連付けそれらの間のたどりのための規則を提供する拡張リンクを示す。指定されている弧はすべて第三の弧とする。すなわち,弧は,遠隔資源の間では排他的になっている。方向性のない実線は,先の図と同様に,そのリンクが五つの資源を関連付けられていることを示す。新しい点線の矢は,リンクが提供するたどり規則を示す。同じlabel
値を共有する資源があることに注意すること。
図5.3は,次の設定によって生成される方向付けられたたどり弧を反映している。ここで,A及びCの両方は,すべてのBへのたどりを開始することが可能とされている。幾つかの資源にはラベルが出現しているので,各々の弧の指定が,潜在的には,一度に複数個のたどり弧を生成する。
<go xlink:type="arc" xlink:from="A" xlink:to="B" /> <go xlink:type="arc" xlink:from="C" xlink:to="B" /> |
他の例として,五つの位置指定子であって,そのうちの二つがlabel
値を"parent"とし,三つがlabel
値を"child"とするものを含む拡張リンクを仮定する。
<extendedlink xlink:type="extended"> <loc xlink:type="locator" xlink:href="..." xlink:label="parent" xlink:title="p1" /> <loc xlink:type="locator" xlink:href="..." xlink:label="parent" xlink:title="p2" /> <loc xlink:type="locator" xlink:href="..." xlink:label="child" xlink:title="c1" /> <loc xlink:type="locator" xlink:href="..." xlink:label="child" xlink:title="c2" /> <loc xlink:type="locator" xlink:href="..." xlink:label="child" xlink:title="c3" /> ... <!-- arc-type elements would go here --> </extendedlink> |
次は,親資源から子資源へのたどりを指定する。これには,p1-c1,p1-c2,p1-c3,p2-c1,p2-c2,及びp2-c3が含まれる。
<go xlink:type="arc" xlink:from="parent" xlink:to="child" /> |
値がfrom
属性からもto
属性からも供給されない場合には,その消失している値は,そのextended
型要素の中のlocator
型要素で供給されるすべてのラベルを表すとして解釈される。例えば,次は,親から子へのたどりを指定し,子どもから子どもへのたどりも指定する。これには,p1-c1,p1-c2,p1-c3,p2-c1,p2-c2,p2-c3,c1-c1,c1-c2,c1-c3,c2-c1,c2-c2,c2-c3,c3-c1,c3-c2,及びc3-c3が含まれる。
<go xlink:type="arc" xlink:to="child" /> |
この場合,たどり規則は,ある資源から同じラベルをもつ他の資源への弧(子どもから他の子どもへの弧),さらに,ある資源からそれ自体への弧(一つの子からそれ自体への弧)を含むことに注意すること。これは,エラーではない。
arc
型要素が拡張リンクで提供されない場合,消失しているfrom
値及びto
値は,そのリンクの中のすべてのラベルを表すと解釈される。これは,次のたどりの指定と等価になる。
<go xlink:type="arc" /> |
二つ以上の位置指定子が同じラベルをもつ場合,同じラベルをもつ位置指定子の集合は,集約的な資源への参照としてではなく,個々の位置指定子として理解するのがよい。そのようなリンクのたどりの振舞いは,位置指定子のすべてが異なる役割をもち,適切な弧が同一のたどり対を生成するように指定されている場合のリンクと同じになるかもしれない。
拡張リンクのための弧のたどり規則が任意の可能なたどり対を無効にする場合には,XLinkは,これらの対に対するたどりについて定義しない。上位アプリケーションは,XLinkで方向付けられていないたどりを実行してもよい。例えば,リンク検査の処理は,資源のすべての利用可能な対をたどるかもしれない。
各々のarc
型要素は,同じ拡張リンクの中の他のarc
型要素のためのfrom
値及びto
値を(それぞれ)繰り返すことがないfrom
値及びto
値の対をもたなければならない。すなわち,リンクの中の各対は,一意でなければならない。
arc
型要素の宣言及びインスタンス
次に,arc
型要素のための宣言の集合を参考として示す。
<!ELEMENT go EMPTY> <!ATTLIST go xlink:type (arc) #FIXED "arc" xlink:arcrole CDATA #IMPLIED xlink:title CDATA #IMPLIED xlink:show (new |replace |embed |other |none) #IMPLIED xlink:actuate (onLoad |onRequest |other |none) #IMPLIED xlink:from NMTOKEN #IMPLIED xlink:to NMTOKEN #IMPLIED> |
次に,これらの宣言を使用するXML要素がどのようになるかを示す。
<go xlink:from="student62" xlink:to="PatJonesGPA" xlink:show="new" xlink:actuate="onRequest" xlink:title="Pat Jones's GPA" /> <go xlink:from="CS-101" xlink:arcrole="http://www.example.com/linkprops/auditor" xlink:to="student62" xlink:show="replace" xlink:actuate="onRequest" xlink:title="Pat Jones, auditing the course" /> <go xlink:from="student62" xlink:arcrole="http://www.example.com/linkprops/advisor" xlink:to="prof7" xlink:show="replace" xlink:actuate="onRequest" xlink:title="Dr. Jay Smith, advisor" /> |
title
型要素)
extended
型要素,locator
型要素及びarc
型要素は,title
属性(詳細については5.5 意味属性(role,arcrole及びtitle)を参照)をもってよい。しかし,それらは,一連の一つ以上のtitle
型要素ももってよい。それら要素は,例えば,人間が読むことができるラベル情報が更なる要素マーク付けを必要とする場合,又は複数の表題が必要となる場合に対して役に立つ。title
型要素を使用する一つの共通の動機には,国際化及び現地化の考慮がある。例えば,表題のマーク付けは,双方向性の文脈又は東アジアの言語で必要かもしれないし,複数の表題は,一つの表題の異なる自然言語の版に対して必要かもしれない。
表題のためのXLink要素は,XLink名前空間の中の,値が"title"であるtype
と呼ばれる属性をもった任意の要素とする。
title
型要素は,任意の内容をもってよい。title
型要素が入れ子になったXLink要素を含む場合には,それら含まれた要素は,その表題を含む親リンクとのXLink指定の関係をもたない。title
型要素が親に対してextended
型要素,locator
型要素,又はarc
型要素以外のものをもつ場合には,そのtitle
型要素は,XLink指定の意味をもたない。
title
型要素の宣言及びインスタンス
次に,title
型要素のための宣言の集合を参考として示す。要素は,xml:lang
属性を与えられている。この属性は,どの表題を表示するかを決定する際に,サーバの設定又は他の文脈情報と結合して使用してもよい。
<!ELEMENT advisorname (name)> <!ATTLIST advisorname xlink:type (title) #FIXED "title" xml:lang CDATA #IMPLIED> <!ELEMENT name (honorific?, given, family)> <!-- Further subelement declarations for names --> |
次に,これらの宣言を使用するXML要素がどのようになるかを示す。
<advisor xlink:href="profs/jaysmith7.xml" ...> <advisorname xml:lang="en"> <name> <honorific>Dr.</honorific> <given>Jay</given> <family>Smith</family> </name> </advisorname> </advisor> |
XLinkアプリケーションが始点資源から終点資源へとたどる場合,そのアプリケーションは,始点資源及びリンクの両方の位置指定を行う必要がある。これら二つの断片の位置を指定することは,外向きの弧の場合には,始点資源が,リンク付け要素それ自体か又はリンク付け要素の子となっているので,問題とはならない。しかし,内向きの弧及び第三の弧の場合には,Xlinkアプリケーションは,両方の断片を何らかの方法で見つけ出すことを可能にする必要がある。
課程状況の例では,拡張リンクは,学生及び課程を表現する遠隔資源の対を関連付けることができる。システムが,(例えば,利用者が,学生の出席している課程についての情報へのたどりを行うために学生の名前をクリックできるようにすることによって,)関係する情報へのたどりを提供するといった方法で,(人間の記述及び写真といった)"学生資源(student resource)"をロードし表示するために,システムは,その関連を含む拡張リンクの位置を指定し使用する必要がある。
リンクベースは,多くの関係するリンク付け要素を一緒に集めることによって、リンク管理をより容易にするために使用されることが多い。XLinkは,潜在的に関連するリンクベースにアクセスすることをXLinkアプリケーションに命令する方法を提供する。その命令は,(拡張リンクの中で明示されるか単純リンクの中で暗黙的に示されるかして,)arcrole属性に対して次の値をもつ弧指定の形式を取る。
http://www.w3.org/1999/xlink/properties/linkbase |
この特殊な値をもつ弧の終点資源として指定されるリンクベースは,XML文書でなければならない。
(XLinkアプリケーションは,付加的なリンクベースの位置を指定しそれを処理する他の方法を使用してもよい。)
リンクベースの弧の処理は,通常の弧の処理とよく似ているが,(リンクベースの弧の場合には,)たどりは終点資源(リンクベース)のロードを引き起こして後の使用ためにそのリンクを抽出するのであって,それを利用者に表示したり他の処理を実行したりするのではない点が異なっている。その処理は,XLinkアプリケーションが,利用者のオプションでリンクベースの弧のたどりを保留しなければならない点でも特殊になっている。
特に,リンクベースをロードする際には,XLinkアプリケーションは,始点資源が何であるかを見失わないようにすることが望ましい。その始点資源を含む文書がロードされリンクベースの弧のたどりが活性化されるときにはいつでも,アプリケーションは,リンクベースにアクセスしその内部で見出される拡張リンクを抽出することが望ましい。抽出された資源が,ある範囲又は文字列範囲といった完全なXML文書の一部の場合には,抽出された部分に完全に含まれるこれらの拡張リンクだけが,利用可能となることが望ましい。
リンクベースの弧のたどりのタイミングは,その弧のactuate
属性の値に依存する。例えば,値が"onLoad"の場合,リンクベースがロードされ,始点資源がロードされるとすぐにそのリンクが抽出される。リンクベースの弧のshow
属性値は,無視されなければならない。これは,この場合には,たどりが表示を引き起こさないことによる。
アプリケーションは,リンクベースを処理した結果として取得される拡張リンクのリストを維持管理することが望ましいが,循環的な依存性が存在する場合には,重複する資源又はリンクを取得しないことが望ましい。XLink処理を容易にするために,文書作成者は,文書の最初のあたりにリンクベースの弧を定義しようとしてもよい。
次に,リンクベースの弧を提供するという点で特殊化された拡張リンクのための宣言の集合を参考として示す。
<!ELEMENT basesloaded ((startrsrc|linkbase|load)*)> <!ATTLIST basesloaded xlink:type (extended) #FIXED "extended"> <!ELEMENT startrsrc EMPTY> <!ATTLIST startrsrc xlink:type (locator) #FIXED "locator" xlink:href CDATA #REQUIRED xlink:label NMTOKEN #IMPLIED> <!ELEMENT linkbase EMPTY> <!ATTLIST linkbase xlink:type (locator) #FIXED "locator" xlink:href CDATA #REQUIRED xlink:label NMTOKEN #IMPLIED> <!ELEMENT load EMPTY> <!ATTLIST load xlink:type (arc) #FIXED "arc" xlink:arcrole CDATA #FIXED "http://www.w3.org/1999/xlink/properties/linkbase" xlink:actuate (onLoad |onRequest |other |none) #IMPLIED xlink:from NMTOKEN #IMPLIED xlink:to NMTOKEN #IMPLIED> |
次に,これらの宣言を使用するXML要素がどのようになるかを示す。これは,指定文書がロードされる場合に,その文書への注記であるリンクベースが同様に自動的にロードされることが望ましく,指定文書の内部にあって,そのリンクベースの中で見出されるリンクの中の始点資源として役に立つ任意の領域を見えるようにするために,指定文書全体の再レンダリングを恐らく必要にする,ということを示している。
<basesloaded> <startrsrc xlink:label="spec" xlink:href="spec.xml" /> <linkbase xlink:label="linkbase" xlink:href="linkbase.xml" /> <load xlink:from="spec" xlink:to="linkbase" actuate="onLoad" /> </basesloaded> |
次に,これらの宣言を使用するXML文書が,リンクベースのロードを要求されている場合に,どのようになるかを示す。今回は,始点資源は,"Click here to reveal annotations."("注記を見えるようにするためには,ここをクリックすること。")という文からなる。始点資源を先の例における場合と同じ文書全体とすると,利用者がたどりを活性化できるようにするためには,確認のために対話ボックスを表示するという振舞いが自然と思われる。
<basesloaded> <startrsrc xlink:label="spec" xlink:href="spec.xml#string-range(//*,'Click here to reveal annotations.')" /> <linkbase xlink:label="linkbase" xlink:href="linkbase.xml" /> <load xlink:from="spec" xlink:to="linkbase" actuate="onRequest" /> </basesloaded> |
simple
型要素)
定義 単純リンクとは,片方が局所であって他方が遠隔であるちょうど二つの資源を,局所資源から遠隔資源へと向かう弧を用いて,関連付けるリンクとする。このように,単純リンクは,常に,外向きのリンクとする。
単純リンクの目的は,等価な拡張リンクに対する簡便な短い記述とする。単一の単純リンク付け要素は,extended
型要素,locator
型要素, arc
型要素,及びresource
型要素の基本機能を結合する。
図5.4は,単純リンクの特徴を示す。この単純リンクは,一つの局所資源及び一つの遠隔資源を関連付け,局所資源から遠隔資源への単一のたどり弧を暗黙的に提供する。これは,例えば,クリックしたときに,学生についての情報へと導びかれるテキストの中に現れている学生の名前を表現できる。
図5.4 単純リンクの様式付けられた図単純リンクは,拡張リンクによって,近似的に次の方法で表現できる。
<studentlink xlink:type="extended"> <resource xlink:type="resource" xlink:label="local">Pat Jones</resource> <locator xlink:type="locator" xlink:href="..." xlink:label="remote" xlink:role="..." xlink:title="..." /> <go xlink:type="arc" xlink:from="local" xlink:to="remote" xlink:arcrole="..." xlink:show="..." xlink:actuate="..." /> </studentlink> |
単純リンクは,(型及びラベル以外の)これらのすべての機能を単一の要素へと結合する。機能のこの部分集合だけを必要とする場合には,XLinkの単純リンク付け要素が,拡張リンク付け要素の代替として利用できる。単純リンクの(拡張リンクから)失われている機能は,次のとおり。
任意個の局所資源及び遠隔資源を供給すること。
遠隔資源から局所資源への弧を指定すること。
表題を単一の固く結ばれた弧と関連付けること。
役割又は表題を局所資源と関連付けること。
役割又は表題を全体としてリンクと関連付けること。
単純リンクのためのXLink要素は,XLink名前空間の中の,値が"simple"であるtype
と呼ばれる属性をもった任意の要素とする。先の拡張リンクの単純リンクによる等価なものは,次のとおりとなる。
<studentlink xlink:href="...">Pat Jones</studentlink> |
simple
型要素は,任意の内容をもってよい。内容すべてを伴ったsimple
型要素は,それ自体,その要素がresource
型要素であるものとして,リンクの局所資源になる。simple
型要素が入れ子にされたXLink要素を含む場合には,それら含まれる要素は,親リンクへのXLink指定の関係をもたない。simple
型要素が内容をもたないことは可能とする。リンクが要求時にたどられると期待される場合には,対話的なXL
simple
型要素は,実効的には,locator
型要素から,位置指定子属性であるhref
並びに意味属性であるrole
及びtitle
を取ってきてり,さらにarc
型要素から,振舞い属性であるshow
及びactuate
並びに単一の意味属性であるarcrole
を取ってくる。
simple
型要素が位置指定子(href
)属性値をもたないことはエラーではない。値が提供されない場合,リンクは,単にたどれないだけとする。そのようなリンクでも,例えば,XLink属性を用いて特性を資源と関連付けるために有用かもしれない。
simple
型要素の宣言及びインスタンス
次に,simple
型要素のための宣言の集合を参考として示す。
<!ELEMENT studentlink ANY> <!ATTLIST studentlink xlink:type (simple) #FIXED "simple" xlink:href CDATA #IMPLIED xlink:role NMTOKEN #FIXED "http://www.example.com/linkprops/student" xlink:arcrole CDATA #IMPLIED xlink:title CDATA #IMPLIED xlink:show (new |replace |embed |other |none) #IMPLIED xlink:actuate (onLoad |onRequest |other |none) #IMPLIED> |
次に,これらの宣言を使用するXML要素がどのようになるかを示す。
..., and <studentlink xlink:href="students/patjones62.xml">Pat Jones</studentlink> is popular around the student union. |
type
)XLink要素型を識別する属性は,type
とする。
type
属性の値は,供給されなければならない。値は,"simple","extended","locator","arc","resource","title",又は"none"のうちのの一つでなければならない 。
type
属性の値が"none"の場合,その要素は,Xlink指定の意味をもたず,いかなるXLinkに関係する内容又は属性も,その要素とのXLink指定の関係をもたない。
type
属性の宣言
次に,simple
型を意図した要素におけるtype
のための属性リスト宣言を参考として示す。
<!ATTLIST xlink:simple xlink:type (simple) #FIXED "simple" ...> |
ある場合だけにXLink要素として利用する要素に対しては,宣言は,次のとおりとするのがよいかもしれない。この場合,文書作成者は,(typeの)値を,ある状況では"simple"に他の状況では"none"に設定する。"none"の使用は,XLinkアプリケーションがhref
値の存在を検査することを避けるのを支援する際に役に立つかもしれない。
<!ATTLIST commandname xlink:type (simple|none) #REQUIRED xlink:href CDATA #IMPLIED> |
href
)
XLinkアプリケーションが遠隔資源(又は資源素片)を見つけることを可能にするデータを供給する属性は,href
とする。それは,simple
型要素で使用されてもよく,locator
型要素で使用されなければならない。
href
属性の値は,[IETF RFC 2396]で定義されたとおりのURI参照でなければならないか,又は次に示されるエスケープ手続きを適用した後にURI参照を生じなければならない。その手続きは,URI参照をURI解決器に渡すときに,適用される。
XMLで許されていても,URI参照では許されない文字がある。許されない文字は,すべての非ASCII文字,及び[IETF RFC 2396]の2.4で一覧として示された除外された文字とする。ただし,番号記号(#)及びパーセント記号(%),並びに[IETF RFC 2732]で再び許可された角括弧文字は除外され,使ってもよい。許されない文字は,次のとおりにエスケープしなければならない。
各々の許されない文字は,1バイト以上としてのUTF-8 [IETF RFC 2279]に変換する
一つの許されない文字に対応するいかなるバイトも,URIエスケープ機構によってエスケープされる。すなわち,各バイトは,%
HHに変換される。ただし,HHはそのバイト値の16進記法とする。
元の文字は,結果として生じる文字の列によって置き換えられる。
値がURI参照であることをアプリケーションが検査することは実用的でないので,これに関しては,この規定は,[IETF RFC 2396]に従い,XLinkアプリケーションにそれらの適合性要件を課すことはしない。
URI参照が相対的な場合には,使用する前に,その絶対的なURI参照を[XML Base]の手法によって,計算しなければならない。
XML資源への位置指定子に対して,(存在する場合には,)URI参照内で使用される素片識別子のフォーマットは,XPointer規定[XPTR]によって規定される。
href
属性の宣言
次に,simple
型を意図した要素におけるhref
のための属性リスト宣言を参考として示す。
<!ATTLIST simplelink xlink:href CDATA #REQUIRED ...> |
role
,arcrole
及びtitle
)
リンクの文脈内にある資源の意味を記述する属性は,role
,arcrole
及びtitle
とする。role
属性は,extended
型要素,simple
型要素,locator
型要素及びresource
型要素で使用してもよい。arcrole
属性は,arc
型要素及びsimple
型要素で使用してもよい。title
属性は,要素のこれらの型のすべてで使用してもよい。
role
属性又はarcrole
属性の値は,[IETF RFC 2396]で定義されるとおりにURI参照でなければならない。ただし,使用されるURI方式が相対的及び絶対的の両方の形式をもつことを許される場合には,URI部分は絶対的でなければならないとする。URI参照は,意図した特性を記述する何らかの資源を識別する。値が供給されない場合,特別な役割の値を推論しないほうがよい。これらの属性値における許されないURI参照文字は,5.4 位置指定子属性(href)で示されるとおりに,特別に符号化されなければならない。
title
属性は,role
属性又はarcrole
属性と同様に,人間が読むことができる形式でリンク又は資源の意味を記述するために使用される。(しかし,5.1.4 拡張リンク,位置指定子及び弧のための表題(title型要素)も参照。)値はオプションとする。値が供給される場合は,それは,資源を記述する文字列を含むことが望ましい。この情報の使用は,行われている処理の型に大いに依存する。例えば,視覚に異常のある利用者が使用するアプリケーションに対して表題を利用可能にするために,リンクの表を作成するために,又は利用者がマウスポインタを始点資源の上にのせるときに現れるヘルプテキストを表示するために使用してもよい。
.
role
属性及びtitle
属性の宣言次に,simple
型を意図した要素におけるrole
及びtitle
のための属性リス宣言を参考として示す。
<!ATTLIST simplelink ... xlink:role CDATA #IMPLIED xlink:title CDATA #IMPLIED ...> |
次に,arc
型を意図した要素におけるarcrole
及びtitle
のための属性リスト宣言を参考として示す。
<!ATTLIST go ... xlink:arcrole CDATA #IMPLIED xlink:title CDATA #IMPLIED ...> |
show
及びactuate
)
振舞い属性は,show
及びactuate
とする。それらは,simple
型要素及びarc
型要素において使用してよい。simple
型要素で使用される場合には,たどりのための振舞いの意図を,そのリンクの単一の遠隔終点資源へと伝える。arc
型要素で使用される場合には,たどりのための振舞いの意図を,その弧によって指定されるあらゆる終点資源へと伝える。
show
属性及びactuate
属性は,必す(須)ではない。それらが使用される場合には,適合するXLinkアプリケーションは,それらの属性に5.で規定される取扱いを与えることが望ましい。この取扱いに対しては厳しい要件("しなければならない"と規定されているもの)は存在しない。これは,ブラウザなどの対話的アプリケーションに対して意味のあるものは,ロボットなどの非対話的アプリケーションに対しては意味がないことが多いことによる。しかし,すべてのアプリケーションは,指定された振舞いを無視するという示唆された方法を,異なる方法を選択する前に,考慮することが望ましい。
show
属性及びactuate
属性の宣言
次に,simple
型を意図する要素におけるshow
及びactuate
のための属性リスト宣言を参考として示す。
<!ATTLIST simplelink xlink:type (simple) #FIXED "simple" ... xlink:show (new |replace |embed |other |none) #IMPLIED xlink:actuate (onLoad |onRequest |other |none) #IMPLIED ...> |
リンクベースリストの中のarc
型要素に出会うアプリケーションは,他の値を設定されていてもshow="none"
及びactuate="onLoad"
と指定されているものとして,その要素の振舞い属性を取り扱わなければならない。
show
属性
show
属性は,始点資源からのたどり上にある終点資源の望ましい表示を伝えるために使用する。
show
属性に対して値が供給される場合には,次の値,"new","replace","embed",及び"other"の一つでなければならない。
適合XLinkアプリケーションは,show
値に対して,次の取扱いを適用することが望ましい。
終点資源へとたどるアプリケーションは,新しいウィンドウ,フレーム,枠,又は他の意味のある表示文脈の中に,その資源をロードすることが望ましい。これは,次のHTML素片によって達成される効果と類似する。
<A HREF="http://www.example.org" target="_blank">...</A> |
終点資源へとたどるアプリケーションは,始点資源がロードされたのと同じウィンドウ,フレーム,枠,又は他の意味のある表示文脈の中に,その終点資源をロードすることが望ましい。これは,次のHTML素片によって達成される効果と類似する。
<A HREF="http://www.example.org" target="_self">...</A> |
終点資源へとたどるアプリケーションは,始点資源の表示の位置にその表示をロードすることが望ましい。これは,次のHTML素片によって達成される効果と類似する。
<IMG SRC="http://www.example.org/smiley.gif" ALT=":-)"> |
始点資源の表示は,通常は,文書全体からは構成されない。文書のルート要素が単純リンクの場合だけ,その表示は,文書全体とする。このように,埋込みは,通常は,置換えとは異なる効果をもつ。
HTMLのIMG
要素に対するのと同じに,埋込みは,関連する資源の表示だけに影響する。すなわち,埋込みは,始点資源の永久的な変換を指示しない。言い換えると,埋め込まれたXLinkを処理する場合,リンクの終点資源をスタイル化した結果は,それが埋め込まれた資源をスタイル化した結果にマージされる。対照的に,XInclude要素[XInclude]などの構成要素を解決する場合,元のXMLは,実際には,参照される内容を含むように変換される。
適合XLinkアプリケーションの振舞いは,XMLに基づく([IETF RFC 2376]又は[IETF I-D XMT])終点資源を埋め込む場合,この規定のこの版では定義しない。
埋め込まれた資源の表示は,アプリケーション依存とする。
終点資源へとたどるアプリケーションの振舞いは,この規定によって制約されない。そのアプリケーションは,適切な振舞いを決定するために,リンクの中に存在する他のマーク付けを探すことが望ましい。
終点資源へとたどるアプリケーションの振舞いは,この規定よって制約されない。そのアプリケーションが適切な振舞いを決定することを支援する他のマーク付けは存在しない。
資源の様々な位置に一連の文字列が並んでいるように,始点資源又は終点資源が複数の隣り合わない位置(にあるもの)から成る場合,アプリケーションの振舞いは,制約されない。(XML文書の一部の選択についての詳細な情報については,[XPTR]を参照すること。)
備考 隣接しない終点資源をもつアプリケーションの振舞いには,各位置を強調する,各資源へと導く別々の弧が存在するものとして利用者が位置を選択できる対話ボックスを生成する,表示のためにすべての位置の内容を連結する,などが含まれる可能性があるかもしれない。隣接しない始点資源をもつアプリケーションの振舞いは,連結及び一つの単位としてのレンダリングを含むかもしれないし,又は隣接する部分の各々から出る一つの弧を生成するかもしれない。
actuate
属性
actuate
属性は,始点資源から終点資源へのたどりの望ましいタイミングを伝えるために使用する。
actuate
属性に対して値が供給される場合には,それは,"onLoad","onRequest","other",及び"none"の値のうちの一つでなければならない。
適合XLinkアプリケーションは,actuate
の値に対して次の取扱いを適用することが望ましい。
<IMG SRC="http://www.example.org/smiley.gif" ALT=":-)"> |
振舞いがshow="replace" actuate="onLoad"
に設定されている封数の弧を単一の資源が含む場合,アプリケーションの振舞いは,XLinkによって制約されない。
アプリケーションは,たどりを目的として誘発される(始点資源の)ロード後のイベント(の発生)に際してだけ,始点資源から終点資源へとたどることが望ましい。それらイベントの例は,利用者が始点資源の表示をクリックするとき,又はソフトウェアモジュールが切替えに先行するカウントダウンを終了するとき,であるかもしれない。
終点資源へとたどるアプリケーションの振舞いは,この規定によって制約されない。アプリケーションは,適切な振舞いを決定するためにリンクの中に存在する他のマーク付けを探すことが望ましい。
終点資源へとたどるアプリケーションの振舞いは,この規定によって制約されない。アプリケーションが適切な振舞いを決定するのを支援するような他のマーク付けは存在しない。