0

我有一个用于事件信息的 XML 文件。尼日利亚阿布贾有一个条目。我所看到的一切都表明时区缩写是 WAT。但是,w3 提要验证器说它是无效的。如果我用 CST 替换 WAT,它会验证。似乎问题严格与该时区有关。

W3 提要验证器结果:

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>吗?我没看到,如果有的话。

4

1 回答 1

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

于 2013-10-31T04:22:29.700 回答