diff --git a/README.md b/README.md index d11dcf8..f40c9c3 100644 --- a/README.md +++ b/README.md @@ -43,49 +43,155 @@ this larger namespace. ## Element List ### Phase 1 (Open) -- **\**[url to a large image file]**\** - This is assumed to point to an image that is 1000px or larger in size. - The image must be square (1:1 ratio). The image content may differ from other images specified in the feed where appropriate. The "size" attribute is mandatory. -- **\**[url to a medium image file]**\** - This is assumed to point to an image that is 300px to 999px in size. - The image must be square (1:1 ratio). The image content may differ from other images specified in the feed where appropriate. The "size" attribute is mandatory. -- **\**[url to a small image file]**\** - This is assumed to point to an image that is 299px or less in size. - The image must be square (1:1 ratio). The image content may differ from other images specified in the feed where appropriate. The "size" attribute is mandatory. -- **\**[Category Name]**\** - This is a channel-level element. See "Categories" in this document for an explanation. There can be up to a total of 9 categories defined. +- **\**[url to a file or website]**\** -- **\**[CountryCode|Locality]**\** - The ISO 3166-1 alpha-2 country code; a pipe as separator; then a humanly-readable place name as preferred by the publisher. - The (mandatory) parameter osm_id is the OpenStreetMap ID for that place, using OpenStreetMap's API. -- **\**[yes|no]**\** - This is a channel-level element. This tells other podcast platforms whether they are allowed to import this feed. A value of "yes" means that any attempt to import - this feed into a new platform should be rejected. It is expected that podcast hosting providers will enable a toggle in their GUI to allow their users to turn - feed transfer lock on or off. -- **\**[email address]**\** - This is a channel-level element. An email address that can be used to verify ownership of this feed during move and import operations. This could be a public email or a - virtual email address at the hosting provider that redirects to the owner's true email address. -- **\**[url this feed was imported from]**\** - This is a channel-level element. Lists the previous url of this feed before it was imported. Any time a feed is moved, an additional **\** element - should be added to the channel, to create a paper trail of all the previous urls this feed has lived at. This way, aggregators can easily deduplicate their feed lists. -- **\**[the url the feed now lives at]**\** - This is a channel-level element. If the feed moved, or was imported to a different hosting platform, this element may exist and specify the new location. It may refer - to itself as a confirmation to aggregators that they now have the most current url. -- **\**[the id string]**\** (optional|multiple) - This is a channel-level element. See "ID's" in this document for an explanation. + Item -- **\**[name of person]**\** (optional|multiple) - This is an item-level element. It identifies a host - of a podcast episode. All other attributes are optional but recommended for disambiguation and good meta-data for apps. -- **\**[name of person]**\** (optional|multiple) - This is an item-level element. It identifies a guest - in a podcast episode. All other attributes are optional but recommended for disambiguation and good meta-data for apps. -- **\**[rating letter]**\** - This is a channel, or item-level element specifying a generally accepted rating letter of G, PG, PG-13, R or X. + (optional|single) -- **\**[url to a file or website]**\** - This is an item-level element. Links to an external file containing a transcript. The - mime type of the file should be given - such as text/plain, text/html, etc. -- **\**[url to a SRT captions file]**\** - This is an item-level element. Links to an industry standard closed-caption/subtitle file format. -- **\**[uri of media asset]**\** - This is a channel or item-level - element that is meant to provide alternate versions of an enclosure, such as low or - high bitrate, or alternate formats or alternate uri schemes, like IPFS or live streaming. The title attribute is optional. The "live" attribute is unary - its presence indicates that + Links to an external file containing a transcript. The mime type of the file should be given - such as text/plain, text/html, etc. + +- **\**[url to a SRT captions file]**\** + + Item + + (optional|single) + + Links to an industry standard closed-caption/subtitle file format. + +- **\**[uri of media asset]**\** + + Channel (optional|single) + + Item (optional|multiple) + + This element is meant to provide alternate versions of an enclosure, such as low or high bitrate, or alternate formats or alternate uri schemes, like IPFS or live streaming. The title attribute is optional. The "live" attribute is unary - its presence indicates that the uri refers to a live stream. There may be multiple alternateEnclosure elements in an item, but there must be no more than one in a channel. The presence of this element at the channel level would be useful for adding a video/audio trailer or intro media that introduces the listener to the podcast. For instance, in a podcast of an audiobook, this could be the book's introduction or preface. The alternateEnclosure element always refers to an "alternate" media version. The standard RSS enclosure element is always the default media to be played. +- **\**[CountryCode|Locality]**\** + + Channel or Item + + (required|single) + + The ISO 3166-1 alpha-2 country code; a pipe as separator; then a humanly-readable place name as preferred by the publisher. + The (mandatory) parameter osm_id is the OpenStreetMap ID for that place, using OpenStreetMap's API. + +- **\**[yes|no]**\** + + Channel + + (required|single) + + This tells other podcast platforms whether they are allowed to import this feed. A value of "yes" means that any attempt to import + this feed into a new platform should be rejected. It is expected that podcast hosting providers will enable a toggle in their GUI to allow their users to turn + feed transfer lock on or off. + +- **\**[email address]**\** + + Channel + + (required|single) + + This is a channel-level element. An email address that can be used to verify ownership of this feed during move and import operations. This could be a public email or a + virtual email address at the hosting provider that redirects to the owner's true email address. + +- **\**[url to a large image file]**\** + + Channel or Item + + (optional|single) + + This is assumed to point to an image that is 1000px or larger in size. The image must be square (1:1 ratio). The image content may differ from other images specified in + the feed where appropriate. The "size" attribute is mandatory. + +- **\**[url to a medium image file]**\** + + Channel or Item + + (optional|single) + + This is assumed to point to an image that is 300px to 999px in size. + The image must be square (1:1 ratio). The image content may differ from other images specified in the feed where appropriate. The "size" attribute is mandatory. + +- **\**[url to a small image file]**\** + + Channel or Item + + (optional|single) + + This is assumed to point to an image that is 299px or less in size. + The image must be square (1:1 ratio). The image content may differ from other images specified in the feed where appropriate. The "size" attribute is mandatory. + +- **\**[Category Name]**\** + + Channel + + (optional|single) + + See "Categories" in this document for an explanation. There can be up to a total of 9 categories defined. + +- **\**[url this feed was imported from]**\** + + Channel + + (optional|multiple) + + Lists the previous url of this feed before it was imported. Any time a feed is moved, an additional **\** element + should be added to the channel, to create a paper trail of all the previous urls this feed has lived at. This way, aggregators can easily deduplicate their feed lists. + +- **\**[the url the feed now lives at]**\** + + Channel + + (optional|single) + + If the feed moved, or was imported to a different hosting platform, this element may exist and specify the new location. It may refer + to itself as a confirmation to aggregators that they now have the most current url. + +- **\**[the id string]**\** + + Channel + + (optional|multiple) + + See "ID's" in this document for an explanation. + +- **\**[name of person]**\** + + Channel or Item + + (optional|multiple) + + It identifies a host of a podcast episode or entire podcast. All attributes are optional but recommended for disambiguation and good meta-data for apps. + +- **\**[name of person]**\** + + Item + + (optional|multiple) + + It identifies a guest in a podcast episode. All attributes are optional but recommended for disambiguation and good meta-data for apps. + +- **\**[rating letter]**\** + + Channel or Item + + (optional|single) + + Specifies the generally accepted rating letter of G, PG, PG-13, R or X. + + ### Phase 2 (Open) + - **\**[social media handle]**\** (optional|multiple) - This is a channel-level element listing possibly multiple social media accounts for this podcast. The service slugs should be community written in the accompanying serviceslugs.txt file. + - **\**[podcast handle at the platform]**\** - (optional|multiple) - This is a channel-level element listing multiple possible donation/funding links for the podcast. @@ -135,4 +241,4 @@ More should be added by the community as needed. This is just a starter list. ## Example feed -There is an example feed in this repository showing the podcastindex namespace side by side with the Apple itunes namespace. \ No newline at end of file +There is an example feed (example.xml) in this repository showing the podcastindex namespace side by side with the Apple itunes namespace. \ No newline at end of file