[1] [CITE[西瓜 [ABBR@en[URN][Uniform Resource Names]] 解決器 ([ABBR@en[Ajax] [Asynchronous JavaScript and XML]] 版)]] 実験的に [[Ajax]] を使った [CODE(URI)[[[urn:x-suika-fam-cx]]:]] 下の [ABBR@en[[[URI]]][Uniform Resource Identifiers]] から [ABBR@en[[[HTTP]]][Hypertext Transfer Protocol]] を使って[[取出し]]可能な [ABBR@en[[[URI]]][Uniform Resource Identifiers]] への[[解決]]サービスを行っています。 (2004年6月) [2] '''対応している Web ブラウザ''': - [[Firefox]] など [[Gecko]] 系ブラウザ (最近のもの) - [[Opera]] 8 '''対応しない Web ブラウザ''': - [[XMLHttpRequest]] に対応していないブラウザ - [[DOM水準2]] に対応していないブラウザ ([[WinIE 6]] を含みます。) [3] '''仕組み''': :[CODE(JS)[SimpleURIResolver]]: [ABBR@en[[[URI]]][Uniform Resource Identifiers]] から[ABBR@en[[[URI]]][Uniform Resource Identifiers]] を得るためのクラス (>>4) :写像表: [ABBR@en[[[URI]]][Uniform Resource Identifiers]] から [ABBR@en[[[URI]]][Uniform Resource Identifiers]] への対応を記述した文書 (>>5) :界面: クラス [CODE(JS)[SimpleURIResolver]] を呼出す部分 (>>6) の3つで構成されています。 [4] '''[CODE(JS)[SimpleURIResolver]]''': [[JavaScript]] の[[クラス]] [DFN[[CODE(JS)[SimpleURIResolver]]]] は、 [[XMLHttpRequest]] を使って写像表 (>>3) を取出し、 そこに記述された規則に従って解決した [ABBR@en[[[URI]]][Uniform Resource Identifiers]] を1つ得ます。 使い方はソース・コード中の注釈をご覧下さい。 [CITE[[CODE(file)[SimpleURIResolver.js]]]] [5] '''写像表''': [DFN[写像表]]には元の [ABBR@en[[[URI]]][Uniform Resource Identifiers]] (群) と解決先 [ABBR@en[[[URI]]][Uniform Resource Identifiers]] (群) の対応関係を記述します。書式には処理に都合の良いような [[RDF/XML]] の部分集合を採用しています。 [[RDF]] や [[RDF/XML]] の規則に従って [ABBR@en[[[URI]]][Uniform Resource Identifiers]] 解決とは関係のない情報を混ぜることもできます (単に無視します)。 写像表の書式の仕様書: (まだありません) 写像表の例: - - [6] '''界面''': 現在のところ、人間が対話的に結果を得るための界面と自動的な [[redirect]] のための界面の2つがあります。どちらも単に [CODE(JS)[SimpleURIResolver]] (>>4) を呼んで、 その結果を出力しているだけです。 対話的な界面: を Web ブラウザでご覧下さい。入力欄に [ABBR@en[[[URI]]][Uniform Resource Identifiers]] を入れると、解決結果と、元の [ABBR@en[[[URI]]][Uniform Resource Identifiers]] に対応する [[redirect]] 用の [ABBR@en[[[URI]]][Uniform Resource Identifiers]] が出力されます。 Redirect: [CODE(URI)[http://suika.fam.cx/uri-res/2005/ajax?]] の後に[[予約文字]]を[[百分率符号化]]した [ABBR@en[[[URI]]][Uniform Resource Identifiers]] を続けて作った [ABBR@en[[[URI]]][Uniform Resource Identifiers]] に対応した Web ブラウザでアクセスすると、 解決 [ABBR@en[[[URI]]][Uniform Resource Identifiers]] があれば [[redirect]] されます。 注意: Redirect はデモ目的であり、 [[Ajax]] 未対応ブラウザでは何も起こらないので実用には向きません。