我有一个用于事件信息的XML文件。尼日利亚的阿布贾有一个入口。我见过的所有内容都说时区缩写是WAT。但是,w3 feed validator表示它无效。如果我用CST替换WAT,它会验证。似乎问题严格来说就是那个时区。
W3 Feed验证器结果:
Sorry
This feed does not validate.
line 106, column 41: pubDate must be an RFC-822 date-time: Fri, 01 Nov 2013 16:00:00 WAT [help]
<pubDate>Fri, 01 Nov 2013 16:00:00 WAT</pubDate>
XML代码:
<?xml version="1.0" encoding="utf-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:itunes="http://www.itunes.com/dtds/podcast-1.0.dtd" xmlns:xxx="http://www.xxx.org/">
<channel>
<title>Upcoming Events</title>
<link>http://www.xxx.org</link>
<description></description>
<atom:link href="http://www.xxx.org/rss/Events.xml" rel="self" type="application/rss+xml" />
<item>
<title>xxx</title>
<xxx:host>Hosted by xxx</xxx:host>
<xxx:speaker>Speaking: xxx</xxx:speaker>
<dc:creator>xxx</dc:creator>
<pubDate>Fri, 01 Nov 2013 16:00:00 WAT</pubDate>
<xxx:extraDate1>Sat, 02 Nov 2013 16:00:00 WAT</xxx:extraDate1>
<xxx:extraDate2>Sun, 03 Nov 2013 07:00:00 WAT</xxx:extraDate2>
<xxx:endDate>Sun, 03 Nov 2013 15:00:00 WAT</xxx:endDate>
<link>http://www.xxx.org</link>
<xxx:venue>xxx</xxx:venue>
<xxx:address>xxx</xxx:address>
<xxx:location>xxx</xxx:location>
<xxx:zip></xxx:zip>
<xxx:phone>xxx</xxx:phone>
<xxx:notes></xxx:notes>
</item>
</channel>
</rss>
为简洁起见,对XML进行了编辑。我有多个美国时区,但这是第一个外国时区。
该文件适用于RSS阅读器,我有一个可以使用它的PHP页面。问题是我正在使用一些JavaScript,并且它会抛出无效的XML错误。
<pubDate>
确实有问题吗?我没有看到它,如果有的话。
答案 0 :(得分:1)
规范非常明确:
http://asg.web.cmu.edu/rfc/rfc822.html#sec-5.1
zone = "UT" / "GMT" ; Universal Time
; North American : UT
/ "EST" / "EDT" ; Eastern: - 5/ - 4
/ "CST" / "CDT" ; Central: - 6/ - 5
/ "MST" / "MDT" ; Mountain: - 7/ - 6
/ "PST" / "PDT" ; Pacific: - 8/ - 7
/ 1ALPHA ; Military: Z = UT;
; A:-1; (J not used)
; M:-12; N:+1; Y:+12
/ ( ("+" / "-") 4DIGIT ) ; Local differential
; hours+min. (HHMM)
您需要使用本地差异(在本例中为+0100
)