<?xml version="1.0" encoding="utf-8"?>
<feed xml:lang="en-us" xmlns="http://www.w3.org/2005/Atom"><title>Simon Willison's Weblog: universalfeedparser</title><link href="http://simonwillison.net/" rel="alternate"/><link href="http://simonwillison.net/tags/universalfeedparser.atom" rel="self"/><id>http://simonwillison.net/</id><updated>2008-08-05T22:52:05+00:00</updated><author><name>Simon Willison</name></author><entry><title>Quoting Mark Pilgrim</title><link href="https://simonwillison.net/2008/Aug/5/weapon/#atom-tag" rel="alternate"/><published>2008-08-05T22:52:05+00:00</published><updated>2008-08-05T22:52:05+00:00</updated><id>https://simonwillison.net/2008/Aug/5/weapon/#atom-tag</id><summary type="html">
    &lt;blockquote cite="http://diveintomark.org/archives/2008/08/05/placating"&gt;&lt;p&gt;My Universal Feed Parser was conceived as a weapon against what I considered the gravest error of XML: draconian error handling. Recently, someone asked me to implement a switch that makes it not fall back on lax parsing in the case of an XML wellformedness error. I said no, not because it would be difficult to implement, but because that defeats its entire reason for being.&lt;/p&gt;&lt;/blockquote&gt;
&lt;p class="cite"&gt;&amp;mdash; &lt;a href="http://diveintomark.org/archives/2008/08/05/placating"&gt;Mark Pilgrim&lt;/a&gt;&lt;/p&gt;

    &lt;p&gt;Tags: &lt;a href="https://simonwillison.net/tags/draconian"&gt;draconian&lt;/a&gt;, &lt;a href="https://simonwillison.net/tags/feeds"&gt;feeds&lt;/a&gt;, &lt;a href="https://simonwillison.net/tags/mark-pilgrim"&gt;mark-pilgrim&lt;/a&gt;, &lt;a href="https://simonwillison.net/tags/python"&gt;python&lt;/a&gt;, &lt;a href="https://simonwillison.net/tags/universalfeedparser"&gt;universalfeedparser&lt;/a&gt;, &lt;a href="https://simonwillison.net/tags/wellformedness"&gt;wellformedness&lt;/a&gt;, &lt;a href="https://simonwillison.net/tags/xml"&gt;xml&lt;/a&gt;&lt;/p&gt;



</summary><category term="draconian"/><category term="feeds"/><category term="mark-pilgrim"/><category term="python"/><category term="universalfeedparser"/><category term="wellformedness"/><category term="xml"/></entry><entry><title>Updates to template_utils</title><link href="https://simonwillison.net/2007/Dec/10/blist/#atom-tag" rel="alternate"/><published>2007-12-10T15:25:51+00:00</published><updated>2007-12-10T15:25:51+00:00</updated><id>https://simonwillison.net/2007/Dec/10/blist/#atom-tag</id><summary type="html">
    
&lt;p&gt;&lt;strong&gt;&lt;a href="http://www.b-list.org/weblog/2007/dec/09/updates/"&gt;Updates to template_utils&lt;/a&gt;&lt;/strong&gt;&lt;/p&gt;
James Bennett’s Django template_utils library now provides tags for consuming external RSS and Atom feeds. Combine with template fragment caching for an instant mashup written just using templates.


    &lt;p&gt;Tags: &lt;a href="https://simonwillison.net/tags/atom"&gt;atom&lt;/a&gt;, &lt;a href="https://simonwillison.net/tags/django"&gt;django&lt;/a&gt;, &lt;a href="https://simonwillison.net/tags/feeds"&gt;feeds&lt;/a&gt;, &lt;a href="https://simonwillison.net/tags/james-bennett"&gt;james-bennett&lt;/a&gt;, &lt;a href="https://simonwillison.net/tags/python"&gt;python&lt;/a&gt;, &lt;a href="https://simonwillison.net/tags/rss"&gt;rss&lt;/a&gt;, &lt;a href="https://simonwillison.net/tags/templateutils"&gt;templateutils&lt;/a&gt;, &lt;a href="https://simonwillison.net/tags/universalfeedparser"&gt;universalfeedparser&lt;/a&gt;&lt;/p&gt;



</summary><category term="atom"/><category term="django"/><category term="feeds"/><category term="james-bennett"/><category term="python"/><category term="rss"/><category term="templateutils"/><category term="universalfeedparser"/></entry></feed>