[1] ある特定の形をした[[URI参照]]に一致するような[[パターン]]のようなものがいくつかの[[プロトコル]]で定義されています。 そのようなものを仮に[DFN[URI パターン]]と呼ぶことにします。 URI パターンはこれまで色々な規格で色々な方式が提案されてきましたが、 広く採用されているものはありません。むしろ、 単純な文字列として[[正規表現]]などを使って一致させる方法が広く使われています。 ただし、完全に文字列として扱う方法では、 [[百分率符号化]]だけの差異や[[ポート]]番号の有無など考慮しなければならないことが多すぎ、 厳密にしようとすると複雑でわかりにくくなってしまうという問題があります。 [2] '''PICSRules の URL パターン''': [[PICSRules]] では [CODE(ABNF)[[[URLpattern]]]] という [[URI]] に似た文字列による表現を規定しています。 この文字列は URI と非常によく似ていますが、いくつかの部分で [CODE(char)[[[*]]]] が使えるなど、本来の URI とは異なる部分があります。 [CITE[PICSRules Specification]] [3] '''単純前方一致''': - [[XML型録]]の [CODE(XMLe)[[[uri]]]] 要素の [CODE(XMLa)[[[name]]]] 属性は、 [[URI参照]]の単純な[[文字列]]としての[[前方一致]]を採用しています。 - 1999年版 [[RDF]] の [CODE(XMLa)[[[aboutEachPrefix]]]] 属性は [[URI参照]]の単純な文字列としての前方一致を採用しています。 -- [CITE[Resource Description Framework (RDF) Model and Syntax Specification]] [CSECTION[3.4. Containers Defined By A URI Pattern]] [4] '''P3P のワイルドカード入り[Q[拡張 URI]] ([Q[URI パターン]])''': [[P3P]] は[[方針参照ファイル]]で [[URI]] [SRC[[[RFC 2396]]]] の一致を記述するための [Q[[[ワイルドカード]]]]が使える[Q[拡張 URI]] を規定しています。 - [[ワイルドカード]]として [CODE(char)[*]] が使えます。 任意の0文字以上を表します。 - [[URI]] に元から [CODE(URI)[*]] が含まれる場合は、 [[百分率符号化]]して [CODE(URI)[%2A]] に[[逃避]]する必要があります。 - [[UA]] は一致検査の際に[[ワイルドカード]]としての [CODE(char)[*]] を認識してから、 [CODE(URI)[%2A]] を [CODE(URI)[*]] に戻す必要があります。 - [[逃避]]とその逆変換は [[URI scheme]] 依存です。 - [[URI]] の構文に一致しない URI パターンは無視しても構いません。 とまあ、本来[[予約]]されていて[[百分率符号化]]の前後で等価性が保証されない [CODE(URI)[*]] をワイルドカードに選んでしまったために、 [[URI scheme]] に独立な処理ができなくなってしまっています。 - [[P3P]] [CSECTION@en[2.3.2.1.2 Wildcards in policy reference files]] [5] [[WCAG 2.0]] の以前の [[WD]] では、 [[XML Schema]] [[正規表現]]で表された [[URI]] の[[集合]]の記述を [DFN[URI [RUBYB[パターン] @en[pattern]]]]と呼んでいました。 ;; [CITE[Web Content Accessibility Guidelines 2.0]] ;; その後の [[WD]] では単に[Q[[[正規表現]]]]と呼んでいます。 ([[名無しさん]]) [6] [CITE@en-us[SML Interchange Format Version 1.0]] ([CODE[2007-03-08 05:32:26 +09:00]] 版) ([[名無しさん]]) [7] [CITE@en[Protocol for Web Description Resources (POWDER): Web Description Resources Datatypes (WDRD)]] ([CODE[2007-09-27 06:24:18 +09:00]] 版) ([[名無しさん]]) [8] [CITE@en-US[Service Modeling Language Interchange Format Version 1.1]] ([CODE[2007-09-27 00:24:13 +09:00]] 版) ([[名無しさん]]) [9] [CITE@en[URISpace]] ([CODE[2001-02-16 04:12:14 +09:00]] 版) ([[名無しさん]]) [10] [CITE@en-US[URI Pattern Matching for Groups of Resources]] ([CODE[2006-06-21 03:51:25 +09:00]] 版) ([[名無しさん]]) [12] [[robots.txt]]: 当初は単純な完全一致または[[ディレクトリ]]部の一致のみだったが、後に拡張されている。 * 正規表現 [11] [CITE[Rules-based Resource Property Sets in RDF]] ([CODE[2005-01-18 00:03:38 +09:00]] 版) [[Perl5]] [[正規表現]]を使用。 [13] [[.htaccess]]: [[正規表現]]を使用可能。 * 前方一致 [14] [CITE@en-US[Service Modeling Language Interchange Format Version 1.1]] ([TIME[2009-05-12 17:50:21 +09:00]] 版)