Introduction
Introduction Statistics Contact Development Disclaimer Help
add a few rough notes - sfeed_tests - sfeed tests and RSS and Atom files
git clone git://git.codemadness.org/sfeed_tests
Log
Files
Refs
README
LICENSE
---
commit 3f49a55031acd5d56c3131f299da20473e5332ba
parent 3008c110d07eb98413e02e57eced0d53a92b0802
Author: Hiltjo Posthuma <[email protected]>
Date: Sun, 16 Apr 2023 13:13:20 +0200
add a few rough notes
Diffstat:
M notes/specs.txt | 75 +++++++++++++++++++++++------…
1 file changed, 55 insertions(+), 20 deletions(-)
---
diff --git a/notes/specs.txt b/notes/specs.txt
@@ -1,45 +1,80 @@
-https://www.rssboard.org/rss-specification
- RSS 1.0
- RSS 0.9, 2.0
+Links to specs
+--------------
+- Atom
+ https://datatracker.ietf.org/doc/html/rfc4287
-https://datatracker.ietf.org/doc/html/rfc4287
- Atom
+- RSS 0.9, 2.0 and 1.0
+ https://www.rssboard.org/rss-specification
+- Dublin Core and RDF
+ https://www.dublincore.org/specifications/dublin-core/dcmi-terms/
+ https://web.resource.org/rss/1.0/modules/dc/
-https://www.dublincore.org/specifications/dublin-core/dcmi-terms/
-https://web.resource.org/rss/1.0/modules/dc/
- Dublin Core and RDF
+- Media RSS (MRSS)
+ https://www.rssboard.org/media-rss
-
-https://www.rssboard.org/media-rss
- Media RSS (MRSS)
+- OPML
+ https://en.wikipedia.org/wiki/OPML
+ http://opml.org/
Time formats:
-RFC3339 Date and Time on the Internet: Timestamps:
+- RFC3339 Date and Time on the Internet: Timestamps:
https://www.rfc-editor.org/rfc/rfc3339
-RFC822:
+- RFC822:
https://www.rfc-editor.org/rfc/rfc822
5. Date and Time Specification
-RFC822 obsoleted by RFC2822:
+- RFC822 obsoleted by RFC2822:
https://www.rfc-editor.org/rfc/rfc2822
-ISO 8601-1:
+- ISO 8601-1:
https://en.wikipedia.org/wiki/ISO_8601
There might be some free and open resource someplace...
-OPML:
- https://en.wikipedia.org/wiki/OPML
- http://opml.org/
+Some notes about specs
+----------------------
+
+- ISO 8601-1 needs to be bought to see it. It is not free as in cost.
+
+- RFC822 incorrectly defined military timezones. Mentioned in its succesor RFC…
+" The 1 character military time zones were defined in a non-standard
+ way in [RFC822] and are therefore unpredictable in their meaning.
+ The original definitions of the military zones "A" through "I" are
+ equivalent to "+0100" through "+0900" respectively; "K", "L", and "M"
+ are equivalent to "+1000", "+1100", and "+1200" respectively; "N"
+ through "Y" are equivalent to "-0100" through "-1200" respectively;
+ and "Z" is equivalent to "+0000". However, because of the error in
+ [RFC822], they SHOULD all be considered equivalent to "-0000" unless
+ there is out-of-band information confirming their meaning."
+
+ sfeed does not support military timezones anymore. I haven't noticed any
+ feeds that use them (apart from Z) anyway.
+
+- RFC822 only defines American timezone names (so "CEST" is not supported).
+
+- RFC2822 defines leap seconds are allowed (23:59:60).
+
+- Second fractions are allowed. sfeed truncates them.
+- Timezones can be in the range: -9959 through +9959. sfeed allows -9999 throu…
-JSON Feed:
- https://www.jsonfeed.org/
+- time_t is typically signed 64-bit on platforms. POSIX defines it simply as an
+ integer (not clear if signed or unsigned).
+ Many 32-bit platforms use a signed 32-bit long for time_t.
+ Open Watcom uses a 32-bit unsigned long for time_t.
+ "long long" is a datatype defines as at least 64-bit.
+ The sfeed parser consistently parses it to a signed 64-bit number (long long…
+ The format tools read this number and convert it to a time_t. Depending on
+ the platform and the time (mostly before 1970 or after 2038) this may
+ incorrectly wrap the number.
+- There were/are many bugs in time parsing implementations in the different
+ libcs in various platforms sfeed has a parser for most of the formats used by
+ RSS/Atom/etc and handles timezone offsets.
You are viewing proxied material from codemadness.org. The copyright of proxied material belongs to its original authors. Any comments or complaints in relation to proxied material should be directed to the original authors of the content concerned. Please see the disclaimer for more details.