/
959.txt
45 lines (32 loc) · 2.58 KB
/
959.txt
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
[1] [[RFC 4287]] ([[Atom 1.0]]) や [[RFC 5023]] ([[AtomPub]]) の [[RELAX NG]] [[スキーマ]]
([[参考]]) では、
[[URL]] を値とする[[要素]]や[[属性]]の[[データ型]]を
[DFN[[CODE(XML)@en[atomUri]]]] ([[RFC 4287]]) または [DFN[[CODE(XML)@en[atomURI]]]]
([[RFC 5023]]) としています。
[7] 仕様書:
-[CITE@en[RFC 4287 - The Atom Syndication Format]] ([TIME[2008-08-30 23:12:03 +09:00]] 版) <http://tools.ietf.org/html/rfc4287#page-41>
-[CITE@en[RFC 5023 - The Atom Publishing Protocol]] ([TIME[2008-11-20 21:09:16 +09:00]] 版) <http://tools.ietf.org/html/rfc5023#appendix-B>
* 定義
[4] [[スキーマ]]上は実は [CODE(XML)@en[[[atomURI]]]] は
[CODE(XML)@en[[[text]]]] として定義されています。ただし、
[[RFC 4287]] には次のような注釈が付されています。
> Unconstrained; it's not entirely clear how IRI fit into
xsd:anyURI so let's not try to constrain it here
(制約なし: [[IRI]] が [CODE(XML)@en[xsd:[[anyURI]]]] にどう合わさるか不透明なため、
ここでは制約しないことにします。)
;; [[RFC 5023]] にはありません。
[8] 実際に [[Atom 1.0]] で [[URL]] を値とする[[要素]]や[[属性]]を定義する段では、
[[RFC 3987]] を引用して「[[IRI]]」や「[[IRI参照]]」という用語を用いています。
[5] [[Atom 1.0]] の [[IRI]] 中には[[空白]]を含めては[['''なりません''']]
[SRC@en[[[Atom 1.0]] 3.]]。
[6] そもそも [[IRI]] には[[空白]]を含めることができないのですが、
既存の [[XML]] 実装の中には[[単純型]]的なものにも誤って[[空白]]を勝手に挿入するものがあるらしく、
それで敢えて [[Date construct]] や [[IRI]] には[[空白]]を含められないと明記しているようです。
でも実は [[Atom 1.0]] は[[複合型]]的なものであっても[[要素間空白]]を挿入してもいいとはどこにも規定されていないのですけどね。
* URL の定義の整合性
[2] [CODE(XML)@en[atomURI]] とされたものには [[Atom 1.0]] や [[AtomPub]] の[[要素]]や[[属性]]だけではなく、
[CODE(XMLa)@en[[[xml:base]]]] [[属性]]も含まれます。
[3] [[Atom 1.0]] や [[AtomPub]] は [[RFC 3987]] の定義を採用していますから、
[CODE(XML)@en[atomURI]] が [[RFC 3987]] [[IRI参照]]を表すとすると
[[RFC 2396]] に基づく [CODE(XMLa)@en[[[xml:base]]]] とは厳密には一致しないことになります。
;; 規定部分では [CODE(XM<a)@en[[[xml:base]]]] [[属性値]]には言及されていません。