/
965.txt
176 lines (122 loc) · 6.02 KB
/
965.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
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
[1] [[RSS]] の [DFN[[CODE(XMLe)@en[[[guid]]]] [[要素]]]]は、
[[項目]]を固有に識別する文字列を表します [SRC@en[[[RSS 2.0]]]]。
:[[要素名]]:[CODE(XMLe)@en[[[guid]]]]
(globally unique identifier (大域的固有識別子) より [SRC@en[[[RSS 2.0]]]])
:文脈:[CODE(XMLe)@en[[[item]]]] [[要素]]の[[子要素]]として
:[[内容モデル]]:[[テキスト]]
:[[属性]]:[CODE(XMLa)@en[[[isPermaLink]]]]
仕様書:
-[CITE@en[RSS 2.0 Specification (version 2.0.10)]]
--<http://www.rssboard.org/rss-specification#hrelementsOfLtitemgt>
--<http://www.rssboard.org/rss-specification#ltguidgtSubelementOfLtitemgt>
--<http://www.rssboard.org/rss-specification#comments>
-[CITE@en[RSS Best Practices Profile]] ([TIME[2008-11-21 15:11:45 +09:00]] 版) <http://www.rssboard.org/rss-profile#element-channel-item-guid>
* 内容
[5] [[要素]]の[[内容]]は、[[項目]]を固有に識別する[[文字列]]です [SRC@en[[[RSS 2.0]]]]。
[7] この[[文字列]] (guid) の構文は特に規定されていません [SRC@en[[[RSS 2.0]]]]。
;; [21] [[URL]] が使われることがありますが、そうでなくても構いません。
[9] [[フィード]]の供給元は、この[[文字列]]が固有であることに責任を負っています
[SRC@en[[[RSS 2.0]]]]。
[10] この[[要素]]を指定し、かつそれを [[permalink]] とする
([CODE(XMLa)@en[[[isPermaLink]]]] を
[CODE(XML)@en[[[false]]]] としない) ことが推奨されています [SRC@en[[[RSS 2.0]]]]。
[13] [CODE(XMLa)@en[[[isPermaLink]]]] が [CODE(XML)@en[[[true]]]] ([[既定値]])
の場合には、[[内容]]は[[項目]]に関連付けられた [[Web頁]]の
[[permanent]] [[URL]] でなければ[['''なりません''']]
[SRC@en[[[RSS Best Practices Profile]]]]。
;; [22] [CODE(XMLa)@en[[[isPermaLink]]]] の既定値が[[真]]であることに注意が必要です。
[[パーマリンク]] [[URL]] でなければ [CODE[[[false]]]] を明示しないといけません。
[14] [CODE(XMLa)@en[[[isPermaLink]]]] が [CODE(XML)@en[[[false]]]] の場合には、
固有性が保証される[[文字列]]なら何でもいいですが、
[CODE(URI)@en[[[tag]]:]] [[URL]] が例として挙げられます。
[SRC@en[[[RSS Best Practices Profile]]]]
[15] [[出版者]]は各[[項目]]に [CODE(XMLe)@en[[[guid]]]]
を指定する[['''べきです''']] [SRC@en[[[RSS Best Practices Profile]]]]。
* 処理モデル
[6] この[[要素]]が存在する場合、[[集積器]]は[[項目]]が新しいものか判断するためにこの[[要素]]の[[文字列]]を使うことができます
[SRC@en[[[RSS 2.0]]]]。
[8] [[集積器]]はこの[[要素]]が示す[[文字列]] (guid) を単なる[[文字列]]として扱わなければなりません
[SRC@en[[[RSS 2.0]]]]。
* 例
[3]
[PRE(XML example code)[
<guid>http://some.server.com/weblogItem3207</guid>
]PRE]
;; [[RSS 2.0]] 仕様書より
[4]
[PRE(XML example code)[
<guid isPermaLink="true">http://inessential.com/2002/09/01.php#a2</guid>
]PRE]
;; [[RSS 2.0]] 仕様書より
[12]
[PRE(XML example code)[
<guid isPermaLink="false">2296 at http://example.com/blog</guid>
]PRE]
;; 実例より、改
[19] [CITE[『ジオどす』 京都通り名住所検索 ジオコーダー - 京都通り名ジオコーダーAPI『ジオどす』]] ([TIME[2009-03-24 23:51:35 +09:00]] 版) <http://geodosu.com/rss.xml>
>
[PRE(XML example code)[
<guid isPermaLink="false">48 at http://geodosu.com</guid>
]PRE]
[16]
[PRE(XML example code)[
<guid>http://dallas.example.com/1983/05/06/joebob.htm</guid>
]PRE]
;; [[RSS Best Practices Profile]] より
[17]
[PRE(XML example code)[
<guid isPermaLink="false">tag:dallas.example.com,4131:news</guid>
]PRE]
;; [[RSS Best Practices Profile]] より
[18]
[PRE(XML example code)[
<guid isPermaLink="false"></guid>
]PRE]
;; 実用例。
* 関連
[2] [[Atom]] の [CODE(XMLe)@en[[[id]]]] [[要素]]に似ています。
[11] [CODE(XMLe)@en[[[guid]]]] [[要素]]は [CODE(XMLe)@en[[[link]]]] [[要素]]と似ています。
両者は一致するシステムもあるでしょうし、そうでないシステムもあります
[SRC@en[[[RSS 2.0]]]]。
[20] [CITE[iモードID発表で「簡単ログイン」さえも不要になる? | 株式会社シンメトリック公式ブログ - 携帯開発から生まれる技術情報]]
([TIME[2009-12-24 12:02:58 +09:00]] 版)
<http://symple.jp/24.html>
[FIG(quote)[
[FIGCAPTION[
[23] ([TIME[2016-03-17 22:24:29 +09:00]] 版)
<https://ja.wordpress.org/feed/>
]FIGCAPTION]
>
> <link>https://ja.wordpress.org/2016/03/17/wordpress-4-5-beta-4/</link>
> <pubDate>Thu, 17 Mar 2016 13:24:29 +0000</pubDate>
> <dc:creator><!'''['''CDATA'''['''Naoko Takano''']'''''']'''></dc:creator>
> <category><!'''['''CDATA'''['''Development''']'''''']'''></category>
> <category><!'''['''CDATA'''['''Releases''']'''''']'''></category>
> <guid isPermaLink="false">https://ja.wordpress.org/?p=3857</guid>
]FIG]
[FIG(quote)[
[FIGCAPTION[
[24] ([TIME[2016-03-18 15:48:21 +09:00]] 版)
<http://info.cocolog-nifty.com/info/rss.xml>
]FIGCAPTION]
>
> <link>http://info.cocolog-nifty.com/info/2016/03/post-20d8.html</link>
> <guid isPermaLink="true">http://info.cocolog-nifty.com/info/2016/03/post-20d8.html</guid>
]FIG]
[FIG(quote)[
[FIGCAPTION[
[25] ([TIME[2015-12-12 00:00:05 +09:00]] 版)
<http://blog.nicovideo.jp/index.xml>
]FIGCAPTION]
>
> <link>http://blog.nicovideo.jp/2015/12/1212.php</link>
> <guid>http://blog.nicovideo.jp/2015/12/1212.php</guid>
]FIG]
[FIG(quote)[
[FIGCAPTION[
[26] [CITE@en[BitTorrent.org]]
([[Arvid Norberg <arvid@bittorrent.com>]] 著, [TIME[2014-09-29 05:34:53 +09:00]] 版)
<http://www.bittorrent.org/beps/bep_0036.html>
]FIGCAPTION]
> Clients often need to identify whether a torrent has already been downloaded or not just by inspecting the item. For this reason, RSS feeds SHOULD include a guid field. If practical, the guid SHOULD be the info-hash of the torrent. That way, GUIDs would match across different feeds.
]FIG]