Congratulations!

[Valid RSS] This is a valid RSS feed.

Recommendations

This feed is valid, but interoperability with the widest range of feed readers could be improved by implementing the following recommendations.

Source: http://feeds.rssboard.org/rssboard

  1. <?xml version="1.0" encoding="ISO-8859-1"?>
  2. <rss version="2.0"
  3.  xmlns:dc="http://purl.org/dc/elements/1.1/"
  4.  xmlns:atom="http://www.w3.org/2005/Atom"
  5.  xmlns:sitemap="http://www.sitemaps.org/schemas/sitemap/0.9"
  6.  xmlns:wordzilla="http://www.cadenhead.org/workbench/wordzilla/namespace">
  7.  <channel>
  8.    <title>RSS Advisory Board</title>
  9.    <link>https://www.rssboard.org/</link>
  10.    <description>RSS Advisory Board announcements and Really Simple Syndication news</description>
  11.    <language>en-us</language>
  12.    <docs>http://www.rssboard.org/rss-specification</docs>
  13.    <generator>Wordzilla/0.58</generator>
  14.    <ttl>10</ttl>
  15.    <atom:link rel="self" href="http://feeds.rssboard.org/rssboard" type="application/rss+xml" />
  16.    <atom:link rel="hub" href="http://pubsubhubbub.appspot.com" />
  17.    <item>
  18.      <title>How to Read an RSS Feed with Java Using XOM</title>
  19.      <link>https://www.rssboard.org/news/221/read-rss-feed-java-using-xom</link>
  20.      <description>&lt;figure class=&quot;text-center&quot;&gt;&lt;img src=&quot;https://www.rssboard.org/images/xml-in-a-nutshell-3rd-edition-cover-elliotte-rusty-harold-w-scott-means.jpg&quot; alt=&quot;Cover of the O'Reilly book XML in a Nutshell, 3rd Edition, by Elliotte Rusty Harold and W. Scott Means. The cover features a black-and-white illustration of the neck and head of a peafowl bird with a crest of tipped feathers on his head.&quot; class=&quot;img-fluid img-thumbnail&quot; width=&quot;350&quot; /&gt;&lt;/figure&gt;&lt;p&gt;There are a lot of libraries for processing XML data with Java that can be used to read RSS feeds. One of the best is the &lt;a href=&quot;https://xom.nu/&quot;&gt;open source library XOM&lt;/a&gt; created by the computer book author Elliotte Rusty Harold.&lt;/p&gt;&lt;p&gt;As he wrote one of his 20 books about Java and XML, Harold got so frustrated with the available Java libraries for XML that he created his own. XOM, which stands for XML Object Model, was designed to be easy to learn while still being strict about XML, requiring documents that are well-formed and utilize namespaces in complete adherence to the specification. (At the RSS Advisory Board, talk of following a spec is our love language.)&lt;/p&gt;&lt;p&gt;XOM was introduced in 2002 and is currently up to version 1.3.9, though all versions have remained compatible since 1.0. To use XOM, download the class library in one of the packages available on the XOM homepage. You can avoid needing any further configuration by choosing one of the options that includes third-party JAR files in the download. This allows XOM to use an included SAX parser under the hood to process XML.&lt;/p&gt;&lt;p&gt;Here's Java code that loads items from The Guardian's &lt;a href=&quot;https://www.rssboard.org/rss-specification&quot;&gt;RSS 2.0&lt;/a&gt; feed containing articles by Ben Hammersley, displaying them as HTML output:&lt;/p&gt;&lt;p&gt;&lt;code&gt;// create an XML builder and load the feed using a URL&lt;br /&gt;Builder bob = new Builder();&lt;br /&gt;Document doc = bob.build(&quot;https://www.theguardian.com/profile/benhammersley/rss&quot;);&lt;br /&gt;// load the root element and channel&lt;br /&gt;Element rss = doc.getRootElement();&lt;br /&gt;Element channel = rss.getFirstChildElement(&quot;channel&quot;);&lt;br /&gt;// load all items in the channel&lt;br /&gt;Elements items = channel.getChildElements(&quot;item&quot;);&lt;br /&gt;for (Element item : items) {&lt;br /&gt;&amp;nbsp;&amp;nbsp;// load elements of the item&lt;br /&gt;&amp;nbsp;&amp;nbsp;String title = item.getFirstChildElement(&quot;title&quot;).getValue();&lt;br /&gt;&amp;nbsp;&amp;nbsp;String author = item.getFirstChildElement(&quot;creator&quot;,&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&quot;http://purl.org/dc/elements/1.1/&quot;).getValue();&lt;br /&gt;&amp;nbsp;&amp;nbsp;String description = item.getFirstChildElement(&quot;description&quot;).getValue();&lt;br /&gt;&amp;nbsp;&amp;nbsp;// display the output&lt;br /&gt;&amp;nbsp;&amp;nbsp;System.out.println(&quot;&amp;gt;h2&gt;&quot; + title + &quot;&amp;gt;/h2&gt;&quot;);&lt;br /&gt;&amp;nbsp;&amp;nbsp;System.out.println(&quot;&amp;gt;p&gt;&amp;gt;b&gt;By &quot; + author + &quot;&amp;gt;/b&gt;&amp;gt;/p&gt;&quot;);&lt;br /&gt;&amp;nbsp;&amp;nbsp;System.out.println(&quot;&amp;gt;p&gt;&quot; + description + &quot;&amp;gt;/p&gt;&quot;);&lt;/code&gt;&lt;/p&gt;&lt;p&gt;All of the classes used in this code are in the top-level package &lt;code&gt;nu.xom&lt;/code&gt;, which has comprehensive &lt;a href=&quot;https://xom.nu/apidocs/&quot;&gt;JavaDoc&lt;/a&gt; describing their use. Like all Java code this is a little long-winded, but Harold's class names do a good job of explaining what they do. A Builder uses its &lt;code&gt;build()&lt;/code&gt; method with a URL as the argument to load a feed into a Document over the web. There are also &lt;a href=&quot;https://xom.nu/apidocs/nu/xom/Builder.html#build-java.io.File-&quot;&gt;other build methods&lt;/a&gt; to load a feed from a file, reader, input stream, or string.&lt;/p&gt;&lt;p&gt;Elements can be retrieved by their names such as &quot;title&quot;, &quot;link&quot; or &quot;description&quot;. An element with only one child of a specific type can be retrieved using the &lt;code&gt;getFirstChildElement()&lt;/code&gt; method with the name as the argument:&lt;/p&gt;&lt;p&gt;&lt;code&gt;Element linkElement = item.getFirstChildElement(&quot;link&quot;);&lt;/code&gt;&lt;/p&gt;&lt;p&gt;An element containing multiple children of the same type uses &lt;code&gt;getChildElements()&lt;/code&gt; instead:&lt;/p&gt;&lt;p&gt;&lt;code&gt;Elements enclosures = item.getChildElements(&quot;enclosure&quot;);&lt;br /&gt;if (enclosures.size() &gt; 1) {&lt;br /&gt;  System.out.println(&quot;I'm pretty sure an item should only include one enclosure&quot;);&lt;br /&gt;}&lt;/code&gt;&lt;/p&gt;&lt;p&gt;If an element is in a namespace, there must be a second argument providing the namespace URI. Like many RSS feeds, the ones from The Guardian use a &lt;a href=&quot;https://www.rssboard.org/rss-profile#namespace-elements-dublin-creator&quot;&gt;dc:creator&lt;/a&gt; element from Dublin Core to credit the item's author. That namespace has the URI &quot;http://purl.org/dc/elements/1.1/&quot;.&lt;/p&gt;&lt;p&gt;If the element specified in &lt;code&gt;getFirstChildElement()&lt;/code&gt; or &lt;code&gt;getChild Elements()&lt;/code&gt; is not present, those methods return &lt;code&gt;null&lt;/code&gt;. You may need to check for this when adapting the code to load other RSS feeds.&lt;/p&gt;&lt;p&gt;If the name Ben Hammersley sounds familiar, he &lt;a href=&quot;https://www.theguardian.com/media/2004/feb/12/broadcasting.digitalmedia&quot;&gt;coined the term &quot;podcasting&quot;&lt;/a&gt; in his February 2004 article for The Guardian about the new phenomenon of delivering audio files in RSS feeds.&lt;/p&gt;</description>
  21.      <pubDate>Tue, 01 Aug 2023 23:25:57 -0400</pubDate>
  22.      <dc:creator>Rogers Cadenhead</dc:creator>
  23.      <comments>https://www.rssboard.org/news/221/read-rss-feed-java-using-xom#discuss</comments>
  24.      <guid isPermaLink="false">tag:rssboard.org,2006:weblog.221</guid>
  25.      <category>announcements,</category>
  26.      <sitemap:priority>0.5</sitemap:priority>
  27.      <sitemap:changefreq>daily</sitemap:changefreq>
  28.      <wordzilla:id>221</wordzilla:id>
  29.    </item>
  30.    <item>
  31.      <title>The RSS Advisory Board Just Turned 20</title>
  32.      <link>https://www.rssboard.org/news/220/rss-advisory-board-just-turned-20</link>
  33.      <description>&lt;figure class=&quot;text-center&quot;&gt;&lt;img src=&quot;https://www.rssboard.org/images/cheers-from-jay-gatsby.png&quot; alt=&quot;A photo of the actor Leonardo Dicaprio as Jay Gatsby holding up a celebratory glass of champagne&quot; class=&quot;img-fluid img-thumbnail&quot; width=&quot;550&quot; /&gt;&lt;/a&gt;&lt;figcaption class=&quot;figure-caption&quot;&gt;&lt;i&gt;&quot;Tomorrow we will run faster, stretch out our arms farther.&quot;&lt;/i&gt;&lt;/figcaption&gt;&lt;/figure&gt;&lt;p&gt;Today is the 20th birthday of the RSS Advisory Board, the group that publishes the &lt;a href=&quot;https://www.rssboard.org/rss-specification&quot;&gt;RSS specification&lt;/a&gt;. It was formed on July 18, 2003, when the copyright of the specification was transferred to Harvard University, which immediately released it under a Creative Commons license and deferred all matters related to RSS to the new board.&lt;/p&gt;&lt;p&gt;At the time of the board's launch, here's how the founding members &lt;a href=&quot;https://web.archive.org/web/20030722225621/http://blogs.law.harvard.edu/tech/advisoryBoard&quot;&gt;described its purpose&lt;/a&gt;:&lt;/p&gt;&lt;blockquote&gt;&lt;p&gt;&lt;b&gt;Is the advisory board a standards body?&lt;/b&gt;&lt;/p&gt; &lt;p&gt;No. It will not create new formats and protocols. It will encourage and help developers who wish to use RSS 2.0. Since the format is extensible, there are many ways to add to it, while remaining compatible with the RSS 2.0 specification. We will help people who wish to do so.&lt;/p&gt;&lt;p&gt;&lt;b&gt;What does the advisory board actually do?&lt;/b&gt;&lt;/p&gt; &lt;p&gt;We answer questions, write tech notes, advocate for RSS, make minor changes to the spec per the roadmap, help people use the technology, maintain a directory of compatible applications, accept contributions from community members, and otherwise do what we can to help people and organizations be successful with RSS.&lt;/p&gt;&lt;/blockquote&gt;&lt;p&gt;This remains the purpose 140 dog years later. In addition to maintaining the current RSS specification, we are the official publisher of Netscape's &lt;a href=&quot;https://www.rssboard.org/rss-0-9-0&quot;&gt;RSS 0.90&lt;/a&gt; and &lt;a href=&quot;https://www.rssboard.org/rss-0-9-1-netscape&quot;&gt;RSS 0.91&lt;/a&gt; specifications and Yahoo's &lt;a href=&quot;https://www.rssboard.org/media-rss&quot;&gt;Media RSS specification&lt;/a&gt;.&lt;/p&gt;&lt;p&gt;We also offer an &lt;a href=&quot;https://www.rssboard.org/rss-validator/&quot;&gt;RSS Validator&lt;/a&gt; and &lt;a href=&quot;https://www.rssboard.org/rss-profile&quot;&gt;RSS Best Practices Profile&lt;/a&gt; containing our recommendations for how to implement the format.&lt;/p&gt;&lt;p&gt;There's a resurgence of interest in RSS today as people discover the exhilarating freedom of the open web. Some of this is due to dissatisfaction with deleterious changes at big social sites like Twitter and Reddit. Some is due to satisfaction with Mastodon, a decentralized social network owned by nobody with more than one million active users. As long as there are social media gatekeepers using engagement algorithms to decide what you can and can't see, there will be a need to get around them. When someone offers an RSS or Atom feed and you subscribe to it in a reader, you get their latest updates without manipulation.&lt;/p&gt;&lt;p&gt;Here's to another 20 years of feeding readers, unlocking gates, helping developers adopt RSS and repeatedly getting asked the question, &quot;Can an RSS item contain more than one enclosure?&quot;&lt;/p&gt;</description>
  34.      <pubDate>Tue, 18 Jul 2023 15:50:24 -0400</pubDate>
  35.      <dc:creator>Rogers Cadenhead</dc:creator>
  36.      <comments>https://www.rssboard.org/news/220/rss-advisory-board-just-turned-20#discuss</comments>
  37.      <guid isPermaLink="false">tag:rssboard.org,2006:weblog.220</guid>
  38.      <category>announcements,</category>
  39.      <sitemap:priority>0.5</sitemap:priority>
  40.      <sitemap:changefreq>daily</sitemap:changefreq>
  41.      <wordzilla:id>220</wordzilla:id>
  42.    </item>
  43.    <item>
  44.      <title>Downloading 50,000 Podcast Feeds to Analyze Their RSS</title>
  45.      <link>https://www.rssboard.org/news/219/downloading-50000-podcast-feeds-analyze</link>
  46.      <description>&lt;figure class=&quot;text-center&quot;&gt;&lt;img src=&quot;https://www.rssboard.org/images/apple-podcasts-icon.png&quot; alt=&quot;The Apple Podcasts icon, an i enclosed by two partial circles&quot; class=&quot;img-fluid&quot; width=&quot;250&quot; /&gt;&lt;/a&gt;&lt;/figure&gt;&lt;p&gt;The software developer Niko Abeler has crawled 51,165 podcast feeds to study what RSS elements they contain. His comprehensive &lt;a href=&quot;https://podcast-standard.org/&quot;&gt;Podcast Feed Standard report&lt;/a&gt; looks at the usage of &lt;a href=&quot;https://www.rssboard.org/rss-specification&quot;&gt;core RSS elements&lt;/a&gt; and namespace elements from Apple iTunes, Atom, Content, Podcast 2.0 and Simple Chapters. He writes:&lt;/p&gt;&lt;blockquote&gt;&lt;p&gt;In the world of podcasting, there is a great deal of freedom when it comes to the format and content of a podcast. Creators are free to choose their own audio format and feed content, giving them the flexibility to create something truly unique. However, when it comes to distributing a podcast, certain standards must be followed in order to be added to an aggregator such as Apple Podcasts. Additionally, the podcasting community has come to agree upon certain conventions that can be used to add additional features to a podcast, such as chapters, enhanced audio, and more. These conventions allow for a more immersive and engaging listening experience for the audience.&lt;/p&gt;&lt;p&gt;This website is dedicated to providing guidance and information on the conventions and standards used in podcasting.&lt;/p&gt;&lt;/blockquote&gt;&lt;p&gt;There's a lot of interesting data in the &lt;a href=&quot;https://podcast-standard.org/rss_tags/&quot;&gt;RSS 2.0 report&lt;/a&gt;, which finds that these are the six least popular elements in an RSS feed's channel:&lt;/p&gt;&lt;p&gt;&lt;table class=&quot;table&quot;&gt;  &lt;thead&gt;    &lt;tr&gt;      &lt;td&gt;&lt;b&gt;Element&lt;/b&gt;&lt;/td&gt;      &lt;td&gt;&lt;b&gt;Usage&lt;/b&gt;&lt;/td&gt;    &lt;/tr&gt;  &lt;/thead&gt;  &lt;tbody&gt;    &lt;tr&gt;      &lt;td&gt;&lt;a href=&quot;https://www.rssboard.org/rss-profile#element-channel-docs&quot;&gt;docs&lt;/a&gt;&lt;/td&gt;      &lt;td&gt;8.3%&lt;/td&gt;    &lt;/tr&gt;    &lt;tr&gt;      &lt;td&gt;&lt;a href=&quot;https://www.rssboard.org/rss-profile#element-channel-cloud&quot;&gt;cloud&lt;/a&gt;&lt;/td&gt;      &lt;td&gt;0.0%&lt;/td&gt;    &lt;/tr&gt;    &lt;tr&gt;      &lt;td&gt;&lt;a href=&quot;https://www.rssboard.org/rss-profile#element-channel-rating&quot;&gt;rating&lt;/a&gt;&lt;/td&gt;      &lt;td&gt;0.0%&lt;/td&gt;    &lt;/tr&gt;    &lt;tr&gt;      &lt;td&gt;&lt;a href=&quot;https://www.rssboard.org/rss-profile#element-channel-skipdays&quot;&gt;skipDays&lt;/a&gt;&lt;/td&gt;      &lt;td&gt;0.0%&lt;/td&gt;    &lt;/tr&gt;    &lt;tr&gt;      &lt;td&gt;&lt;a href=&quot;https://www.rssboard.org/rss-profile#element-channel-skiphours&quot;&gt;skipHours&lt;/a&gt;&lt;/td&gt;      &lt;td&gt;0.0%&lt;/td&gt;    &lt;/tr&gt;    &lt;tr&gt;      &lt;td&gt;&lt;a href=&quot;https://www.rssboard.org/rss-profile#element-channel-textinput&quot;&gt;textInput&lt;/a&gt;&lt;/td&gt;      &lt;td&gt;0.0%&lt;/td&gt;    &lt;/tr&gt;  &lt;/tbody&gt;&lt;/table&gt;&lt;/p&gt;&lt;p&gt;Over 99 percent of feeds contain the optional channel element &lt;code&gt;language&lt;/code&gt; and the optional item elements &lt;code&gt;enclosure&lt;/code&gt;, &lt;code&gt;guid&lt;/code&gt;, &lt;code&gt;pubDate&lt;/code&gt; and &lt;code&gt;title&lt;/code&gt;. Only 0.2% of feeds contain a &lt;code&gt;source&lt;/code&gt; element in an item.&lt;/p&gt;&lt;p&gt;The iTunes namespace report shows a lot of variation in support. The required element &lt;code&gt;itunes:explicit&lt;/code&gt; is only present in 18 percent of feeds and four optional elements have less than 20 percent: &lt;code&gt;itunes:new-feed-url&lt;/code&gt;, &lt;code&gt;itunes:block&lt;/code&gt;, &lt;code&gt;itunes:complete&lt;/code&gt; and &lt;code&gt;itunes:title&lt;/code&gt;. One namespace in the report, Podcast 2.0, has been proposed by Podcastindex &quot;to provide a solution for problems which previously have been solved by multiple competing standards&quot; and is still under development.&lt;/p&gt;&lt;p&gt;The report also analyzes the audio files enclosed in the podcast feeds to determine their format, bitrate, channel and loudness. The report finds that 95.6 percent use MP3 and 4.4 percent AAC/M4A. People who like an alternative open source format will be oggravated that its sliver of the pie graph is so small it can't be seen.&lt;/p&gt;&lt;p&gt;If Abeler isn't tired of crunching numbers, one thing that would be useful for the RSS Advisory Board to learn is how many of the feeds contain more than one &lt;code&gt;enclosure&lt;/code&gt; element within a single item.&lt;/p&gt;</description>
  47.      <pubDate>Fri, 14 Jul 2023 10:38:42 -0400</pubDate>
  48.      <dc:creator>Rogers Cadenhead</dc:creator>
  49.      <comments>https://www.rssboard.org/news/219/downloading-50000-podcast-feeds-analyze#discuss</comments>
  50.      <guid isPermaLink="false">tag:rssboard.org,2006:weblog.219</guid>
  51.      <category>announcements,</category>
  52.      <sitemap:priority>0.5</sitemap:priority>
  53.      <sitemap:changefreq>daily</sitemap:changefreq>
  54.      <wordzilla:id>219</wordzilla:id>
  55.    </item>
  56.    <item>
  57.      <title>Tara Calishain Explains: What is RSS?</title>
  58.      <link>https://www.rssboard.org/news/218/tara-calishain-explains-rss</link>
  59.      <description>&lt;figure class=&quot;text-center&quot;&gt;&lt;img src=&quot;https://www.rssboard.org/images/researchbuzz-tara-calishain-logo.png&quot; alt=&quot;The logo of Tara Calishain's blog ResearchBuzz, which is the letters R and B with the B depicted as a smiling bee with antennae&quot; class=&quot;img-fluid&quot; width=&quot;200&quot; /&gt;&lt;/figure&gt;&lt;p&gt;The exodus of users away from Twitter and Reddit has led many of those information refugees to discover the joy of subscribing to feeds in a reader. RSS and Atom feeds are an enormous open decentralized network that can never be ruined under new ownership -- because there's no owner.&lt;/p&gt;&lt;p&gt;Tara Calishain of ResearchBuzz has written a 4,000-word &lt;a href=&quot;https://researchbuzz.me/2023/07/06/rss-2/&quot;&gt;introduction to RSS&lt;/a&gt; for people who are new to the world of feeds:&lt;/p&gt;&lt;blockquote&gt;&lt;p&gt;I could not do ResearchBuzz without RSS feeds. They're invaluable. And I think if you learn more about them, you'll appreciate why I consider RSS the most underrated tech on the Internet. That's what this article is about: I'm going to explain what RSS feeds are, show you how to find them, go over some of the RSS feed readers available, and, finally, list several tools and resources you might find useful on your journey.&lt;/p&gt;&lt;p&gt;... I follow over a thousand RSS feeds which deliver information to me throughout the day. Do you think I could visit a thousand websites a day to check for new information? Even if I tried to visit a thousand a week that would be over 142 websites a day. Assuming it took me two minutes to visit a site and check for new content, I would spend over 4.5 hours a day just visiting websites.&lt;/p&gt;&lt;p&gt;Do you see why I'm so grateful for RSS?&lt;/p&gt;&lt;/blockquote&gt;&lt;p&gt;Calishain, who was blogging before &lt;a href=&quot;https://www.rssboard.org/rss-history&quot;&gt;Netscape created RSS&lt;/a&gt; in 1999, covers a lot more than the basics, showing how to find hidden feeds on websites, check a bunch of feeds for freshness and create keyword-based feeds to search sites like Google News, Hacker News and WordPress. Even experienced readers of readers will learn new things, and there's a collection of nine handy &lt;a href=&quot;https://rssgizmos.com/&quot;&gt;RSS Gizmos&lt;/a&gt; she has developed.&lt;/p&gt;&lt;p&gt;On that subject, Calishain &lt;a href=&quot;https://searchgizmos.com/about/&quot;&gt;just began programming a year ago&lt;/a&gt;:&lt;/p&gt;&lt;blockquote&gt;&lt;p&gt;In spring 2022 I decided to find out if I could really learn JavaScript after being diagnosed as autistic. (I'm a high school dropout and didn't think I could learn something like programming.)&lt;/p&gt;&lt;p&gt;I CAN! And I LOVE IT!&lt;/p&gt;&lt;/blockquote&gt;&lt;p&gt;Welcome to the not-so-secret society of programmers, Tara! Please slow down a little. You're making the rest of us look bad.&lt;/p&gt;</description>
  60.      <pubDate>Wed, 12 Jul 2023 21:45:48 -0400</pubDate>
  61.      <dc:creator>Rogers Cadenhead</dc:creator>
  62.      <comments>https://www.rssboard.org/news/218/tara-calishain-explains-rss#discuss</comments>
  63.      <guid isPermaLink="false">tag:rssboard.org,2006:weblog.218</guid>
  64.      <category>announcements,</category>
  65.      <sitemap:priority>0.5</sitemap:priority>
  66.      <sitemap:changefreq>daily</sitemap:changefreq>
  67.      <wordzilla:id>218</wordzilla:id>
  68.    </item>
  69.    <item>
  70.      <title>Be Unique And Use RSS Guid Like Everybody Else</title>
  71.      <link>https://www.rssboard.org/news/217/unique-and-use-rss-guid-like-everybody</link>
  72.      <description>&lt;figure class=&quot;text-center&quot;&gt;&lt;img src=&quot;https://www.rssboard.org/images/rss-guid-unique-snowflake.jpg&quot; alt=&quot;Black and white photo of 12 snowflakes from the Library of Congress taken by Theodor Horydczak to illustrate that all snowflakes are unique&quot; class=&quot;img-fluid img-thumbnail&quot; width=&quot;564&quot; /&gt;&lt;figcaption class=&quot;figure-caption&quot;&gt;&lt;i&gt;Winter scenes: Snowflakes by Theodor Horydczak&lt;/i&gt;&lt;/figcaption&gt;&lt;/figure&gt;&lt;p&gt;If you publish an RSS feed, you should do a solid for the developers of RSS readers by including a &lt;a href=&quot;https://www.rssboard.org/rss-profile#element-channel-item-guid&quot;&gt;guid&lt;/a&gt; in each item. The guid's job is to be a unique identifier that helps software downloading your feed decide whether it has seen that item before. Here's the guid for an item on the arts and technology blog Laughing Squid:&lt;/p&gt;&lt;p&gt;&lt;code&gt;&amp;lt;guid isPermaLink=&quot;false&quot;&gt;https://laughingsquid.com/?p=914660&amp;lt;/guid&gt;&lt;/code&gt;&lt;/p&gt;&lt;p&gt;No other item on Laughing Squid will ever have this guid value. It's a URL that loads a blog post with the title &lt;a href=&quot;https://laughingsquid.com/elephant-pretends-to-eat-hat/&quot;&gt;Playful Elephant Pretends to Eat Woman's Hat&lt;/a&gt;. If you load the guid's URL &lt;a href=&quot;https://laughingsquid.com/?p=914660&quot;&gt;https://laughingsquid.com/?p=914660&lt;/a&gt;, it redirects to the permanent link of the post. Because the guid is not the permanent link, there's an &lt;code&gt;isPermaLink&lt;/code&gt; attribute with a value of &lt;code&gt;false&lt;/code&gt;.&lt;/p&gt;&lt;p&gt;Most guid values in RSS feeds are the permanent link of the item, as in this example from the world news site Semafor:&lt;/p&gt;&lt;p&gt;&lt;code&gt;&amp;lt;guid&gt;https://www.semafor.com/article/07/07/2023/us-jobs-data-what-experts-make-of-the-new-numbers&amp;lt;/guid&gt;&lt;/code&gt;&lt;/p&gt;&lt;p&gt;A drawback of using the permalink is that if any part of the URL changes -- such as the title text or the domain name -- the guid changes and RSS readers will think this is a new item to show the feed's subscribers, when it's actually a repeat.&lt;/p&gt;&lt;p&gt;A guid doesn't have to be a URL. It can be any string that the feed publisher has chosen to be unique. Here's the guid from the RSS Advisory Board's feed for this blog post:&lt;/p&gt;&lt;p&gt;&lt;code&gt;&amp;lt;guid isPermaLink=&quot;false&quot;&gt;tag:rssboard.org,2006:weblog.217&amp;lt;/guid&gt;&lt;/code&gt;&lt;/p&gt;&lt;p&gt;Our guid follows the &lt;a href=&quot;http://www.faqs.org/rfcs/rfc4151.html&quot;&gt;TAG URI scheme&lt;/a&gt;, a simple way to assure uniqueness by putting these five components together in this order:&lt;/p&gt;&lt;ol&gt;&lt;li&gt;The text &quot;tag&quot;&lt;/li&gt;&lt;li&gt;A domain owned by the feed provider&lt;/li&gt;&lt;li&gt;A year the provider owned that domain&lt;/li&gt;&lt;li&gt;A short name for the feed different from any other feed on the site&lt;/li&gt;&lt;li&gt;The internal ID number of the post&lt;/li&gt;&lt;/ol&gt; &lt;p&gt;There's different punctuation between each component. The year 2006 was when the board began using the domain rssboard.org. No one else used that domain that year, so any feed reader that stores &quot;tag:rssboard.org,2006:weblog.217&quot; as this item's guid should never encounter that value in any other item on any other feed.&lt;/p&gt;&lt;p&gt;To see how RSS 2.0 feeds are using guid, several thousand feeds were downloaded this evening from an RSS aggregator that publicly shares the OPML subscription lists of its users.&lt;/p&gt;&lt;p&gt;&lt;table class=&quot;table&quot;&gt;&lt;thead&gt;&lt;tr&gt;&lt;td&gt;&lt;b&gt;Category&lt;/b&gt;&lt;/td&gt;&lt;td&gt;&lt;b&gt;Total&lt;/b&gt;&lt;/td&gt;&lt;td&gt;&lt;b&gt;Percentage&lt;/b&gt;&lt;/td&gt;&lt;/thead&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td&gt;Total number of feeds&lt;/td&gt;&lt;td&gt;4,954&lt;/td&gt;&lt;td&gt;--&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;Feed using guid&lt;/td&gt;&lt;td&gt;4,777&lt;/td&gt;&lt;td&gt;96.4%&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;Feeds using non-permalinks in guid&lt;/td&gt;&lt;td&gt;752&lt;/td&gt;&lt;td&gt;15.2%&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;p&gt;The term guid means &quot;globally unique identifier,&quot; but RSS 2.0 does not require global uniqueness in guids. Because the TAG URI scheme does a good job of serving that purpose, Blogger, Flickr, MetaFilter, SoundCloud and The Register are among the sites using it in their feeds.&lt;/p&gt;</description>
  73.      <pubDate>Mon, 10 Jul 2023 22:30:01 -0400</pubDate>
  74.      <dc:creator>Rogers Cadenhead</dc:creator>
  75.      <comments>https://www.rssboard.org/news/217/unique-and-use-rss-guid-like-everybody#discuss</comments>
  76.      <guid isPermaLink="false">tag:rssboard.org,2006:weblog.217</guid>
  77.      <category>announcements,</category>
  78.      <sitemap:priority>0.5</sitemap:priority>
  79.      <sitemap:changefreq>daily</sitemap:changefreq>
  80.      <wordzilla:id>217</wordzilla:id>
  81.    </item>
  82.    <item>
  83.      <title>Has the RSS Advisory Board Followed the Roadmap?</title>
  84.      <link>https://www.rssboard.org/news/216/has-rss-advisory-board-followed</link>
  85.      <description>&lt;figure class=&quot;text-center&quot;&gt;&lt;img src=&quot;https://www.rssboard.org/images/roadmap-rss-advisory-board-new-features.jpg&quot; alt=&quot;A man labeled RSS Advisory Board checks out a girl labeled New Features while his girlfriend labeled Roadmap stares daggers at him.&quot; class=&quot;img-fluid&quot; width=&quot;600&quot; /&gt;&lt;/figure&gt;&lt;p&gt;There has been recent discussion about the &lt;a href=&quot;https://www.rssboard.org/rss-specification#roadmap&quot;&gt;roadmap&lt;/a&gt; that was added to the RSS 2.0 specification in August 2002 announcing that there would be no new additions to RSS, freezing its set of elements and attributes forever and ever amen. The roadmap stated, &quot;We anticipate possible 2.0.2 or 2.0.3 versions, etc. only for the purpose of clarifying the specification, not for adding new features to the format.&quot;&lt;/p&gt;&lt;p&gt;The RSS Advisory Board was formed 20 years ago to publish the specification and &quot;make minor changes to the spec per the roadmap,&quot; as stated in the &lt;a href=&quot;https://www.rssboard.org/advisory-board-notes&quot;&gt;launch announcement&lt;/a&gt; on July 18, 2003.&lt;/p&gt;&lt;p&gt;If you're wondering whether the board has followed the roadmap, this timeline of RSS elements answers that question. There are 44 elements in RSS. This table shows when each element was introduced, the group that added it, and the version in which it first appeared.&lt;/p&gt;&lt;p&gt;There were 33 elements added to RSS by Netscape in 1999 and 11 by UserLand from 2000 to 2002. No elements have been added by the RSS Advisory Board.&lt;/p&gt;&lt;table class=&quot;table table-striped&quot;&gt;&lt;thead&gt;&lt;tr&gt;&lt;td&gt;&lt;b&gt;Element&lt;/b&gt;&lt;/td&gt;&lt;td&gt;&lt;b&gt;Date Added&lt;/b&gt;&lt;/td&gt;&lt;td&gt;&lt;b&gt;Publisher&lt;/b&gt;&lt;/td&gt;&lt;td&gt;&lt;b&gt;Version&lt;/b&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/thead&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td&gt;&lt;a href=&quot;https://www.rssboard.org/rss-profile#element-channel&quot;&gt;channel&lt;/a&gt;&lt;/td&gt;&lt;td&gt;03/1999&lt;/td&gt;&lt;td&gt;Netscape&lt;/td&gt;&lt;td&gt;&lt;a href=&quot;https://www.rssboard.org/rss-0-9-0&quot;&gt;RSS 0.90&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;&lt;a href=&quot;https://www.rssboard.org/rss-profile#element-channel-description&quot;&gt;channel-description&lt;/a&gt;&lt;/td&gt;&lt;td&gt;03/1999&lt;/td&gt;&lt;td&gt;Netscape&lt;/td&gt;&lt;td&gt;&lt;a href=&quot;https://www.rssboard.org/rss-0-9-0&quot;&gt;RSS 0.90&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;&lt;a href=&quot;https://www.rssboard.org/rss-profile#element-channel-link&quot;&gt;channel-link&lt;/a&gt;&lt;/td&gt;&lt;td&gt;03/1999&lt;/td&gt;&lt;td&gt;Netscape&lt;/td&gt;&lt;td&gt;&lt;a href=&quot;https://www.rssboard.org/rss-0-9-0&quot;&gt;RSS 0.90&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;&lt;a href=&quot;https://www.rssboard.org/rss-profile#element-channel-title&quot;&gt;channel-title&lt;/a&gt;&lt;/td&gt;&lt;td&gt;03/1999&lt;/td&gt;&lt;td&gt;Netscape&lt;/td&gt;&lt;td&gt;&lt;a href=&quot;https://www.rssboard.org/rss-0-9-0&quot;&gt;RSS 0.90&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt;&lt;td&gt;&lt;a href=&quot;https://www.rssboard.org/rss-profile#element-channel-image&quot;&gt;channel-image&lt;/a&gt;&lt;/td&gt;&lt;td&gt;03/1999&lt;/td&gt;&lt;td&gt;Netscape&lt;/td&gt;&lt;td&gt;&lt;a href=&quot;https://www.rssboard.org/rss-0-9-0&quot;&gt;RSS 0.90&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;&lt;a href=&quot;https://www.rssboard.org/rss-profile#element-channel-image-link&quot;&gt;channel-image-link&lt;/a&gt;&lt;/td&gt;&lt;td&gt;03/1999&lt;/td&gt;&lt;td&gt;Netscape&lt;/td&gt;&lt;td&gt;&lt;a href=&quot;https://www.rssboard.org/rss-0-9-0&quot;&gt;RSS 0.90&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;&lt;a href=&quot;https://www.rssboard.org/rss-profile#element-channel-image-title&quot;&gt;channel-image-title&lt;/a&gt;&lt;/td&gt;&lt;td&gt;03/1999&lt;/td&gt;&lt;td&gt;Netscape&lt;/td&gt;&lt;td&gt;&lt;a href=&quot;https://www.rssboard.org/rss-0-9-0&quot;&gt;RSS 0.90&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;&lt;a href=&quot;https://www.rssboard.org/rss-profile#element-channel-image-url&quot;&gt;channel-image-url&lt;/a&gt;&lt;/td&gt;&lt;td&gt;03/1999&lt;/td&gt;&lt;td&gt;Netscape&lt;/td&gt;&lt;td&gt;&lt;a href=&quot;https://www.rssboard.org/rss-0-9-0&quot;&gt;RSS 0.90&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;&lt;a href=&quot;https://www.rssboard.org/rss-profile#element-channel-textinput&quot;&gt;channel-textInput&lt;/a&gt;&lt;/td&gt;&lt;td&gt;03/1999&lt;/td&gt;&lt;td&gt;Netscape&lt;/td&gt;&lt;td&gt;&lt;a href=&quot;https://www.rssboard.org/rss-0-9-0&quot;&gt;RSS 0.90&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;&lt;a href=&quot;https://www.rssboard.org/rss-profile#element-channel-textinput-description&quot;&gt;channel-textInput-description&lt;/a&gt;&lt;/td&gt;&lt;td&gt;03/1999&lt;/td&gt;&lt;td&gt;Netscape&lt;/td&gt;&lt;td&gt;&lt;a href=&quot;https://www.rssboard.org/rss-0-9-0&quot;&gt;RSS 0.90&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;&lt;a href=&quot;https://www.rssboard.org/rss-profile#element-channel-textinput-link&quot;&gt;channel-textInput-link&lt;/a&gt;&lt;/td&gt;&lt;td&gt;03/1999&lt;/td&gt;&lt;td&gt;Netscape&lt;/td&gt;&lt;td&gt;&lt;a href=&quot;https://www.rssboard.org/rss-0-9-0&quot;&gt;RSS 0.90&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;&lt;a href=&quot;https://www.rssboard.org/rss-profile#element-channel-textinput-name&quot;&gt;channel-textInput-name&lt;/a&gt;&lt;/td&gt;&lt;td&gt;03/1999&lt;/td&gt;&lt;td&gt;Netscape&lt;/td&gt;&lt;td&gt;&lt;a href=&quot;https://www.rssboard.org/rss-0-9-0&quot;&gt;RSS 0.90&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;&lt;a href=&quot;https://www.rssboard.org/rss-profile#element-channel-textinput-title&quot;&gt;channel-textInput-title&lt;/a&gt;&lt;/td&gt;&lt;td&gt;03/1999&lt;/td&gt;&lt;td&gt;Netscape&lt;/td&gt;&lt;td&gt;&lt;a href=&quot;https://www.rssboard.org/rss-0-9-0&quot;&gt;RSS 0.90&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;&lt;a href=&quot;https://www.rssboard.org/rss-profile#element-channel-item&quot;&gt;channel-item&lt;/a&gt;&lt;/td&gt;&lt;td&gt;03/1999&lt;/td&gt;&lt;td&gt;Netscape&lt;/td&gt;&lt;td&gt;&lt;a href=&quot;https://www.rssboard.org/rss-0-9-0&quot;&gt;RSS 0.90&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;&lt;a href=&quot;https://www.rssboard.org/rss-profile#element-channel-item-link&quot;&gt;channel-item-link&lt;/a&gt;&lt;/td&gt;&lt;td&gt;03/1999&lt;/td&gt;&lt;td&gt;Netscape&lt;/td&gt;&lt;td&gt;&lt;a href=&quot;https://www.rssboard.org/rss-0-9-0&quot;&gt;RSS 0.90&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;&lt;a href=&quot;https://www.rssboard.org/rss-profile#element-channel-item-title&quot;&gt;channel-item-title&lt;/a&gt;&lt;/td&gt;&lt;td&gt;03/1999&lt;/td&gt;&lt;td&gt;Netscape&lt;/td&gt;&lt;td&gt;&lt;a href=&quot;https://www.rssboard.org/rss-0-9-0&quot;&gt;RSS 0.90&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;&lt;a href=&quot;https://www.rssboard.org/rss-profile#element-rss&quot;&gt;rss&lt;/a&gt;&lt;/td&gt;&lt;td&gt;07/1999&lt;/td&gt;&lt;td&gt;Netscape&lt;/td&gt;&lt;td&gt;&lt;a href=&quot;https://www.rssboard.org/rss-0-9-1-netscape&quot;&gt;RSS 0.91&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;&lt;a href=&quot;https://www.rssboard.org/rss-profile#element-channel-copyright&quot;&gt;channel-copyright&lt;/a&gt;&lt;/td&gt;&lt;td&gt;07/1999&lt;/td&gt;&lt;td&gt;Netscape&lt;/td&gt;&lt;td&gt;&lt;a href=&quot;https://www.rssboard.org/rss-0-9-1-netscape&quot;&gt;RSS 0.91&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;&lt;a href=&quot;https://www.rssboard.org/rss-profile#element-channel-docs&quot;&gt;channel-docs&lt;/a&gt;&lt;/td&gt;&lt;td&gt;07/1999&lt;/td&gt;&lt;td&gt;Netscape&lt;/td&gt;&lt;td&gt;&lt;a href=&quot;https://www.rssboard.org/rss-0-9-1-netscape&quot;&gt;RSS 0.91&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;tr&gt;&lt;td&gt;&lt;a href=&quot;https://www.rssboard.org/rss-profile#element-channel-image-description&quot;&gt;channel-image-description&lt;/a&gt;&lt;/td&gt;&lt;td&gt;07/1999&lt;/td&gt;&lt;td&gt;Netscape&lt;/td&gt;&lt;td&gt;&lt;a href=&quot;https://www.rssboard.org/rss-0-9-1-netscape&quot;&gt;RSS 0.91&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;&lt;a href=&quot;https://www.rssboard.org/rss-profile#element-channel-image-height&quot;&gt;channel-image-height&lt;/a&gt;&lt;/td&gt;&lt;td&gt;07/1999&lt;/td&gt;&lt;td&gt;Netscape&lt;/td&gt;&lt;td&gt;&lt;a href=&quot;https://www.rssboard.org/rss-0-9-1-netscape&quot;&gt;RSS 0.91&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;&lt;a href=&quot;https://www.rssboard.org/rss-profile#element-channel-image-width&quot;&gt;channel-image-width&lt;/a&gt;&lt;/td&gt;&lt;td&gt;07/1999&lt;/td&gt;&lt;td&gt;Netscape&lt;/td&gt;&lt;td&gt;&lt;a href=&quot;https://www.rssboard.org/rss-0-9-1-netscape&quot;&gt;RSS 0.91&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;&lt;a href=&quot;https://www.rssboard.org/rss-profile#element-channel-language&quot;&gt;channel-language&lt;/a&gt;&lt;/td&gt;&lt;td&gt;07/1999&lt;/td&gt;&lt;td&gt;Netscape&lt;/td&gt;&lt;td&gt;&lt;a href=&quot;https://www.rssboard.org/rss-0-9-1-netscape&quot;&gt;RSS 0.91&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;&lt;a href=&quot;https://www.rssboard.org/rss-profile#element-channel-lastbuilddate&quot;&gt;channel-lastBuildDate&lt;/a&gt;&lt;/td&gt;&lt;td&gt;07/1999&lt;/td&gt;&lt;td&gt;Netscape&lt;/td&gt;&lt;td&gt;&lt;a href=&quot;https://www.rssboard.org/rss-0-9-1-netscape&quot;&gt;RSS 0.91&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;&lt;a href=&quot;https://www.rssboard.org/rss-profile#element-channel-managingeditor&quot;&gt;channel-managingEditor&lt;/a&gt;&lt;/td&gt;&lt;td&gt;07/1999&lt;/td&gt;&lt;td&gt;Netscape&lt;/td&gt;&lt;td&gt;&lt;a href=&quot;https://www.rssboard.org/rss-0-9-1-netscape&quot;&gt;RSS 0.91&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;&lt;a href=&quot;https://www.rssboard.org/rss-profile#element-channel-pubdate&quot;&gt;channel-pubDate&lt;/a&gt;&lt;/td&gt;&lt;td&gt;07/1999&lt;/td&gt;&lt;td&gt;Netscape&lt;/td&gt;&lt;td&gt;&lt;a href=&quot;https://www.rssboard.org/rss-0-9-1-netscape&quot;&gt;RSS 0.91&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;&lt;a href=&quot;https://www.rssboard.org/rss-profile#element-channel-rating&quot;&gt;channel-rating&lt;/a&gt;&lt;/td&gt;&lt;td&gt;07/1999&lt;/td&gt;&lt;td&gt;Netscape&lt;/td&gt;&lt;td&gt;&lt;a href=&quot;https://www.rssboard.org/rss-0-9-1-netscape&quot;&gt;RSS 0.91&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;&lt;a href=&quot;https://www.rssboard.org/rss-profile#element-channel-skipdays&quot;&gt;channel-skipDays&lt;/a&gt;&lt;/td&gt;&lt;td&gt;07/1999&lt;/td&gt;&lt;td&gt;Netscape&lt;/td&gt;&lt;td&gt;&lt;a href=&quot;https://www.rssboard.org/rss-0-9-1-netscape&quot;&gt;RSS 0.91&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;&lt;a href=&quot;https://www.rssboard.org/rss-profile#element-channel-skipdays-day&quot;&gt;channel-skipDays-day&lt;/a&gt;&lt;/td&gt;&lt;td&gt;07/1999&lt;/td&gt;&lt;td&gt;Netscape&lt;/td&gt;&lt;td&gt;&lt;a href=&quot;https://www.rssboard.org/rss-0-9-1-netscape&quot;&gt;RSS 0.91&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;&lt;a href=&quot;https://www.rssboard.org/rss-profile#element-channel-skiphours&quot;&gt;channel-skipHours&lt;/a&gt;&lt;/td&gt;&lt;td&gt;07/1999&lt;/td&gt;&lt;td&gt;Netscape&lt;/td&gt;&lt;td&gt;&lt;a href=&quot;https://www.rssboard.org/rss-0-9-1-netscape&quot;&gt;RSS 0.91&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;&lt;a href=&quot;https://www.rssboard.org/rss-profile#element-channel-skiphours-hour&quot;&gt;channel-skipHours-hour&lt;/a&gt;&lt;/td&gt;&lt;td&gt;07/1999&lt;/td&gt;&lt;td&gt;Netscape&lt;/td&gt;&lt;td&gt;&lt;a href=&quot;https://www.rssboard.org/rss-0-9-1-netscape&quot;&gt;RSS 0.91&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;&lt;a href=&quot;https://www.rssboard.org/rss-profile#element-channel-webmaster&quot;&gt;channel-webMaster&lt;/a&gt;&lt;/td&gt;&lt;td&gt;07/1999&lt;/td&gt;&lt;td&gt;Netscape&lt;/td&gt;&lt;td&gt;&lt;a href=&quot;https://www.rssboard.org/rss-0-9-1-netscape&quot;&gt;RSS 0.91&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;&lt;a href=&quot;https://www.rssboard.org/rss-profile#element-channel-item-description&quot;&gt;channel-item-description&lt;/a&gt;&lt;/td&gt;&lt;td&gt;07/1999&lt;/td&gt;&lt;td&gt;Netscape&lt;/td&gt;&lt;td&gt;&lt;a href=&quot;https://www.rssboard.org/rss-0-9-1-netscape&quot;&gt;RSS 0.91&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;&lt;a href=&quot;https://www.rssboard.org/rss-profile#element-channel-cloud&quot;&gt;channel-cloud&lt;/a&gt;&lt;/td&gt;&lt;td&gt;12/2000&lt;/td&gt;&lt;td&gt;UserLand&lt;/td&gt;&lt;td&gt;&lt;a href=&quot;https://www.rssboard.org/rss-0-9-2&quot;&gt;RSS 0.92&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;&lt;a href=&quot;https://www.rssboard.org/rss-profile#element-channel-item-category&quot;&gt;channel-item-category&lt;/a&gt;&lt;/td&gt;&lt;td&gt;12/2000&lt;/td&gt;&lt;td&gt;UserLand&lt;/td&gt;&lt;td&gt;&lt;a href=&quot;https://www.rssboard.org/rss-0-9-2&quot;&gt;RSS 0.92&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;&lt;a href=&quot;https://www.rssboard.org/rss-profile#element-channel-item-enclosure&quot;&gt;channel-item-enclosure&lt;/a&gt;&lt;/td&gt;&lt;td&gt;12/2000&lt;/td&gt;&lt;td&gt;UserLand&lt;/td&gt;&lt;td&gt;&lt;a href=&quot;https://www.rssboard.org/rss-0-9-2&quot;&gt;RSS 0.92&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;&lt;a href=&quot;https://www.rssboard.org/rss-profile#element-channel-item-source&quot;&gt;channel-item-source&lt;/a&gt;&lt;/td&gt;&lt;td&gt;12/2000&lt;/td&gt;&lt;td&gt;UserLand&lt;/td&gt;&lt;td&gt;&lt;a href=&quot;https://www.rssboard.org/rss-0-9-2&quot;&gt;RSS 0.92&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;&lt;a href=&quot;https://www.rssboard.org/rss-profile#element-channel-category&quot;&gt;channel-category&lt;/a&gt;&lt;/td&gt;&lt;td&gt;08/2002&lt;/td&gt;&lt;td&gt;UserLand&lt;/td&gt;&lt;td&gt;&lt;a href=&quot;https://www.rssboard.org/rss-specification&quot;&gt;RSS 2.0&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;&lt;a href=&quot;https://www.rssboard.org/rss-profile#element-channel-generator&quot;&gt;channel-generator&lt;/a&gt;&lt;/td&gt;&lt;td&gt;08/2002&lt;/td&gt;&lt;td&gt;UserLand&lt;/td&gt;&lt;td&gt;&lt;a href=&quot;https://www.rssboard.org/rss-specification&quot;&gt;RSS 2.0&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;&lt;a href=&quot;https://www.rssboard.org/rss-profile#element-channel-ttl&quot;&gt;channel-ttl&lt;/a&gt;&lt;/td&gt;&lt;td&gt;08/2002&lt;/td&gt;&lt;td&gt;UserLand&lt;/td&gt;&lt;td&gt;&lt;a href=&quot;https://www.rssboard.org/rss-specification&quot;&gt;RSS 2.0&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;&lt;a href=&quot;https://www.rssboard.org/rss-profile#element-channel-item-author&quot;&gt;channel-item-author&lt;/a&gt;&lt;/td&gt;&lt;td&gt;08/2002&lt;/td&gt;&lt;td&gt;UserLand&lt;/td&gt;&lt;td&gt;&lt;a href=&quot;https://www.rssboard.org/rss-specification&quot;&gt;RSS 2.0&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;&lt;a href=&quot;https://www.rssboard.org/rss-profile#element-channel-item-comments&quot;&gt;channel-item-comments&lt;/a&gt;&lt;/td&gt;&lt;td&gt;08/2002&lt;/td&gt;&lt;td&gt;UserLand&lt;/td&gt;&lt;td&gt;&lt;a href=&quot;https://www.rssboard.org/rss-specification&quot;&gt;RSS 2.0&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;&lt;a href=&quot;https://www.rssboard.org/rss-profile#element-channel-item-guid&quot;&gt;channel-item-guid&lt;/a&gt;&lt;/td&gt;&lt;td&gt;08/2002&lt;/td&gt;&lt;td&gt;UserLand&lt;/td&gt;&lt;td&gt;&lt;a href=&quot;https://www.rssboard.org/rss-specification&quot;&gt;RSS 2.0&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;&lt;a href=&quot;https://www.rssboard.org/rss-profile#element-channel-item-pubdate&quot;&gt;channel-item-pubdate&lt;/a&gt;&lt;/td&gt;&lt;td&gt;08/2002&lt;/td&gt;&lt;td&gt;UserLand&lt;/td&gt;&lt;td&gt;&lt;a href=&quot;https://www.rssboard.org/rss-specification&quot;&gt;RSS 2.0&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;p&gt;A few judgment calls had to be made compiling this list. The &lt;code&gt;image&lt;/code&gt; and &lt;code&gt;textInput&lt;/code&gt; elements were originally placed under the top-level element of the feed, but that is counted as their introduction even though they later moved inside &lt;code&gt;channel&lt;/code&gt;. The &lt;code&gt;rss&lt;/code&gt; element wasn't in the first version of RSS created by Netscape. Instead the top-level element was &lt;code&gt;rdf:RDF&lt;/code&gt; until it was changed by Netscape to &lt;code&gt;rss&lt;/code&gt; four months later.&lt;/p&gt;</description>
  86.      <pubDate>Wed, 05 Jul 2023 14:52:11 -0400</pubDate>
  87.      <dc:creator>Rogers Cadenhead</dc:creator>
  88.      <comments>https://www.rssboard.org/news/216/has-rss-advisory-board-followed#discuss</comments>
  89.      <guid isPermaLink="false">tag:rssboard.org,2006:weblog.216</guid>
  90.      <category>announcements,</category>
  91.      <sitemap:priority>0.5</sitemap:priority>
  92.      <sitemap:changefreq>daily</sitemap:changefreq>
  93.      <wordzilla:id>216</wordzilla:id>
  94.    </item>
  95.    <item>
  96.      <title>RSS Enclosure Support in Micro.Blog</title>
  97.      <link>https://www.rssboard.org/news/214/rss-enclosure-support-microblog</link>
  98.      <description>&lt;figure class=&quot;text-center&quot;&gt;&lt;img src=&quot;https://www.rssboard.org/images/micro-blog-stickers-and-envelope.jpg&quot; alt=&quot;A stack of stickers with the Micro.blog logo and an envelope with an address of Micro.blog, P.O. Box 202831, Austin, TX 78720&quot; class=&quot;img-fluid img-thumbnail&quot; width=&quot;600&quot; /&gt;&lt;/figure&gt;&lt;p&gt;An effort is underway to examine how feed publishers and feed consumers are handling the lack of clarity in the &lt;a href=&quot;https://www.rssboard.org/rss-specification&quot;&gt;RSS 2.0 specification&lt;/a&gt; about whether an item can contain more than one enclosure. The RSS Best Practices Profile recommends that a feed item should contain &lt;a href=&quot;https://www.rssboard.org/rss-profile#element-channel-item-enclosure&quot;&gt;no more than one enclosure&lt;/a&gt; &quot;for best support in the widest number of aggregators,&quot; advice worth testing against current usage.&lt;/p&gt;&lt;p&gt;The artisanal small-batch blogging service &lt;a href=&quot;https://micro.blog/&quot;&gt;Micro.blog&lt;/a&gt; is a platform for sharing short posts like Twitter, but in a way designed to be less viral, more low key and less prone to provocation, attention seeking and clout chasing. There are no follower counts, public likes or trending topics. Founder Manton Reese explained why in his book &lt;a href=&quot;https://book.micro.blog/misinformation/&quot;&gt;Indie Microblogging&lt;/a&gt;:&lt;/p&gt;&lt;blockquote&gt;&lt;p&gt;Big social networks like Instagram are designed to amplify accounts that gain traction, whether they are fake or not.&lt;/p&gt;&lt;p&gt;Micro.blog limits search and avoids public likes and reposts so that the snowball starts small and stays small. Instead of going viral and becoming a major problem, fake accounts can be spotted early and shut down if necessary.&lt;/p&gt;&lt;/blockquote&gt;&lt;p&gt;Since being funded by a Kickstarter campaign in 2017 that hit its goal in one day, Micro.blog has attracted a dedicated following. One of the options available to premium subscribers is to host a podcast. An audio button appears below the post editing window to choose a media file.&lt;/p&gt;&lt;figure class=&quot;text-center&quot;&gt;&lt;a href=&quot;https://www.rssboard.org/images/micro-blog-add-podcast-to-post.png&quot;&gt;&lt;img src=&quot;https://www.rssboard.org/images/micro-blog-add-podcast-to-post.png&quot; alt=&quot;Screen capture of the editing window in Micro.blog with an arrow pointing to the button to add a podcast file to the post.&quot; class=&quot;img-fluid img-thumbnail&quot; width=&quot;550&quot; /&gt;&lt;/a&gt;&lt;figcaption class=&quot;figure-caption&quot;&gt;&lt;i&gt;Choosing a podcast file to add to a post&lt;/i&gt;&lt;/figcaption&gt;&lt;/figure&gt;&lt;p&gt;Micro.blog sites have a &lt;a href=&quot;https://rcade.micro.blog/rss.xml&quot;&gt;primary RSS feed&lt;/a&gt; and a separate &lt;a href=&quot;https://rcade.micro.blog/podcast.xml&quot;&gt;podcast feed&lt;/a&gt;. The latter contains enclosure elements. Because the Micro.blog editing window does not allow more than one podcast to be added to a post, the RSS item for a post contains only one enclosure:&lt;/p&gt;&lt;p&gt;&lt;code&gt;&amp;lt;item&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;lt;title&gt;RSS Enclosure Test&amp;lt;/title&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;lt;link&gt;https://rcade.micro.blog/2023/07/02/rss-enclosure-test.html&amp;lt;/link&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;lt;pubDate&gt;Sun, 02 Jul 2023 21:39:52 -0400&amp;lt;/pubDate&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;lt;guid isPermaLink=&quot;true&quot;&gt;https://rcade.micro.blog/2023/07/02/rss-enclosure-test.html&amp;lt;/guid&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;lt;description&gt;&amp;lt;p&gt;I&amp;rsquo;m trying out Micro.blog&amp;rsquo;s support for podcasting to see how it handles enclosures in RSS feeds. This MP3 was released by David Byrne under Creative Commons Sampling Plus:&amp;lt;/p&gt; &amp;lt;p&gt;&amp;lt;a href=&quot;https://creativecommons.org/licenses/sampling+/1.0/.&quot;&gt;creativecommons.org/licenses/&amp;hellip;&amp;lt;/a&gt;&amp;lt;/p&gt; &amp;lt;audio controls=&quot;controls&quot; src=&quot;https://cdn.uploads.micro.blog/67258/2023/my-fair-lady-david-byrne.mp3&quot; preload=&quot;metadata&quot;&gt; &amp;lt;/description&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;lt;itunes:subtitle&gt;&amp;lt;p&gt;I&amp;rsquo;m trying out Micro.blog&amp;rsquo;s support for podcasting to see how it handles enclosures in RSS feeds. This MP3 was released by David Byrne under Creative Commons Sampling Plus:&amp;lt;/p&gt; &amp;lt;p&gt;&amp;lt;a href=&quot;https://creativecommons.org/licenses/sampling+/1.0/.&quot;&gt;creativecommons.org/licenses/&amp;hellip;&amp;lt;/a&gt;&amp;lt;/p&gt; &amp;lt;audio controls=&quot;controls&quot; src=&quot;https://cdn.uploads.micro.blog/67258/2023/my-fair-lady-david-byrne.mp3&quot; preload=&quot;metadata&quot;&gt; &amp;lt;/itunes:subtitle&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;lt;itunes:summary&gt;&amp;lt;p&gt;I&amp;rsquo;m trying out Micro.blog&amp;rsquo;s support for podcasting to see how it handles enclosures in RSS feeds. This MP3 was released by David Byrne under Creative Commons Sampling Plus:&amp;lt;/p&gt; &amp;lt;p&gt;&amp;lt;a href=&quot;https://creativecommons.org/licenses/sampling+/1.0/.&quot;&gt;creativecommons.org/licenses/&amp;hellip;&amp;lt;/a&gt;&amp;lt;/p&gt; &amp;lt;audio controls=&quot;controls&quot; src=&quot;https://cdn.uploads.micro.blog/67258/2023/my-fair-lady-david-byrne.mp3&quot; preload=&quot;metadata&quot;&gt; &amp;lt;/itunes:summary&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;lt;enclosure url=&quot;https://rcade.micro.blog/uploads/2023/my-fair-lady-david-byrne.mp3&quot; type=&quot;audio/mpeg&quot; length=&quot;3394751&quot;/&gt;&amp;nbsp;&amp;nbsp;&amp;lt;itunes:duration&gt;212&amp;lt;/itunes:duration&gt;&lt;br /&gt;&amp;lt;/item&gt;&lt;/code&gt;&lt;/p&gt;&lt;p&gt;Micro.blog's commitment to being small extends to podcasts, where its &lt;a href=&quot;https://help.micro.blog/t/using-wavelength/83&quot;&gt;Wavelength&lt;/a&gt; app for iPhone can be used to record, edit and publish a short-form podcast.&lt;/p&gt;</description>
  99.      <pubDate>Sun, 02 Jul 2023 23:35:33 -0400</pubDate>
  100.      <dc:creator>Rogers Cadenhead</dc:creator>
  101.      <comments>https://www.rssboard.org/news/214/rss-enclosure-support-microblog#discuss</comments>
  102.      <guid isPermaLink="false">tag:rssboard.org,2006:weblog.214</guid>
  103.      <category>announcements,</category>
  104.      <sitemap:priority>0.5</sitemap:priority>
  105.      <sitemap:changefreq>daily</sitemap:changefreq>
  106.      <wordzilla:id>214</wordzilla:id>
  107.    </item>
  108.    <item>
  109.      <title>Atom Feed Format Was Born 20 Years Ago</title>
  110.      <link>https://www.rssboard.org/news/213/atom-feed-format-born-20-years-ago</link>
  111.      <description>&lt;figure class=&quot;text-center&quot;&gt;&lt;img src=&quot;https://www.rssboard.org/images/atom-feed-format-logo.png&quot; alt=&quot;Atom feed format logo&quot; class=&quot;img-fluid img-thumbnail&quot; width=&quot;400&quot; /&gt;&lt;/figure&gt;&lt;p&gt;This month marks the 20th anniversary of the effort that became the &lt;a href=&quot;https://datatracker.ietf.org/doc/html/rfc4287&quot;&gt;Atom feed format&lt;/a&gt;. It all began on June 16, 2003, with a &lt;a href=&quot;https://web.archive.org/web/20121030042604/http://intertwingly.net/blog/1472.html&quot;&gt;blog post&lt;/a&gt; from Apache Software Foundation contributor Sam Ruby asking for feedback about what constitutes a well-formed blog entry.&lt;/p&gt;&lt;p&gt;The development of &lt;a href=&quot;https://www.rssboard.org/rss-specification&quot;&gt;RSS 2.0&lt;/a&gt; had been an unplanned hopscotch from a small group at Netscape to a smaller one at UserLand Software, but Atom was a barn raising. Hundreds of software developers, web publishers and technologists gathered for a discussion in the abstract that led to a concrete effort to build a well-specified syndication format and associated &lt;a href=&quot;https://datatracker.ietf.org/doc/html/rfc5023&quot;&gt;publishing API&lt;/a&gt; that could become Internet standards. Work was done on a project wiki that grew to over 1,500 pages. Everything was up for a vote, including a plebiscite on choosing a name that ballooned into a four-month-long bike shed discussion in which Pie, Echo, Wingnut, Feedcast, Phaistos and several dozen alternatives finally, mercifully, miraculously lost out to Atom.&lt;/p&gt;&lt;p&gt;The &lt;a href=&quot;https://web.archive.org/web/20080913062709/http://www.intertwingly.net/wiki/pie/RoadMap&quot;&gt;road map&lt;/a&gt; of the Atom wiki lists the people, companies and projects that jumped at the chance to create a new format for feeds. XML specification co-author Tim Bray &lt;a href=&quot;http://www.tbray.org/ongoing/When/200x/2003/06/23/SamsPie&quot;&gt;wrote&lt;/a&gt;:&lt;/p&gt;&lt;blockquote&gt;&lt;p&gt;The time to write it all down and standardize it is not when you're first struggling to invent the technology. We now have aggregators and publishing systems and search engines and you-name-it, and I think the community collectively understands pretty well what you need, what you don't need, and what a good syntax looks like.&lt;/p&gt;&lt;p&gt;So, now's the time.&lt;/p&gt;&lt;/blockquote&gt;&lt;p&gt;As someone whose only contribution to the project was voting on names, I think I was too quick to rule out Phaistos, a suggestion inspired by a clay disc produced by movable type before 1600 B.C. Comments on the wiki page &lt;a href=&quot;https://web.archive.org/web/20030923180702/http://www.intertwingly.net/wiki/pie/PhaistosNameDiscuss&quot;&gt;proposing that monicker&lt;/a&gt; offer a sample of the name wars:&lt;/p&gt;&lt;blockquote&gt;&lt;p&gt;MikeBlumenthal: Does one of the great mysteries of antiquity, a document which, after almost 100 years of trying, is still a mystery not only as to its meaning but even as to its purpose, and which stands as a paragon of impenetrability, really fit as a name for an interoperability format?&lt;/p&gt;&lt;p&gt;Jayseae: Actually, the current state of RSS is pretty much a mystery -- why should this project be any different? I like the association with publishing -- though I'm not sure the pronunciation really flows. Perhaps it could be shortened somehow?&lt;/p&gt;&lt;p&gt;AsbjornUlsberg: Sorry, but I don't like it. We could just as gladly give the project any other Greek-sounding name, like Papadopolous.&lt;/p&gt;&lt;/blockquote&gt;&lt;p&gt;Arising from all the chaos and debate, the Atom format became a beautifully specified IETF standard in 2005 edited by Mark Nottingham and Robert Sayre that's used today in millions of feeds. It is the most popular syndication format that's never argued about.&lt;/p&gt;&lt;p&gt;Everybody got that out of their system on the wiki.&lt;/p&gt;</description>
  112.      <pubDate>Thu, 29 Jun 2023 16:39:54 -0400</pubDate>
  113.      <dc:creator>Rogers Cadenhead</dc:creator>
  114.      <comments>https://www.rssboard.org/news/213/atom-feed-format-born-20-years-ago#discuss</comments>
  115.      <guid isPermaLink="false">tag:rssboard.org,2006:weblog.213</guid>
  116.      <category>announcements,</category>
  117.      <sitemap:priority>0.5</sitemap:priority>
  118.      <sitemap:changefreq>daily</sitemap:changefreq>
  119.      <wordzilla:id>213</wordzilla:id>
  120.    </item>
  121.    <item>
  122.      <title>How to Read an RSS Feed with PHP Using SimplePie</title>
  123.      <link>https://www.rssboard.org/news/212/read-rss-feed-php-using</link>
  124.      <description>&lt;figure class=&quot;text-center&quot;&gt;&lt;a href=&quot;https://simplepie.org/&quot;&gt;&lt;img src=&quot;https://www.rssboard.org/images/simple-pie-php-rss-atom-library.png&quot; alt=&quot;The SimplePie logo&quot; class=&quot;img-fluid img-thumbnail&quot; width=&quot;239&quot; /&gt;&lt;/a&gt;&lt;/figure&gt;&lt;p&gt;If you need to load an RSS feed with the PHP programming language, the open source library &lt;a href=&quot;https://simplepie.org/&quot;&gt;SimplePie&lt;/a&gt; greatly simplifies the process of pulling in items from a feed to present on a website, store in a database or do something else coooool with the data. There's a &lt;a href=&quot;https://simplepie.org/wiki/setup/setup&quot;&gt;full installation guide&lt;/a&gt; for SimplePie but you can skip it with just three steps:&lt;/p&gt;&lt;ol&gt;&lt;li&gt;&lt;a href=&quot;https://simplepie.org/downloads/?download&quot;&gt;Download SimplePie 1.5&lt;/a&gt;.&lt;/li&gt;&lt;li&gt;Copy the file &lt;code&gt;autoloader.php&lt;/code&gt; and the folder &lt;code&gt;library&lt;/code&gt; to a folder that's accessible from your PHP code.&lt;/li&gt;&lt;li&gt;Make note of this folder; you'll be using &lt;code&gt;require_once()&lt;/code&gt; to load &lt;code&gt;autoloader.php&lt;/code&gt; from that location.&lt;/li&gt;&lt;/ol&gt;&lt;p&gt;SimplePie has been designed to work the same regardless a feed's format. It supports &lt;a href=&quot;https://www.rssboard.org/rss-specification&quot;&gt;RSS 2.0&lt;/a&gt;, RSS 1.0, Atom and the earlier versions of RSS. Additionally it can read feed elements from &lt;a href=&quot;https://simplepie.org/wiki/faq/what_versions_of_rss_or_atom_do_you_support&quot;&gt;nine namespaces&lt;/a&gt;.&lt;/p&gt;&lt;p&gt;Here's PHP code that loads feed items from the news site &lt;a href=&quot;https://www.techdirt.com/&quot;&gt;Techdirt&lt;/a&gt; and displays them in HTML:&lt;/p&gt;&lt;p&gt;&lt;code&gt;// load the SimplePie library&lt;br /&gt;require_once('/var/www/libraries/simplepie-1.5/autoloader.php');&lt;br /&gt;&lt;br /&gt;// load the feed&lt;br /&gt;$feed = new SimplePie();&lt;br /&gt;$feed-&gt;set_feed_url('https://www.techdirt.com/feed/');&lt;br /&gt;$feed-&gt;init();&lt;br /&gt;$feed-&gt;handle_content_type();&lt;br /&gt;&lt;br /&gt;// create the output&lt;br /&gt;$html_output = '';&lt;br /&gt;foreach ($feed-&gt;get_items() as $item) {&lt;br /&gt;  $html_output .= '&amp;lt;p&gt;&amp;lt;a href=&quot;' . $item-&gt;get_link() . '&quot;&gt;' . $item-&gt;get_title() . '&amp;lt;/a&gt;&amp;lt;/p&gt;';&lt;br /&gt;  $html_output .= $item-&gt;get_description();&lt;br /&gt;  $html_output .= '&amp;lt;p&gt;By ' . $item-&gt;get_author(0)-&gt;get_name() . ', ' . $item-&gt;get_date();&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;// display the output&lt;br /&gt;ECHO &amp;lt;&amp;lt;&amp;lt;END&lt;br /&gt;$html_output&lt;br /&gt;END;&lt;br /&gt;&lt;/code&gt;&lt;/p&gt;&lt;p&gt;The API documentation for &lt;a href=&quot;http://simplepie.org/api/class-SimplePie_Item.html&quot;&gt;SimplePie_Item&lt;/a&gt; lists the functions that can extract data from each feed item. The versatility of the library is demonstrated by &lt;a href=&quot;http://simplepie.org/api/class-SimplePie_Item.html#_get_authors&quot;&gt;get_authors()&lt;/a&gt;, which can retrieve an item's authorship information whether it was in the RSS author element, Dublin Core creator, iTunes author, or Atom author.&lt;/p&gt;&lt;p&gt;SimplePie supports caching so that a feed isn't downloaded every time code is executed. The addition of these lines turns on caching, specifies the location of a cache folder and sets the time to use a cached version to four hours (14,400 seconds):&lt;/p&gt;&lt;p&gt;&lt;code&gt;$feed-&gt;set_cache_location('/var/www/cache/');&lt;br /&gt;$feed-&gt;set_cache_duration(14400);&lt;br /&gt;$feed-&gt;enable_cache();&lt;/code&gt;&lt;/p&gt;&lt;p&gt;SimplePie was created by RSS Advisory Board member Ryan Parman, Geoffrey Sneddon and Ryan McCue. The project is currently maintained on &lt;a href=&quot;https://github.com/simplepie/simplepie&quot;&gt;GitHub&lt;/a&gt; by Malcom Blaney.&lt;/p&gt;</description>
  125.      <pubDate>Mon, 26 Jun 2023 15:08:40 -0400</pubDate>
  126.      <dc:creator>Rogers Cadenhead</dc:creator>
  127.      <comments>https://www.rssboard.org/news/212/read-rss-feed-php-using#discuss</comments>
  128.      <guid isPermaLink="false">tag:rssboard.org,2006:weblog.212</guid>
  129.      <category>announcements,</category>
  130.      <sitemap:priority>0.5</sitemap:priority>
  131.      <sitemap:changefreq>daily</sitemap:changefreq>
  132.      <wordzilla:id>212</wordzilla:id>
  133.    </item>
  134.    <item>
  135.      <title>Every Mastodon User Has an RSS Feed</title>
  136.      <link>https://www.rssboard.org/news/211/every-mastodon-user-has-rss-feed</link>
  137.      <description>&lt;figure class=&quot;text-center&quot;&gt;&lt;img src=&quot;https://www.rssboard.org/images/mastodon-mascot.png&quot; alt=&quot;A cartoon of a Mastodon holding a smart phone and winking&quot; class=&quot;img-fluid&quot; width=&quot;300&quot; /&gt;&lt;/figure&gt;&lt;p&gt;The distributed social network Mastodon has grown to &lt;a href=&quot;https://mastodon.social/@mastodonusercount&quot;&gt;12.8 million user accounts&lt;/a&gt;, supporting itself through user donations and a lot of effort by the volunteers running servers. There's no CEO changing the network at whim, no ads and no algorithms that manipulate what you see to increase engagement. Just a scroll of posts by the people you follow pulled from all over the world.&lt;/p&gt;&lt;p&gt;Every Mastodon account has an RSS feed that can be found by going to the user's Mastodon page and adding &quot;.rss&quot; to the URL of that page. For example, the RSS feed for &lt;a href=&quot;https://mastodon.online/@bonaventuresoft&quot;&gt;Bonaventure Software&lt;/a&gt; is at this address:&lt;/p&gt;&lt;p&gt;&lt;a href=&quot;https://mastodon.online/@bonaventuresoft.rss&quot;&gt;https://mastodon.online/@bonaventuresoft.rss&lt;/a&gt;&lt;/p&gt;&lt;p&gt;The feeds are &lt;a href=&quot;https://www.rssboard.org/rss-specification&quot;&gt;valid RSS&lt;/a&gt; and use the Media-RSS and Webfeeds namespaces.&lt;/p&gt;&lt;p&gt;The &lt;a href=&quot;https://www.rssboard.org/media-rss#media-content&quot;&gt;Media-RSS content element&lt;/a&gt; contains the photo, audio or video included in the Mastodon post, if one is present:&lt;/p&gt;&lt;code&gt;&amp;lt;media:content url=&quot;https://files.mastodon.online/media_attachments/files/109/326/769/636/254/303/original/552ebb9fd3f30171.png&quot; type=&quot;image/png&quot; fileSize=&quot;49052&quot; medium=&quot;image&quot;&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;lt;media:rating scheme=&quot;urn:simple&quot;&gt;nonadult&amp;lt;/media:rating&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;lt;media:description type=&quot;plain&quot;&gt;Eli Lilly &amp;amp; Co stock performance graph over the last month, showing lower valuations than the one caused by the bogus announcement of free insulin.&amp;lt;/media:description&gt;&lt;br /&gt;&amp;lt;/media:content&gt;&lt;/code&gt;&lt;/p&gt;&lt;p&gt;The Webfeeds icon element holds the URL of the user's avatar:&lt;/p&gt;&lt;code&gt;&amp;lt;webfeeds:icon&gt;https://files.mastodon.online/accounts/avatars/109/298/336/948/075/673/original/e76dfce4df4bef76.gif&amp;lt;/webfeeds:icon&gt;&lt;/code&gt;&lt;/p&gt;&lt;p&gt;One potential improvement to the feed would be to &lt;a href=&quot;https://www.rssboard.org/rss-profile#namespace-elements-atom&quot;&gt;add a link element&lt;/a&gt; from the Atom namespace to identify the URL of the RSS feed, as in this example:&lt;/p&gt;&lt;code&gt;&amp;lt;atom:link href=&quot;https://mastodon.online/@bonaventuresoft.rss&quot; rel=&quot;self&quot; type=&quot;application/rss+xml&quot; /&gt;&lt;/code&gt;&lt;p&gt;That might not happen anytime soon. Mastodon is a frenetic open source project with &lt;a href=&quot;https://github.com/mastodon/mastodon/issues?q=is%3Aissue+is%3Aopen+rss&quot;&gt;61 open issues and suggestions&lt;/a&gt; involving RSS.&lt;/p&gt;</description>
  138.      <pubDate>Sat, 24 Jun 2023 08:34:48 -0400</pubDate>
  139.      <dc:creator>Rogers Cadenhead</dc:creator>
  140.      <comments>https://www.rssboard.org/news/211/every-mastodon-user-has-rss-feed#discuss</comments>
  141.      <guid isPermaLink="false">tag:rssboard.org,2006:weblog.211</guid>
  142.      <category>announcements,</category>
  143.      <sitemap:priority>0.5</sitemap:priority>
  144.      <sitemap:changefreq>daily</sitemap:changefreq>
  145.      <wordzilla:id>211</wordzilla:id>
  146.    </item>
  147.    <item>
  148.      <title>RSS Enclosure Support in WordPress</title>
  149.      <link>https://www.rssboard.org/news/210/rss-enclosure-support-wordpress</link>
  150.      <description>&lt;p&gt;One of the biggest challenges for a software developer implementing the &lt;a href=&quot;https://www.rssboard.org/rss-specification&quot;&gt;RSS 2.0 specification&lt;/a&gt; is the issue of enclosures in a feed item. The specification is infamously unclear on whether an item allows one enclosure or multiple enclosures.&lt;/p&gt;&lt;p&gt;The RSS Advisory Board worked on the &lt;a href=&quot;https://www.rssboard.org/rss-profile#element-channel-item-enclosure&quot;&gt;RSS Best Practices Profile&lt;/a&gt; for nearly two years, investigating a lot of RSS readers and feed producers to see how they handled issues like this. We ultimately made the following recommendation for &lt;a href=&quot;https://www.rssboard.org/rss-profile#element-channel-item-enclosure&quot;&gt;enclosure&lt;/a&gt;:&lt;/p&gt;&lt;blockquote&gt;&lt;p&gt;Support for the enclosure element in RSS software varies significantly because of disagreement over whether the specification permits more than one enclosure per item. Although the author intended to permit no more than one enclosure in each item, this limit is not explicit in the specification.&lt;/p&gt;&lt;p&gt;Blogware, Movable Type and WordPress enable publishers to include multiple enclosures in each item of their RSS documents. This works successfully in some aggregators, including BottomFeeder, FeederReader, NewsGator and Safari.&lt;/p&gt;&lt;p&gt;Other software does not support multiple enclosures, including Bloglines, FeedDemon, Google Reader and Microsoft Internet Explorer 7. The first enclosure is downloaded automatically, an aspect of enclosure support relied on in podcasting, and the additional enclosures are either ignored or must be requested manually.&lt;/p&gt;&lt;p&gt;For best support in the widest number of aggregators, an item SHOULD NOT contain more than one enclosure.&lt;/p&gt;&lt;/blockquote&gt;&lt;p&gt;Because the profile was completed in 2007, it would be useful to see how current software handles RSS enclosures to evaluate whether any recommendations should be reconsidered. To start this effort the current WordPress was tested, since that massively successful platform publishes 60 million RSS feeds. WordPress enables audio files to be added to a blog post using the Audio icon in the block editor:&lt;/p&gt;&lt;figure class=&quot;text-center&quot;&gt;&lt;img src=&quot;https://www.rssboard.org/images/add-enclosure-to-wordpress-blog-post.png&quot; alt=&quot;Screen capture of the dialog used to add an Audio block to a blog post in WordPress&quot; class=&quot;img-fluid img-thumbnail&quot; width=&quot;391&quot; /&gt;&lt;/figure&gt;&lt;p&gt;When three audio files were added to a blog post in WordPress, the item in the RSS feed contained three enclosure elements:&lt;/p&gt;&lt;code&gt;&amp;lt;enclosure url=&quot;http://example.com/Fanfare60.wav&quot; length=&quot;2646044&quot; type=&quot;audio/wav&quot; /&gt;&lt;br /&gt;&amp;lt;enclosure url=&quot;http://example.com/CantinaBand60.wav&quot; length=&quot;2646044&quot; type=&quot;audio/wav&quot; /&gt;&lt;br /&gt;&amp;lt;enclosure url=&quot;http://example.com/ImperialMarch60.wav&quot; length=&quot;2646044&quot; type=&quot;audio/wav&quot; /&gt;&lt;/code&gt;&lt;/p&gt;&lt;p&gt;Follow this blog for more updates on enclosure usage in feeds and feed readers.&lt;/p&gt;&lt;p&gt;As you probably guessed, we have an &lt;a href=&quot;http://feeds.rssboard.org/rssboard&quot;&gt;RSS feed&lt;/a&gt;.&lt;/p&gt;</description>
  151.      <pubDate>Thu, 22 Jun 2023 21:44:06 -0400</pubDate>
  152.      <dc:creator>Rogers Cadenhead</dc:creator>
  153.      <comments>https://www.rssboard.org/news/210/rss-enclosure-support-wordpress#discuss</comments>
  154.      <guid isPermaLink="false">tag:rssboard.org,2006:weblog.210</guid>
  155.      <category>announcements,</category>
  156.      <sitemap:priority>0.5</sitemap:priority>
  157.      <sitemap:changefreq>daily</sitemap:changefreq>
  158.      <wordzilla:id>210</wordzilla:id>
  159.    </item>
  160.    <item>
  161.      <title>Where to Find the RSS Specification</title>
  162.      <link>https://www.rssboard.org/news/209/find-rss-specification</link>
  163.      <description>&lt;p&gt;The RSS Advisory Board has published the &lt;a href=&quot;https://www.rssboard.org/rss-specification&quot;&gt;RSS 2.0 Specification&lt;/a&gt; for 20 years, releasing 10 revisions over that time. The current version of the specification can always be found at this URL:&lt;/p&gt;&lt;p&gt;&lt;a href=&quot;https://www.rssboard.org/rss-specification&quot;&gt;https://www.rssboard.org/rss-specification&lt;/a&gt;&lt;/p&gt;&lt;p&gt;The revisions have mostly been minor, aside from one clarification that namespaces can be used to extend RSS by adding elements and attributes, not just elements.&lt;/p&gt;&lt;p&gt;The best way to learn how to implement RSS as a software developer is to read the &lt;a href=&quot;https://www.rssboard.org/rss-profile&quot;&gt;RSS Best Practices Profile&lt;/a&gt; created by the board. It includes all the rules of the specification along with our recommendations for how to handle issues that have arisen among implementers.&lt;/p&gt;&lt;p&gt;For example, the &lt;a href=&quot;https://www.rssboard.org/rss-profile#element-channel-item-enclosure&quot;&gt;enclosure section&lt;/a&gt; describes how to deal with the biggest ambiguity in RSS: Can an item contain more than one enclosure?&lt;/p&gt;&lt;p&gt;The RSS specification is available under a Creative Commons &lt;a href=&quot;http://creativecommons.org/licenses/by-sa/2.0/&quot;&gt;Attribution/Share Alike&lt;/a&gt; license, so it can be republished on websites and software related to RSS and syndication under those terms.&lt;/p&gt;</description>
  164.      <pubDate>Sun, 18 Jun 2023 14:11:52 -0400</pubDate>
  165.      <dc:creator>Rogers Cadenhead</dc:creator>
  166.      <comments>https://www.rssboard.org/news/209/find-rss-specification#discuss</comments>
  167.      <guid isPermaLink="false">tag:rssboard.org,2006:weblog.209</guid>
  168.      <category>announcements,</category>
  169.      <sitemap:priority>0.5</sitemap:priority>
  170.      <sitemap:changefreq>daily</sitemap:changefreq>
  171.      <wordzilla:id>209</wordzilla:id>
  172.    </item>
  173.    <item>
  174.      <title>Should Feed Readers Count Unread Items?</title>
  175.      <link>https://www.rssboard.org/news/208/should-feed-readers-count-unread-items</link>
  176.      <description>&lt;p align=&quot;center&quot;&gt;&lt;img src=&quot;https://www.rssboard.org/images/feedly-mark-all-read-dialog.png&quot; width=&quot;450&quot; height=&quot;191&quot; alt=&quot;Feedly dialog to confirm marking all feed items as read&quot; border=&quot;0&quot; class=&quot;img-fluid img-thumbnail&quot; /&gt;&lt;/p&gt;&lt;p&gt;Brent Simmons, the developer of the NetNewsWire RSS reader, is &lt;a href=&quot;http://inessential.com/2014/03/31/mark_all_as_read&quot;&gt;questioning his decision&lt;/a&gt; to put an unread count next to each feed, reasoning that it encourages people to be too obsessive about reading every item:&lt;/p&gt;&lt;blockquote&gt;&lt;p&gt;Instead of a dozen bookmarks, people had a hundred feeds. Or two hundred. Or two thousand.&lt;/p&gt;&lt;p&gt;And there was a tyranny behind keeping track of unread items and showing an unread count. People reacted in different ways, but many people felt like they always had to go through everything.&lt;/p&gt;&lt;p&gt;Including me. To this day.&lt;/p&gt;&lt;p&gt;I did not know this was going to happen. That was not the idea: it was a side effect of reasonable (at the time) choices.&lt;/p&gt;&lt;/blockquote&gt;&lt;p&gt;I like seeing these counts on feeds where I need to read all items that are posted, but that's only a small percentage of the 100-120 feeds I follow. It would be nice to turn that off for others I read more casually.&lt;/p&gt;&lt;p&gt;Feedly presents unread counts on each feed and folder of feeds. There's a Mark As Read button to clear a count, but when you click it, the confirmation dialog acts like it's an extremely consequential decision: &quot;Are you sure you want to mark this entire source as read? This operation cannot be undone.&quot;&lt;/p&gt;&lt;p&gt;I've posed a question on the &lt;a href=&quot;https://groups.google.com/g/rss-public&quot;&gt;RSS-Public&lt;/a&gt; mailing list: Do you think feed readers should count unread items?&lt;/p&gt;</description>
  177.      <pubDate>Wed, 02 Apr 2014 11:12:53 -0400</pubDate>
  178.      <dc:creator>Rogers Cadenhead</dc:creator>
  179.      <comments>https://www.rssboard.org/news/208/should-feed-readers-count-unread-items#discuss</comments>
  180.      <guid isPermaLink="false">tag:rssboard.org,2006:weblog.208</guid>
  181.      <category>announcements,</category>
  182.      <sitemap:priority>0.5</sitemap:priority>
  183.      <sitemap:changefreq>daily</sitemap:changefreq>
  184.      <wordzilla:id>208</wordzilla:id>
  185.    </item>
  186.    <item>
  187.      <title>WordPress Uses RSS as Blog Export Format</title>
  188.      <link>https://www.rssboard.org/news/207/wordpress-uses-rss-blog-export-format</link>
  189.      <description>If you export your WordPress blog, it is delivered to you as an RSS feed that holds all of the blog's entries, pages and comments. WordPress makes use of five namespaces and calls the format WordPress eXtended RSS (WXR). I'm working on a Java application that &lt;a href=&quot;http://workbench.cadenhead.org/news/3734/converting-wordpress-blog-html-files&quot;&gt;converts a WXR file&lt;/a&gt; into a set of static HTML pages.</description>
  190.      <pubDate>Tue, 11 Mar 2014 16:18:14 -0400</pubDate>
  191.      <dc:creator>Rogers Cadenhead</dc:creator>
  192.      <comments>https://www.rssboard.org/news/207/wordpress-uses-rss-blog-export-format#discuss</comments>
  193.      <guid isPermaLink="false">tag:rssboard.org,2006:weblog.207</guid>
  194.      <category>rss news,</category>
  195.      <sitemap:priority>0.5</sitemap:priority>
  196.      <sitemap:changefreq>daily</sitemap:changefreq>
  197.      <wordzilla:id>207</wordzilla:id>
  198.    </item>
  199.    <item>
  200.      <title>Yahoo Groups Dropped RSS Feed Support</title>
  201.      <link>https://www.rssboard.org/news/206/yahoo-groups-dropped-rss-feed-support</link>
  202.      <description>&lt;p&gt;The RSS feeds of the RSS-Public and RSS-Board mailing lists are no longer available. Yahoo Groups used to offer feeds for each of its public lists, but Yahoo &lt;a href=&quot;https://yahoo.uservoice.com/forums/209451-us-groups/suggestions/4240849&quot;&gt;dropped support&lt;/a&gt; last year. A member of the service's product team said the feature was retired in July 2013.&lt;/p&gt;&lt;p&gt;To read the lists and subscribe to receive them in email, visit the Yahoo Groups pages for &lt;a href=&quot;https://groups.yahoo.com/neo/groups/rss-public/info&quot;&gt;RSS-Public&lt;/a&gt; and &lt;a href=&quot;https://groups.yahoo.com/neo/groups/rss-public/info&quot;&gt;RSS-Board&lt;/a&gt;.&lt;/p&gt;&lt;p&gt;We may move the lists to Google Groups, which does offer RSS feeds for each group.&lt;/p&gt;</description>
  203.      <pubDate>Thu, 06 Mar 2014 15:47:26 -0500</pubDate>
  204.      <dc:creator>Rogers Cadenhead</dc:creator>
  205.      <comments>https://www.rssboard.org/news/206/yahoo-groups-dropped-rss-feed-support#discuss</comments>
  206.      <guid isPermaLink="false">tag:rssboard.org,2006:weblog.206</guid>
  207.      <category>announcements,</category>
  208.      <sitemap:priority>0.5</sitemap:priority>
  209.      <sitemap:changefreq>daily</sitemap:changefreq>
  210.      <wordzilla:id>206</wordzilla:id>
  211.    </item>
  212.  </channel>
  213. </rss>
  214.  

If you would like to create a banner that links to this page (i.e. this validation result), do the following:

  1. Download the "valid RSS" banner.

  2. Upload the image to your own server. (This step is important. Please do not link directly to the image on this server.)

  3. Add this HTML to your page (change the image src attribute if necessary):

If you would like to create a text link instead, here is the URL you can use:

http://www.feedvalidator.org/check.cgi?url=http%3A//feeds.rssboard.org/rssboard

Copyright © 2002-9 Sam Ruby, Mark Pilgrim, Joseph Walton, and Phil Ringnalda