Greetings!
I just started looking at Syndic for a few related tasks, starting with OPML import.
From what I can find, OPML v2 adds some elements, but should generally work within a tool written for v1. Just trying this in a REPL, with an OPML v2file exported from FreshRSS, that seems to pass validation.
Syndic__.Syndic_opml1.read rejects it, expecting the following as non-optional: dateModified, ownerName, ownerEmail. Manually filling these fields in, I think I have read my v2 file successfully.
Based on the v1 and v2 OPML specs, "A contains zero or more optional elements, described below." (followed by the details).
It appears to me that simply making the relevant fields to be option types should fix this, but I don't know yet what else this might break. Is there a known reason not to make them optional?
References:
https://web.archive.org/web/20160304125338/http://dev.opml.org/spec1.html
https://opml.org/spec2.opml
Greetings!
I just started looking at Syndic for a few related tasks, starting with OPML import.
From what I can find, OPML v2 adds some elements, but should generally work within a tool written for v1. Just trying this in a REPL, with an OPML v2file exported from FreshRSS, that seems to pass validation.
Syndic__.Syndic_opml1.read rejects it, expecting the following as non-optional: dateModified, ownerName, ownerEmail. Manually filling these fields in, I think I have read my v2 file successfully.
Based on the v1 and v2 OPML specs, "A contains zero or more optional elements, described below." (followed by the details).
It appears to me that simply making the relevant fields to be option types should fix this, but I don't know yet what else this might break. Is there a known reason not to make them optional?
References:
https://web.archive.org/web/20160304125338/http://dev.opml.org/spec1.html
https://opml.org/spec2.opml