ヒント: XMLによるXLinkの使用法

XLinkは基本リンクまたは外部リソース組み込みのために機能します

Comments

2年以上前のXMLのリリース以降、"X" という文字が付いたものには何にでも驚くほどの関心が寄せられました。その証拠に、このごろでは数えられないくらい多くのXML関連仕様を見ることができます。たとえば、XPointer、XLink、XSD (XML Schema) 、RDF、RSS、XHTMLなどがその一部です。このヒント記事では、XLinkの簡単な検討を行います。XLinkは特に有用な仕様で、他の文書を参照するためのXMLリンク・メカニズムを定義します。

HTML作成者であれば、最初はXLinkが、<a href="http://www.nickelcreek.com">Check out Nickel Creek!</a> などでよく見慣れたa エレメントと非常によく似ている、と思われるかもしれません。しかしXLinkは、単一方向リンクよりもはるかに多くの機能を持っています。XLinkを使用すれば、双方向リンクを作成することができます。リンクの処理方法も定義できますが、最も重要なことは、どの XMLエレメントからでも (a エレメントからだけでなく) リンクできることです。これらのすべての理由から、XLinkは学ぶ価値があります。

XLinkの実物

まず最初に、わたしのギターのいくつかを表した小さなXML文書をお見せしましょう。リスト1 では、いくつかのXLink構成を使用しています。

読者はまず、XLinkネームスペースに参照項目が付けられ、この文書がXLink属性と機能にアクセスできるようにしていることに気付かれるでしょう。次に、xlink:type 属性によって指定された "単純な" タイプのXLinkのみをカバーしています。それは、XLinkに対して最低限のブラウザー・サポートしか提供されていないからです。つまりブラウザー・サポートは、現在、MozillaとNetscape 6にしか含まれていません。(わたしはまだIE 6.0をテストできませんが、バージョン5.5ではXLinkのサポートはありません。) したがって、XLinkの基本部分を使用するのが賢明です。

これで、処理対象の基本的なXMLが入手できました。XLinkを利用するには、リンクが含まれているエレメントの属性をいくつか使用するだけで十分です。わたしの文書のguitar エレメントを見てください。そこでは、各ギターごとに製作者 (ギターの作成者) が指定されています。xlink:type 属性を使用する操作についてはすでに説明しましたが、この属性は "simple" に設定されます。次に、このエレメントはXLinkを使用してリンク先のURLを指定します。このURLを指定するために、このエレメントはxlink:href 属性を使用します。この時点であなたは多分「大したことはない、HTMLと非常によく似ている」と思われるでしょう。そのとおりです。デフォルトでは (もちろん、ブラウザー・サポートがあると想定して)、これにより、リンクをクリックしたときに現行ウィンドウを置き換えるように、リンクがセットアップされます。新規ウィンドウでリンクのターゲットを開きたい場合は、xlink:show 属性を追加し、それに "new" の値を与えます。デフォルトは "replace" で、これは通常のHTMLの振る舞いです。

XLinkの可能性

以上、基本リンクについてだけ説明しました。リモート・ロケーションをリソースとして、たとえばイメージのリンクとしてアクセスしたい場合は、さらに面白くなります。リスト1のdescription エレメントを見てください。このエレメントは、xlink:show 属性の値を "embed" に設定します。このことは、リソース (この場合は、記述するギターを示すイメージ・ファイル) をページ内でインライン処理する必要があることを意味します。このため、指定された文書をXML内にインライン挿入するようXLink対応ブラウザーに指示する必要があります。あなたが、これはイメージでなくて、別のXML文書でもよいのではないかと考えるようになったら、この可能性が実現へ向けて動きはじめます。

さらに先へ進むと、リソースをいつ 表示するかを指定することができるようになります。このタイミングは、 xlink:actuate 属性によって処理され、この属性は、リソースをいつ "読み取って" 表示するかを定義します。リスト1に示されているように、この値が "onLoad" であれば、初期文書のロード時にリソースをロードする必要があり、この時もそれを表示する必要があります。値 "onRequest" を指定することもできます。つまり、リンクをクリックするまで、このリソースは表示されません。この方法はバンド幅が小さい時に便利で、ユーザーはどのリソースを待機するか選択することができます。

今回は、XLinkについてざっと説明しただけですが、出発点としては適切な内容であるはずです。XLinkの詳細については、『参考文献』に示されている仕様を調べてください。XLinkに対する新規ブラウザー・サポートのフィーチャー・リストからも目を離さないでください。XLinkがサポートされるようになったら、作業に取り掛かってください。


ダウンロード可能なリソース


関連トピック

  • XLinkの詳細については、XLink仕様 を調べてください。
  • その際、XLinkへのさらに拡張されたリンクを追加するXPointer も調べてください。
  • Solutions 2001 developer conference が8月13日 ~18日にサンフランシスコで開催されました。

コメント

コメントを登録するにはサインインあるいは登録してください。

static.content.url=http://www.ibm.com/developerworks/js/artrating/
SITE_ID=60
Zone=XML
ArticleID=243248
ArticleTitle=ヒント: XMLによるXLinkの使用法
publish-date=07012001