2005-09-17 ========== URI? URI-reference? ------------------- Reference URI: http://lowreal.net/logs/2005/09/17/1 Written Time: 2005-09-17T00:56:15+09:00 Tags: web IRC (Internet Relay Chat) ネタ。[RFC2396](http://www.ietf.org/rfc/rfc2396.txt) ではフラグメントを含まないのが URI (Uniform Resource Identifer | Universal Resource Identifer) らしい (フラグメント含むのは URI (Uniform Resource Identifer | Universal Resource Identifer) 参照。なんで区別があるのかは知らん) のだけど、みんな (誰) が知っているとおり、HTML (Hyper Text Markup Language) の a 要素 href 属性にはデータ型が URI にも関わらずフラグメント書いたりしちゃって るわけで、しかも XML (Extensible Markup Language) Schema の anyURI 型も例にフラグメント含めたやつを書いていたりしちゃってるわけで、 てんで意味不明だよボケと突っ込みたいところだけど、その RFC2396 を [RFC3986](http://www.ietf.org/rfc/rfc3986.txt) が上書きした (今年の一月) らしく、ちゃんとフラグメントつけても URI (Uniform Resource Identifer | Universal Resource Identifer) って言えるみたいです。よかったよかった。 該当部分を抜粋する。 URI-reference = [ absoluteURI | relativeURI ] [ "#" fragment ] URI = scheme ":" hier-part [ "?" query ] [ "#" fragment ] ふぁっきん URI (Uniform Resource Identifer | Universal Resource Identifer) 参照。ちなみに RFC2396 には URI = foobar っていう項目はないみたいで、文章中に書いてあるみたいです。読むのめんどいから知ら ないけど。 XMLSchema の anyURI 型には以下のように書いてあるから (ややこしいけど) 問題にならな いか。 anyURI represents a Uniform Resource Identifier Reference (URI). An anyURI value can be absolute or relative, and may have an optional fragment identifier (i.e., it may be a URI Reference).