IRC ネタ。RFC2396 ではフラグメントを含まないのが URI らしい (フラグメント含むのは URI 参照。なんで区別があるのかは知らん) のだけど、みんな (誰) が知っているとおり、HTML の a 要素 href 属性にはデータ型が URI にも関わらずフラグメント書いたりしちゃってるわけで、しかも XMLSchema の anyURI 型も例にフラグメント含めたやつを書いていたりしちゃってるわけで、てんで意味不明だよボケと突っ込みたいところだけど、その RFC2396 を RFC3986 が上書きした (今年の一月) らしく、ちゃんとフラグメントつけても URI って言えるみたいです。よかったよかった。
該当部分を抜粋する。
URI-reference = [ absoluteURI | relativeURI ] [ "#" fragment ]
URI = scheme ":" hier-part [ "?" query ] [ "#" fragment ]
ふぁっきん URI 参照。ちなみに 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).