Author: pilgrim
Date: Wed Mar 5 20:53:21 2008
New Revision: 278
Added:
trunk/www/docs/changes-42.html
Modified:
trunk/feedparser/docs/xml/feedparser.xml
trunk/feedparser/feedparsertest.py
trunk/www/docs/advanced.html
trunk/www/docs/annotated-atom03.html
trunk/www/docs/annotated-atom10.html
trunk/www/docs/annotated-examples.html
trunk/www/docs/annotated-rss10.html
trunk/www/docs/annotated-rss20-dc.html
trunk/www/docs/annotated-rss20.html
trunk/www/docs/atom-detail.html
trunk/www/docs/basic-existence.html
trunk/www/docs/basic.html
trunk/www/docs/bozo.html
trunk/www/docs/changes-40.html
trunk/www/docs/changes-41.html
trunk/www/docs/character-encoding.html
trunk/www/docs/common-atom-elements.html
trunk/www/docs/common-rss-elements.html
trunk/www/docs/content-normalization.html
trunk/www/docs/date-parsing.html
trunk/www/docs/history.html
trunk/www/docs/html-sanitization.html
trunk/www/docs/http-authentication.html
trunk/www/docs/http-etag.html
trunk/www/docs/http-other.html
trunk/www/docs/http-redirect.html
trunk/www/docs/http-useragent.html
trunk/www/docs/http.html
trunk/www/docs/index.html
trunk/www/docs/introduction.html
trunk/www/docs/license.html
trunk/www/docs/microformats.html
trunk/www/docs/namespace-handling.html
trunk/www/docs/reference-bozo.html
trunk/www/docs/reference-bozo_exception.html
trunk/www/docs/reference-encoding.html
trunk/www/docs/reference-entry-author.html
trunk/www/docs/reference-entry-author_detail.html
trunk/www/docs/reference-entry-comments.html
trunk/www/docs/reference-entry-content.html
trunk/www/docs/reference-entry-contributors.html
trunk/www/docs/reference-entry-created.html
trunk/www/docs/reference-entry-created_parsed.html
trunk/www/docs/reference-entry-enclosures.html
trunk/www/docs/reference-entry-expired.html
trunk/www/docs/reference-entry-expired_parsed.html
trunk/www/docs/reference-entry-id.html
trunk/www/docs/reference-entry-license.html
trunk/www/docs/reference-entry-link.html
trunk/www/docs/reference-entry-links.html
trunk/www/docs/reference-entry-published.html
trunk/www/docs/reference-entry-published_parsed.html
trunk/www/docs/reference-entry-publisher.html
trunk/www/docs/reference-entry-publisher_detail.html
trunk/www/docs/reference-entry-source.html
trunk/www/docs/reference-entry-summary.html
trunk/www/docs/reference-entry-summary_detail.html
trunk/www/docs/reference-entry-tags.html
trunk/www/docs/reference-entry-title.html
trunk/www/docs/reference-entry-title_detail.html
trunk/www/docs/reference-entry-updated.html
trunk/www/docs/reference-entry-updated_parsed.html
trunk/www/docs/reference-entry.html
trunk/www/docs/reference-etag.html
trunk/www/docs/reference-feed-author.html
trunk/www/docs/reference-feed-author_detail.html
trunk/www/docs/reference-feed-cloud.html
trunk/www/docs/reference-feed-contributors.html
trunk/www/docs/reference-feed-docs.html
trunk/www/docs/reference-feed-errorreportsto.html
trunk/www/docs/reference-feed-generator.html
trunk/www/docs/reference-feed-generator_detail.html
trunk/www/docs/reference-feed-icon.html
trunk/www/docs/reference-feed-id.html
trunk/www/docs/reference-feed-image.html
trunk/www/docs/reference-feed-info-detail.html
trunk/www/docs/reference-feed-info.html
trunk/www/docs/reference-feed-language.html
trunk/www/docs/reference-feed-license.html
trunk/www/docs/reference-feed-link.html
trunk/www/docs/reference-feed-links.html
trunk/www/docs/reference-feed-logo.html
trunk/www/docs/reference-feed-publisher.html
trunk/www/docs/reference-feed-publisher_detail.html
trunk/www/docs/reference-feed-rights.html
trunk/www/docs/reference-feed-rights_detail.html
trunk/www/docs/reference-feed-subtitle.html
trunk/www/docs/reference-feed-subtitle_detail.html
trunk/www/docs/reference-feed-tags.html
trunk/www/docs/reference-feed-textinput.html
trunk/www/docs/reference-feed-title.html
trunk/www/docs/reference-feed-title_detail.html
trunk/www/docs/reference-feed-ttl.html
trunk/www/docs/reference-feed-updated.html
trunk/www/docs/reference-feed-updated_parsed.html
trunk/www/docs/reference-feed.html
trunk/www/docs/reference-headers.html
trunk/www/docs/reference-href.html
trunk/www/docs/reference-modified.html
trunk/www/docs/reference-namespaces.html
trunk/www/docs/reference-status.html
trunk/www/docs/reference-version.html
trunk/www/docs/reference.html
trunk/www/docs/resolving-relative-links.html
trunk/www/docs/uncommon-atom.html
trunk/www/docs/uncommon-rss.html
trunk/www/docs/version-detection.html
Log:
document new sanitization rules introduced since 4.1
Modified: trunk/feedparser/docs/xml/feedparser.xml
==============================================================================
--- trunk/feedparser/docs/xml/feedparser.xml (original)
+++ trunk/feedparser/docs/xml/feedparser.xml Wed Mar 5 20:53:21 2008
@@ -18,11 +18,14 @@
<!ENTITY continuationprompt "<prompt>... </prompt>">
<!ENTITY xml "<acronym condition='Extensible Markup Language'>XML</acronym>">
<!ENTITY html "<acronym condition='HyperText Markup Language'>HTML</acronym>">
+<!ENTITY html5 "&html; 5">
<!ENTITY xhtml "<acronym condition='Extensible HyperText Markup Language'>XHTML</acronym>">
<!ENTITY http "<acronym condition='Hypertext Transfer Protocol'>HTTP</acronym>">
<!ENTITY https "<acronym>HTTPS</acronym>">
<!ENTITY mime "<acronym>MIME</acronym>">
<!ENTITY css "<acronym condition='Cascading Style Sheets'>CSS</acronym>">
+<!ENTITY svg "<acronym condition='Scalable Vector Graphics'>SVG</acronym>">
+<!ENTITY mathml "<acronym condition='Mathematical Markup Language'>MathML</acronym>">
<!ENTITY rfc "<acronym condition='Request For Comments'>RFC</acronym>">
<!ENTITY rfc822 "&rfc; 822">
<!ENTITY rfc3339 "&rfc; 3339">
@@ -954,10 +957,10 @@
<section id="advanced.sanitization">
<?dbhtml filename="html-sanitization.html"?>
-<title>&html; Sanitization</title>
+<title>Sanitization</title>
<abstract>
<title/>
-<para>Many feed elements may contain &html; markup, and many feed aggregators use a web browser (or browser component) to display content. By default, &feedparser; sanitizes &html; markup in several elements, removing &html; tags and attributes that could introduce &javascript; or other security risks.</para>
+<para>Most feeds embed &html; markup within feed elements. Some feeds even embed other types of markup, such as &svg; or &mathml;. Since many feed aggregators use a web browser (or browser component) to display content, &feedparser; sanitizes embedded markup to remove things that could pose security risks.</para>
</abstract>
<para>These elements are sanitized by default:</para>
<itemizedlist>
@@ -970,35 +973,50 @@
<listitem><para><xref linkend="reference.entry.content"/></para></listitem>
</itemizedlist>
-<para>The following &html; tags are allowed by default (all others are stripped):
+<section id="advanced.sanitization.html">
+<title>&html; Sanitization</title>
+<para>The following &html; elements are allowed by default (all others are stripped):
<simplelist type="inline">
<member><sgmltag class="element">a</sgmltag></member>
<member><sgmltag class="element">abbr</sgmltag></member>
<member><sgmltag class="element">acronym</sgmltag></member>
<member><sgmltag class="element">address</sgmltag></member>
<member><sgmltag class="element">area</sgmltag></member>
+<member><sgmltag class="element">article</sgmltag></member>
+<member><sgmltag class="element">aside</sgmltag></member>
+<member><sgmltag class="element">audio</sgmltag></member>
<member><sgmltag class="element">b</sgmltag></member>
<member><sgmltag class="element">big</sgmltag></member>
<member><sgmltag class="element">blockquote</sgmltag></member>
<member><sgmltag class="element">br</sgmltag></member>
<member><sgmltag class="element">button</sgmltag></member>
+<member><sgmltag class="element">canvas</sgmltag></member>
<member><sgmltag class="element">caption</sgmltag></member>
<member><sgmltag class="element">center</sgmltag></member>
<member><sgmltag class="element">cite</sgmltag></member>
<member><sgmltag class="element">code</sgmltag></member>
<member><sgmltag class="element">col</sgmltag></member>
<member><sgmltag class="element">colgroup</sgmltag></member>
+<member><sgmltag class="element">command</sgmltag></member>
+<member><sgmltag class="element">datagrid</sgmltag></member>
+<member><sgmltag class="element">datalist</sgmltag></member>
<member><sgmltag class="element">dd</sgmltag></member>
<member><sgmltag class="element">del</sgmltag></member>
+<member><sgmltag class="element">details</sgmltag></member>
<member><sgmltag class="element">dfn</sgmltag></member>
+<member><sgmltag class="element">dialog</sgmltag></member>
<member><sgmltag class="element">dir</sgmltag></member>
<member><sgmltag class="element">div</sgmltag></member>
<member><sgmltag class="element">dl</sgmltag></member>
<member><sgmltag class="element">dt</sgmltag></member>
<member><sgmltag class="element">em</sgmltag></member>
+<member><sgmltag class="element">event-source</sgmltag></member>
<member><sgmltag class="element">fieldset</sgmltag></member>
+<member><sgmltag class="element">figure</sgmltag></member>
+<member><sgmltag class="element">footer</sgmltag></member>
<member><sgmltag class="element">font</sgmltag></member>
<member><sgmltag class="element">form</sgmltag></member>
+<member><sgmltag class="element">header</sgmltag></member>
<member><sgmltag class="element">h1</sgmltag></member>
<member><sgmltag class="element">h2</sgmltag></member>
<member><sgmltag class="element">h3</sgmltag></member>
@@ -1010,22 +1028,35 @@
<member><sgmltag class="element">img</sgmltag></member>
<member><sgmltag class="element">input</sgmltag></member>
<member><sgmltag class="element">ins</sgmltag></member>
+<member><sgmltag class="element">keygen</sgmltag></member>
<member><sgmltag class="element">kbd</sgmltag></member>
<member><sgmltag class="element">label</sgmltag></member>
<member><sgmltag class="element">legend</sgmltag></member>
<member><sgmltag class="element">li</sgmltag></member>
+<member><sgmltag class="element">m</sgmltag></member>
<member><sgmltag class="element">map</sgmltag></member>
<member><sgmltag class="element">menu</sgmltag></member>
+<member><sgmltag class="element">meter</sgmltag></member>
+<member><sgmltag class="element">multicol</sgmltag></member>
+<member><sgmltag class="element">nav</sgmltag></member>
+<member><sgmltag class="element">nextid</sgmltag></member>
+<member><sgmltag class="element">noscript</sgmltag></member>
<member><sgmltag class="element">ol</sgmltag></member>
+<member><sgmltag class="element">output</sgmltag></member>
<member><sgmltag class="element">optgroup</sgmltag></member>
<member><sgmltag class="element">option</sgmltag></member>
<member><sgmltag class="element">p</sgmltag></member>
<member><sgmltag class="element">pre</sgmltag></member>
+<member><sgmltag class="element">progress</sgmltag></member>
<member><sgmltag class="element">q</sgmltag></member>
<member><sgmltag class="element">s</sgmltag></member>
<member><sgmltag class="element">samp</sgmltag></member>
+<member><sgmltag class="element">section</sgmltag></member>
<member><sgmltag class="element">select</sgmltag></member>
<member><sgmltag class="element">small</sgmltag></member>
+<member><sgmltag class="element">sound</sgmltag></member>
+<member><sgmltag class="element">source</sgmltag></member>
+<member><sgmltag class="element">spacer</sgmltag></member>
<member><sgmltag class="element">span</sgmltag></member>
<member><sgmltag class="element">strike</sgmltag></member>
<member><sgmltag class="element">strong</sgmltag></member>
@@ -1035,6 +1066,7 @@
<member><sgmltag class="element">tbody</sgmltag></member>
<member><sgmltag class="element">td</sgmltag></member>
<member><sgmltag class="element">textarea</sgmltag></member>
+<member><sgmltag class="element">time</sgmltag></member>
<member><sgmltag class="element">tfoot</sgmltag></member>
<member><sgmltag class="element">th</sgmltag></member>
<member><sgmltag class="element">thead</sgmltag></member>
@@ -1043,6 +1075,7 @@
<member><sgmltag class="element">u</sgmltag></member>
<member><sgmltag class="element">ul</sgmltag></member>
<member><sgmltag class="element">var</sgmltag></member>
+<member><sgmltag class="element">video</sgmltag></member>
</simplelist>
</para>
@@ -1055,50 +1088,106 @@
<member><sgmltag class="attribute">action</sgmltag></member>
<member><sgmltag class="attribute">align</sgmltag></member>
<member><sgmltag class="attribute">alt</sgmltag></member>
+<member><sgmltag class="attribute">autoplay</sgmltag></member>
+<member><sgmltag class="attribute">autocomplete</sgmltag></member>
+<member><sgmltag class="attribute">autofocus</sgmltag></member>
<member><sgmltag class="attribute">axis</sgmltag></member>
+<member><sgmltag class="attribute">background</sgmltag></member>
+<member><sgmltag class="attribute">balance</sgmltag></member>
+<member><sgmltag class="attribute">bgcolor</sgmltag></member>
+<member><sgmltag class="attribute">bgproperties</sgmltag></member>
<member><sgmltag class="attribute">border</sgmltag></member>
+<member><sgmltag class="attribute">bordercolor</sgmltag></member>
+<member><sgmltag class="attribute">bordercolordark</sgmltag></member>
+<member><sgmltag class="attribute">bordercolorlight</sgmltag></member>
+<member><sgmltag class="attribute">bottompadding</sgmltag></member>
<member><sgmltag class="attribute">cellpadding</sgmltag></member>
<member><sgmltag class="attribute">cellspacing</sgmltag></member>
+<member><sgmltag class="attribute">ch</sgmltag></member>
+<member><sgmltag class="attribute">challenge</sgmltag></member>
<member><sgmltag class="attribute">char</sgmltag></member>
<member><sgmltag class="attribute">charoff</sgmltag></member>
+<member><sgmltag class="attribute">choff</sgmltag></member>
<member><sgmltag class="attribute">charset</sgmltag></member>
<member><sgmltag class="attribute">checked</sgmltag></member>
<member><sgmltag class="attribute">cite</sgmltag></member>
<member><sgmltag class="attribute">class</sgmltag></member>
<member><sgmltag class="attribute">clear</sgmltag></member>
+<member><sgmltag class="attribute">color</sgmltag></member>
<member><sgmltag class="attribute">cols</sgmltag></member>
<member><sgmltag class="attribute">colspan</sgmltag></member>
-<member><sgmltag class="attribute">color</sgmltag></member>
<member><sgmltag class="attribute">compact</sgmltag></member>
+<member><sgmltag class="attribute">contenteditable</sgmltag></member>
<member><sgmltag class="attribute">coords</sgmltag></member>
+<member><sgmltag class="attribute">data</sgmltag></member>
+<member><sgmltag class="attribute">datafld</sgmltag></member>
+<member><sgmltag class="attribute">datapagesize</sgmltag></member>
+<member><sgmltag class="attribute">datasrc</sgmltag></member>
<member><sgmltag class="attribute">datetime</sgmltag></member>
+<member><sgmltag class="attribute">default</sgmltag></member>
+<member><sgmltag class="attribute">delay</sgmltag></member>
<member><sgmltag class="attribute">dir</sgmltag></member>
<member><sgmltag class="attribute">disabled</sgmltag></member>
+<member><sgmltag class="attribute">draggable</sgmltag></member>
+<member><sgmltag class="attribute">dynsrc</sgmltag></member>
<member><sgmltag class="attribute">enctype</sgmltag></member>
+<member><sgmltag class="attribute">end</sgmltag></member>
+<member><sgmltag class="attribute">face</sgmltag></member>
<member><sgmltag class="attribute">for</sgmltag></member>
+<member><sgmltag class="attribute">form</sgmltag></member>
<member><sgmltag class="attribute">frame</sgmltag></member>
+<member><sgmltag class="attribute">galleryimg</sgmltag></member>
+<member><sgmltag class="attribute">gutter</sgmltag></member>
<member><sgmltag class="attribute">headers</sgmltag></member>
<member><sgmltag class="attribute">height</sgmltag></member>
+<member><sgmltag class="attribute">hidefocus</sgmltag></member>
+<member><sgmltag class="attribute">hidden</sgmltag></member>
+<member><sgmltag class="attribute">high</sgmltag></member>
<member><sgmltag class="attribute">href</sgmltag></member>
<member><sgmltag class="attribute">hreflang</sgmltag></member>
<member><sgmltag class="attribute">hspace</sgmltag></member>
+<member><sgmltag class="attribute">icon</sgmltag></member>
<member><sgmltag class="attribute">id</sgmltag></member>
+<member><sgmltag class="attribute">inputmode</sgmltag></member>
<member><sgmltag class="attribute">ismap</sgmltag></member>
+<member><sgmltag class="attribute">keytype</sgmltag></member>
<member><sgmltag class="attribute">label</sgmltag></member>
+<member><sgmltag class="attribute">leftspacing</sgmltag></member>
<member><sgmltag class="attribute">lang</sgmltag></member>
+<member><sgmltag class="attribute">list</sgmltag></member>
<member><sgmltag class="attribute">longdesc</sgmltag></member>
+<member><sgmltag class="attribute">loop</sgmltag></member>
+<member><sgmltag class="attribute">loopcount</sgmltag></member>
+<member><sgmltag class="attribute">loopend</sgmltag></member>
+<member><sgmltag class="attribute">loopstart</sgmltag></member>
+<member><sgmltag class="attribute">low</sgmltag></member>
+<member><sgmltag class="attribute">lowsrc</sgmltag></member>
+<member><sgmltag class="attribute">max</sgmltag></member>
<member><sgmltag class="attribute">maxlength</sgmltag></member>
<member><sgmltag class="attribute">media</sgmltag></member>
<member><sgmltag class="attribute">method</sgmltag></member>
+<member><sgmltag class="attribute">min</sgmltag></member>
<member><sgmltag class="attribute">multiple</sgmltag></member>
<member><sgmltag class="attribute">name</sgmltag></member>
<member><sgmltag class="attribute">nohref</sgmltag></member>
<member><sgmltag class="attribute">noshade</sgmltag></member>
<member><sgmltag class="attribute">nowrap</sgmltag></member>
+<member><sgmltag class="attribute">open</sgmltag></member>
+<member><sgmltag class="attribute">optimum</sgmltag></member>
+<member><sgmltag class="attribute">pattern</sgmltag></member>
+<member><sgmltag class="attribute">ping</sgmltag></member>
+<member><sgmltag class="attribute">point-size</sgmltag></member>
<member><sgmltag class="attribute">prompt</sgmltag></member>
+<member><sgmltag class="attribute">pqg</sgmltag></member>
+<member><sgmltag class="attribute">radiogroup</sgmltag></member>
<member><sgmltag class="attribute">readonly</sgmltag></member>
<member><sgmltag class="attribute">rel</sgmltag></member>
+<member><sgmltag class="attribute">repeat-max</sgmltag></member>
+<member><sgmltag class="attribute">repeat-min</sgmltag></member>
+<member><sgmltag class="attribute">replace</sgmltag></member>
+<member><sgmltag class="attribute">required</sgmltag></member>
<member><sgmltag class="attribute">rev</sgmltag></member>
+<member><sgmltag class="attribute">rightspacing</sgmltag></member>
<member><sgmltag class="attribute">rows</sgmltag></member>
<member><sgmltag class="attribute">rowspan</sgmltag></member>
<member><sgmltag class="attribute">rules</sgmltag></member>
@@ -1109,16 +1198,362 @@
<member><sgmltag class="attribute">span</sgmltag></member>
<member><sgmltag class="attribute">src</sgmltag></member>
<member><sgmltag class="attribute">start</sgmltag></member>
+<member><sgmltag class="attribute">step</sgmltag></member>
<member><sgmltag class="attribute">summary</sgmltag></member>
+<member><sgmltag class="attribute">suppress</sgmltag></member>
<member><sgmltag class="attribute">tabindex</sgmltag></member>
<member><sgmltag class="attribute">target</sgmltag></member>
+<member><sgmltag class="attribute">template</sgmltag></member>
<member><sgmltag class="attribute">title</sgmltag></member>
+<member><sgmltag class="attribute">toppadding</sgmltag></member>
<member><sgmltag class="attribute">type</sgmltag></member>
+<member><sgmltag class="attribute">unselectable</sgmltag></member>
<member><sgmltag class="attribute">usemap</sgmltag></member>
+<member><sgmltag class="attribute">urn</sgmltag></member>
<member><sgmltag class="attribute">valign</sgmltag></member>
<member><sgmltag class="attribute">value</sgmltag></member>
+<member><sgmltag class="attribute">variable</sgmltag></member>
+<member><sgmltag class="attribute">volume</sgmltag></member>
<member><sgmltag class="attribute">vspace</sgmltag></member>
+<member><sgmltag class="attribute">vrml</sgmltag></member>
+<member><sgmltag class="attribute">width</sgmltag></member>
+<member><sgmltag class="attribute">wrap</sgmltag></member>
+<member><sgmltag class="attribute">xml:lang</sgmltag></member>
+</simplelist>
+</para>
+</section>
+
+<section id="advanced.sanitization.svg">
+<title>&svg; Sanitization</title>
+<para>The following SVG elements are allowed by default (all others are stripped):
+<simplelist type="inline">
+<member><sgmltag class="element">a</sgmltag></member>
+<member><sgmltag class="element">animate</sgmltag></member>
+<member><sgmltag class="element">animateColor</sgmltag></member>
+<member><sgmltag class="element">animateMotion</sgmltag></member>
+<member><sgmltag class="element">animateTransform</sgmltag></member>
+<member><sgmltag class="element">circle</sgmltag></member>
+<member><sgmltag class="element">defs</sgmltag></member>
+<member><sgmltag class="element">desc</sgmltag></member>
+<member><sgmltag class="element">ellipse</sgmltag></member>
+<member><sgmltag class="element">foreignObject</sgmltag></member>
+<member><sgmltag class="element">font-face</sgmltag></member>
+<member><sgmltag class="element">font-face-name</sgmltag></member>
+<member><sgmltag class="element">font-face-src</sgmltag></member>
+<member><sgmltag class="element">g</sgmltag></member>
+<member><sgmltag class="element">glyph</sgmltag></member>
+<member><sgmltag class="element">hkern</sgmltag></member>
+<member><sgmltag class="element"> linearGradient</sgmltag></member>
+<member><sgmltag class="element">line</sgmltag></member>
+<member><sgmltag class="element">marker</sgmltag></member>
+<member><sgmltag class="element">metadata</sgmltag></member>
+<member><sgmltag class="element">missing-glyph</sgmltag></member>
+<member><sgmltag class="element">mpath</sgmltag></member>
+<member><sgmltag class="element">path</sgmltag></member>
+<member><sgmltag class="element">polygon</sgmltag></member>
+<member><sgmltag class="element">polyline</sgmltag></member>
+<member><sgmltag class="element">radialGradient</sgmltag></member>
+<member><sgmltag class="element">rect</sgmltag></member>
+<member><sgmltag class="element">set</sgmltag></member>
+<member><sgmltag class="element">stop</sgmltag></member>
+<member><sgmltag class="element">svg</sgmltag></member>
+<member><sgmltag class="element">switch</sgmltag></member>
+<member><sgmltag class="element">text</sgmltag></member>
+<member><sgmltag class="element">title</sgmltag></member>
+<member><sgmltag class="element">tspan</sgmltag></member>
+<member><sgmltag class="element">use</sgmltag></member>
+</simplelist>
+</para>
+
+<para>The following &svg; attributes are allowed by default (all others are stripped):
+<simplelist type="inline">
+<member><sgmltag class="attribute">accent-height</sgmltag></member>
+<member><sgmltag class="attribute">accumulate</sgmltag></member>
+<member><sgmltag class="attribute">additive</sgmltag></member>
+<member><sgmltag class="attribute">alphabetic</sgmltag></member>
+<member><sgmltag class="attribute">arabic-form</sgmltag></member>
+<member><sgmltag class="attribute">ascent</sgmltag></member>
+<member><sgmltag class="attribute">attributeName</sgmltag></member>
+<member><sgmltag class="attribute">attributeType</sgmltag></member>
+<member><sgmltag class="attribute">baseProfile</sgmltag></member>
+<member><sgmltag class="attribute">bbox</sgmltag></member>
+<member><sgmltag class="attribute">begin</sgmltag></member>
+<member><sgmltag class="attribute">by</sgmltag></member>
+<member><sgmltag class="attribute">calcMode</sgmltag></member>
+<member><sgmltag class="attribute">cap-height</sgmltag></member>
+<member><sgmltag class="attribute">class</sgmltag></member>
+<member><sgmltag class="attribute">color</sgmltag></member>
+<member><sgmltag class="attribute">color-rendering</sgmltag></member>
+<member><sgmltag class="attribute">content</sgmltag></member>
+<member><sgmltag class="attribute">cx</sgmltag></member>
+<member><sgmltag class="attribute">cy</sgmltag></member>
+<member><sgmltag class="attribute">d</sgmltag></member>
+<member><sgmltag class="attribute">dx</sgmltag></member>
+<member><sgmltag class="attribute">dy</sgmltag></member>
+<member><sgmltag class="attribute">descent</sgmltag></member>
+<member><sgmltag class="attribute">display</sgmltag></member>
+<member><sgmltag class="attribute">dur</sgmltag></member>
+<member><sgmltag class="attribute">end</sgmltag></member>
+<member><sgmltag class="attribute">fill</sgmltag></member>
+<member><sgmltag class="attribute">fill-opacity</sgmltag></member>
+<member><sgmltag class="attribute">fill-rule</sgmltag></member>
+<member><sgmltag class="attribute">font-family</sgmltag></member>
+<member><sgmltag class="attribute">font-size</sgmltag></member>
+<member><sgmltag class="attribute">font-stretch</sgmltag></member>
+<member><sgmltag class="attribute">font-style</sgmltag></member>
+<member><sgmltag class="attribute">font-variant</sgmltag></member>
+<member><sgmltag class="attribute">font-weight</sgmltag></member>
+<member><sgmltag class="attribute">from</sgmltag></member>
+<member><sgmltag class="attribute">fx</sgmltag></member>
+<member><sgmltag class="attribute">fy</sgmltag></member>
+<member><sgmltag class="attribute">g1</sgmltag></member>
+<member><sgmltag class="attribute">g2</sgmltag></member>
+<member><sgmltag class="attribute">glyph-name</sgmltag></member>
+<member><sgmltag class="attribute">gradientUnits</sgmltag></member>
+<member><sgmltag class="attribute">hanging</sgmltag></member>
+<member><sgmltag class="attribute">height</sgmltag></member>
+<member><sgmltag class="attribute">horiz-adv-x</sgmltag></member>
+<member><sgmltag class="attribute">horiz-origin-x</sgmltag></member>
+<member><sgmltag class="attribute">id</sgmltag></member>
+<member><sgmltag class="attribute">ideographic</sgmltag></member>
+<member><sgmltag class="attribute">k</sgmltag></member>
+<member><sgmltag class="attribute">keyPoints</sgmltag></member>
+<member><sgmltag class="attribute">keySplines</sgmltag></member>
+<member><sgmltag class="attribute">keyTimes</sgmltag></member>
+<member><sgmltag class="attribute">lang</sgmltag></member>
+<member><sgmltag class="attribute">mathematical</sgmltag></member>
+<member><sgmltag class="attribute">marker-end</sgmltag></member>
+<member><sgmltag class="attribute">marker-mid</sgmltag></member>
+<member><sgmltag class="attribute">marker-start</sgmltag></member>
+<member><sgmltag class="attribute">markerHeight</sgmltag></member>
+<member><sgmltag class="attribute">markerUnits</sgmltag></member>
+<member><sgmltag class="attribute">markerWidth</sgmltag></member>
+<member><sgmltag class="attribute">max</sgmltag></member>
+<member><sgmltag class="attribute">min</sgmltag></member>
+<member><sgmltag class="attribute">name</sgmltag></member>
+<member><sgmltag class="attribute">offset</sgmltag></member>
+<member><sgmltag class="attribute">opacity</sgmltag></member>
+<member><sgmltag class="attribute">orient</sgmltag></member>
+<member><sgmltag class="attribute">origin</sgmltag></member>
+<member><sgmltag class="attribute">overline-position</sgmltag></member>
+<member><sgmltag class="attribute">overline-thickness</sgmltag></member>
+<member><sgmltag class="attribute">panose-1</sgmltag></member>
+<member><sgmltag class="attribute">path</sgmltag></member>
+<member><sgmltag class="attribute">pathLength</sgmltag></member>
+<member><sgmltag class="attribute">points</sgmltag></member>
+<member><sgmltag class="attribute">preserveAspectRatio</sgmltag></member>
+<member><sgmltag class="attribute">r</sgmltag></member>
+<member><sgmltag class="attribute">refX</sgmltag></member>
+<member><sgmltag class="attribute">refY</sgmltag></member>
+<member><sgmltag class="attribute">repeatCount</sgmltag></member>
+<member><sgmltag class="attribute">repeatDur</sgmltag></member>
+<member><sgmltag class="attribute">requiredExtensions</sgmltag></member>
+<member><sgmltag class="attribute">requiredFeatures</sgmltag></member>
+<member><sgmltag class="attribute">restart</sgmltag></member>
+<member><sgmltag class="attribute">rotate</sgmltag></member>
+<member><sgmltag class="attribute">rx</sgmltag></member>
+<member><sgmltag class="attribute">ry</sgmltag></member>
+<member><sgmltag class="attribute">slope</sgmltag></member>
+<member><sgmltag class="attribute">stemh</sgmltag></member>
+<member><sgmltag class="attribute">stemv</sgmltag></member>
+<member><sgmltag class="attribute">stop-color</sgmltag></member>
+<member><sgmltag class="attribute">stop-opacity</sgmltag></member>
+<member><sgmltag class="attribute">strikethrough-position</sgmltag></member>
+<member><sgmltag class="attribute">strikethrough-thickness</sgmltag></member>
+<member><sgmltag class="attribute">stroke</sgmltag></member>
+<member><sgmltag class="attribute">stroke-dasharray</sgmltag></member>
+<member><sgmltag class="attribute">stroke-dashoffset</sgmltag></member>
+<member><sgmltag class="attribute">stroke-linecap</sgmltag></member>
+<member><sgmltag class="attribute">stroke-linejoin</sgmltag></member>
+<member><sgmltag class="attribute">stroke-miterlimit</sgmltag></member>
+<member><sgmltag class="attribute">stroke-opacity</sgmltag></member>
+<member><sgmltag class="attribute">stroke-width</sgmltag></member>
+<member><sgmltag class="attribute">systemLanguage</sgmltag></member>
+<member><sgmltag class="attribute">target</sgmltag></member>
+<member><sgmltag class="attribute">text-anchor</sgmltag></member>
+<member><sgmltag class="attribute">to</sgmltag></member>
+<member><sgmltag class="attribute">transform</sgmltag></member>
+<member><sgmltag class="attribute">type</sgmltag></member>
+<member><sgmltag class="attribute">u1</sgmltag></member>
+<member><sgmltag class="attribute">u2</sgmltag></member>
+<member><sgmltag class="attribute">underline-position</sgmltag></member>
+<member><sgmltag class="attribute">underline-thickness</sgmltag></member>
+<member><sgmltag class="attribute">unicode</sgmltag></member>
+<member><sgmltag class="attribute">unicode-range</sgmltag></member>
+<member><sgmltag class="attribute">units-per-em</sgmltag></member>
+<member><sgmltag class="attribute">values</sgmltag></member>
+<member><sgmltag class="attribute">version</sgmltag></member>
+<member><sgmltag class="attribute">viewBox</sgmltag></member>
+<member><sgmltag class="attribute">visibility</sgmltag></member>
+<member><sgmltag class="attribute">width</sgmltag></member>
+<member><sgmltag class="attribute">widths</sgmltag></member>
+<member><sgmltag class="attribute">x</sgmltag></member>
+<member><sgmltag class="attribute">x-height</sgmltag></member>
+<member><sgmltag class="attribute">x1</sgmltag></member>
+<member><sgmltag class="attribute">x2</sgmltag></member>
+<member><sgmltag class="attribute">xlink:actuate</sgmltag></member>
+<member><sgmltag class="attribute">xlink:arcrole</sgmltag></member>
+<member><sgmltag class="attribute">xlink:href</sgmltag></member>
+<member><sgmltag class="attribute">xlink:role</sgmltag></member>
+<member><sgmltag class="attribute">xlink:show</sgmltag></member>
+<member><sgmltag class="attribute">xlink:title</sgmltag></member>
+<member><sgmltag class="attribute">xlink:type</sgmltag></member>
+<member><sgmltag class="attribute">xml:base</sgmltag></member>
+<member><sgmltag class="attribute">xml:lang</sgmltag></member>
+<member><sgmltag class="attribute">xml:space</sgmltag></member>
+<member><sgmltag class="attribute">xmlns</sgmltag></member>
+<member><sgmltag class="attribute">xmlns:xlink</sgmltag></member>
+<member><sgmltag class="attribute">y</sgmltag></member>
+<member><sgmltag class="attribute">y1</sgmltag></member>
+<member><sgmltag class="attribute">y2</sgmltag></member>
+<member><sgmltag class="attribute">zoomAndPan</sgmltag></member>
+</simplelist>
+</para>
+</section>
+
+<section id="advanced.sanitization.mathml">
+<title>&mathml; Sanitization</title>
+<para>The following &mathml; elements are allowed by default (all others are stripped):
+<simplelist type="inline">
+<member><sgmltag class="element">annotation</sgmltag></member>
+<member><sgmltag class="element">annotation-xml</sgmltag></member>
+<member><sgmltag class="element">maction</sgmltag></member>
+<member><sgmltag class="element">math</sgmltag></member>
+<member><sgmltag class="element">merror</sgmltag></member>
+<member><sgmltag class="element">mfenced</sgmltag></member>
+<member><sgmltag class="element">mfrac</sgmltag></member>
+<member><sgmltag class="element">mi</sgmltag></member>
+<member><sgmltag class="element">mmultiscripts</sgmltag></member>
+<member><sgmltag class="element">mn</sgmltag></member>
+<member><sgmltag class="element">mo</sgmltag></member>
+<member><sgmltag class="element">mover</sgmltag></member>
+<member><sgmltag class="element">mpadded</sgmltag></member>
+<member><sgmltag class="element">mphantom</sgmltag></member>
+<member><sgmltag class="element">mprescripts</sgmltag></member>
+<member><sgmltag class="element">mroot</sgmltag></member>
+<member><sgmltag class="element">mrow</sgmltag></member>
+<member><sgmltag class="element">mspace</sgmltag></member>
+<member><sgmltag class="element">msqrt</sgmltag></member>
+<member><sgmltag class="element">mstyle</sgmltag></member>
+<member><sgmltag class="element">msub</sgmltag></member>
+<member><sgmltag class="element">msubsup</sgmltag></member>
+<member><sgmltag class="element">msup</sgmltag></member>
+<member><sgmltag class="element">mtable</sgmltag></member>
+<member><sgmltag class="element">mtd</sgmltag></member>
+<member><sgmltag class="element">mtext</sgmltag></member>
+<member><sgmltag class="element">mtr</sgmltag></member>
+<member><sgmltag class="element">munder</sgmltag></member>
+<member><sgmltag class="element">munderover</sgmltag></member>
+<member><sgmltag class="element">none</sgmltag></member>
+<member><sgmltag class="element">semantics</sgmltag></member>
+</simplelist>
+</para>
+
+<para>The following &mathml; attributes are allowed by default (all others are stripped):
+<simplelist type="inline">
+<member><sgmltag class="attribute">actiontype</sgmltag></member>
+<member><sgmltag class="attribute">align</sgmltag></member>
+<member><sgmltag class="attribute">columnalign</sgmltag></member>
+<member><sgmltag class="attribute">columnalign</sgmltag></member>
+<member><sgmltag class="attribute">columnalign</sgmltag></member>
+<member><sgmltag class="attribute">close</sgmltag></member>
+<member><sgmltag class="attribute">columnlines</sgmltag></member>
+<member><sgmltag class="attribute">columnspacing</sgmltag></member>
+<member><sgmltag class="attribute">columnspan</sgmltag></member>
+<member><sgmltag class="attribute">depth</sgmltag></member>
+<member><sgmltag class="attribute">display</sgmltag></member>
+<member><sgmltag class="attribute">displaystyle</sgmltag></member>
+<member><sgmltag class="attribute">encoding</sgmltag></member>
+<member><sgmltag class="attribute">equalcolumns</sgmltag></member>
+<member><sgmltag class="attribute">equalrows</sgmltag></member>
+<member><sgmltag class="attribute">fence</sgmltag></member>
+<member><sgmltag class="attribute">fontstyle</sgmltag></member>
+<member><sgmltag class="attribute">fontweight</sgmltag></member>
+<member><sgmltag class="attribute">frame</sgmltag></member>
+<member><sgmltag class="attribute">height</sgmltag></member>
+<member><sgmltag class="attribute">linethickness</sgmltag></member>
+<member><sgmltag class="attribute">lspace</sgmltag></member>
+<member><sgmltag class="attribute">mathbackground</sgmltag></member>
+<member><sgmltag class="attribute">mathcolor</sgmltag></member>
+<member><sgmltag class="attribute">mathvariant</sgmltag></member>
+<member><sgmltag class="attribute">mathvariant</sgmltag></member>
+<member><sgmltag class="attribute">maxsize</sgmltag></member>
+<member><sgmltag class="attribute">minsize</sgmltag></member>
+<member><sgmltag class="attribute">open</sgmltag></member>
+<member><sgmltag class="attribute">other</sgmltag></member>
+<member><sgmltag class="attribute">rowalign</sgmltag></member>
+<member><sgmltag class="attribute">rowalign</sgmltag></member>
+<member><sgmltag class="attribute">rowalign</sgmltag></member>
+<member><sgmltag class="attribute">rowlines</sgmltag></member>
+<member><sgmltag class="attribute">rowspacing</sgmltag></member>
+<member><sgmltag class="attribute">rowspan</sgmltag></member>
+<member><sgmltag class="attribute">rspace</sgmltag></member>
+<member><sgmltag class="attribute">scriptlevel</sgmltag></member>
+<member><sgmltag class="attribute">selection</sgmltag></member>
+<member><sgmltag class="attribute">separator</sgmltag></member>
+<member><sgmltag class="attribute">separators</sgmltag></member>
+<member><sgmltag class="attribute">stretchy</sgmltag></member>
+<member><sgmltag class="attribute">width</sgmltag></member>
<member><sgmltag class="attribute">width</sgmltag></member>
+<member><sgmltag class="attribute">xlink:href</sgmltag></member>
+<member><sgmltag class="attribute">xlink:show</sgmltag></member>
+<member><sgmltag class="attribute">xlink:type</sgmltag></member>
+<member><sgmltag class="attribute">xmlns</sgmltag></member>
+<member><sgmltag class="attribute">xmlns:xlink</sgmltag></member>
+</simplelist>
+</para>
+</section>
+
+<section id="advanced.sanitization.css">
+<title>&css; Sanitization</title>
+<para>The following &css; properties are allowed by default in <sgmltag class="attribute">style</sgmltag> attributes (all others are stripped):
+<simplelist type="inline">
+<member><sgmltag>azimuth</sgmltag></member>
+<member><sgmltag>background-color</sgmltag></member>
+<member><sgmltag>border-bottom-color</sgmltag></member>
+<member><sgmltag>border-collapse</sgmltag></member>
+<member><sgmltag>border-color</sgmltag></member>
+<member><sgmltag>border-left-color</sgmltag></member>
+<member><sgmltag>border-right-color</sgmltag></member>
+<member><sgmltag>border-top-color</sgmltag></member>
+<member><sgmltag>clear</sgmltag></member>
+<member><sgmltag>color</sgmltag></member>
+<member><sgmltag>cursor</sgmltag></member>
+<member><sgmltag>direction</sgmltag></member>
+<member><sgmltag>display</sgmltag></member>
+<member><sgmltag>elevation</sgmltag></member>
+<member><sgmltag>float</sgmltag></member>
+<member><sgmltag>font</sgmltag></member>
+<member><sgmltag>font-family</sgmltag></member>
+<member><sgmltag>font-size</sgmltag></member>
+<member><sgmltag>font-style</sgmltag></member>
+<member><sgmltag>font-variant</sgmltag></member>
+<member><sgmltag>font-weight</sgmltag></member>
+<member><sgmltag>height</sgmltag></member>
+<member><sgmltag>letter-spacing</sgmltag></member>
+<member><sgmltag>line-height</sgmltag></member>
+<member><sgmltag>overflow</sgmltag></member>
+<member><sgmltag>pause</sgmltag></member>
+<member><sgmltag>pause-after</sgmltag></member>
+<member><sgmltag>pause-before</sgmltag></member>
+<member><sgmltag>pitch</sgmltag></member>
+<member><sgmltag>pitch-range</sgmltag></member>
+<member><sgmltag>richness</sgmltag></member>
+<member><sgmltag>speak</sgmltag></member>
+<member><sgmltag>speak-header</sgmltag></member>
+<member><sgmltag>speak-numeral</sgmltag></member>
+<member><sgmltag>speak-punctuation</sgmltag></member>
+<member><sgmltag>speech-rate</sgmltag></member>
+<member><sgmltag>stress</sgmltag></member>
+<member><sgmltag>text-align</sgmltag></member>
+<member><sgmltag>text-decoration</sgmltag></member>
+<member><sgmltag>text-indent</sgmltag></member>
+<member><sgmltag>unicode-bidi</sgmltag></member>
+<member><sgmltag>vertical-align</sgmltag></member>
+<member><sgmltag>voice-family</sgmltag></member>
+<member><sgmltag>volume</sgmltag></member>
+<member><sgmltag>white-space</sgmltag></member>
+<member><sgmltag>width</sgmltag></member>
</simplelist>
</para>
@@ -1127,11 +1562,11 @@
<para>The <ulink url="&url_tests_sanitize;">unit tests for &html; sanitizing</ulink> show many different examples of dangerous markup that &feedparser; sanitizes by default.</para>
</note>
+</section>
+
<section id="advanced.sanitization.why">
<title>Whitelist, Don't Blacklist</title>
-<para>I am often asked why &feedparser; is so hard-assed about &html; sanitizing. This topic usually comes up when someone notices that &feedparser; strips all <sgmltag class="attribute">style</sgmltag> attributes by default.</para>
-
-<para>Here is an incomplete list of potentially dangerous &html; tags and attributes:</para>
+<para>I am often asked why &feedparser; is so hard-assed about &html; and &css; sanitizing. To illustrate the problem, here is an incomplete list of potentially dangerous &html; tags and attributes:</para>
<itemizedlist>
<listitem><para><sgmltag class="element">script</sgmltag>, which can contain malicious script</para></listitem>
<listitem><para><sgmltag class="element">applet</sgmltag>, <sgmltag class="element">embed</sgmltag>, and <sgmltag class="element">object</sgmltag>, which can automatically download and execute malicious code</para></listitem>
@@ -1175,10 +1610,10 @@
&#x72;&#x67;&#x2f;&#x27;&#x29;"></programlisting>
<para>And so on, plus several other variations, plus every combination of every variation.</para>
</example>
-<para>The more I investigate, the more cases I find where &iewin; will treat seemingly innocuous markup as code and blithely execute it. This is why &feedparser; uses a whitelist and not a blacklist. I am reasonably confident that none of the elements or attributes on the whitelist are security risks. I am not at all confident about elements or attributes that I have not explicitly investigated. And I have no confidence at all in my ability to detect strings within attribute values that &iewin; will treat as executable code. I will not attempt to preserve <quote>just the good styles</quote>. All styles are stripped.</para>
+<para>The more I investigate, the more cases I find where &iewin; will treat seemingly innocuous markup as code and blithely execute it. This is why &feedparser; uses a whitelist and not a blacklist. I am reasonably confident that none of the elements or attributes on the whitelist are security risks. I am not at all confident about elements or attributes that I have not explicitly investigated. And I have no confidence at all in my ability to detect strings within attribute values that &iewin; will treat as executable code.</para>
<itemizedlist role="furtherreading">
<title>Elsewhere</title>
-<listitem><para><ulink url="&url_howtoconsumersssafely;">How to consume RSS safely</ulink></para></listitem>
+<listitem><para><ulink url="&url_howtoconsumersssafely;">How to consume RSS safely</ulink> is a (somewhat dated) blog post that formed the basis of my thinking about sanitizing feeds.</para></listitem>
</itemizedlist>
</section>
@@ -2490,6 +2925,21 @@
<chapter id="history">
<?dbhtml filename="history.html"?>
<title>Revision history</title>
+<section id="changes.42">
+<?dbhtml filename="changes-42.html"?>
+<title>Changes in version 4.2</title>
+<abstract>
+<title/>
+<para>Here is a summary of the major changes in &feedparser; 4.2.</para>
+</abstract>
+<itemizedlist>
+<listitem><para><xref linkend="advanced.microformats"/>.</para></listitem>
+<listitem><para><xref linkend="advanced.sanitization.css"/>. (Previous versions of &feedparser; simply stripped all inline styles.) Many thanks to Sam Ruby for implementing this, despite my insistence that it was impossible.</para></listitem>
+<listitem><para><xref linkend="advanced.sanitization.svg"/> and <xref linkend="advanced.sanitization.mathml"/>. Many thanks to Jacques Distler for patiently debugging these features.</para></listitem>
+<listitem><para>Updated the whitelist of <link linkend="advanced.sanitization.html">acceptable HTML elements and attributes</link> based on the latest draft of the &html5; specification.</para></listitem>
+<listitem><para>Better detection of HTML content in elements with ambiguous content types.</para></listitem>
+</itemizedlist>
+</section>
<section id="changes.41">
<?dbhtml filename="changes-41.html"?>
<title>Changes in version 4.1</title>
Modified: trunk/feedparser/feedparsertest.py
==============================================================================
--- trunk/feedparser/feedparsertest.py (original)
+++ trunk/feedparser/feedparsertest.py Wed Mar 5 20:53:21 2008
@@ -223,427 +223,3 @@
if httpd.ready:
urllib.urlopen('
http://127.0.0.1:8097/tests/wellformed/rss/aaa_wellformed.xml').read()
httpd.join(0)
-
-"""
-RSS 2.0
-* channel
- * title
- * link
- * description
- * plain text
- * escaped markup
- * naked markup
- * always duplicated into "tagline"
- * language
- * copyright (maps to "rights")
- * managingEditor (maps to "author" and possibly "author_detail")
- * webMaster (maps to "publisher")
- * pubDate (maps to "date")
- * asctime
- * rfc822 (2 digit year)
- * rfc2822 (4 digit year)
- * w3dtf
- * iso8601
- * always duplicated into "modified"
- X lastBuildDate
- * category
- * single category
- * multiple categories maps to "categories"
- * @domain maps to "categories"
- * generator
- * docs
- * cloud
- * @domain
- * @port
- * @path
- * @registerProcedure
- * @protocol
- * ttl
- * image
- * title
- * url
- * link
- * width
- * height
- * check that title, link don't conflict with channel title, link
- X rating
- * textInput
- * title
- * description
- * name
- * link
- * check that title, link, and description don't conflict with channel stuff
- * skipHours
- * skipDays
-* item
- * title
- * link
- * description
- * plain text
- * escaped markup
- * naked markup
- * always duplicated in "summary"
- * author
- * category
- * multiple categories
- * @domain
- * comments
- * enclosure
- * @url
- * @length
- * @type
- * multiple enclosures
- * guid
- * should duplicate into link if @isPermaLink="true" or missing
- * should NOT duplicate into link if link already exists
- * pubDate
- * string
- * parsed
- * always maps to date_parsed
- * source
- * @url
-
-RSS 0.93
-* item
- * expirationDate
-
-Dublin Core
-* channel
- * dc:date (maps to "date" and "date_parsed" and "modified" and "modified_parsed")
- * dc:language (maps to "language")
- * dc:creator (maps to "author" and possibly "author_detail")
- * dc:author (maps to "author" and possibly "author_detail")
- * dc:publisher (maps to "publisher")
- * dc:rights (maps to "rights")
- * dc:subject (maps to "category" and "categories")
- * dc:title (maps to "title")
- * dcterms:issued (maps to "issued" and "issued_parsed")
- * dcterms:created (maps to "created" and "created_parsed")
- * dcterms:modified (maps to "modified" and "modified_parsed" and "date" and "date_parsed")
-* item
- * dc:date (maps to "date" and "date_parsed" and "modified" and "modified_parsed")
- * dc:language (maps to "language")
- * dc:creator (maps to "author" and possibly "author_detail")
- * dc:author (maps to "author" and possibly "author_detail")
- * dc:publisher (maps to "publisher")
- * dc:rights (maps to "rights")
- * dc:subject (maps to "category" and "categories")
- * dc:title (maps to "title")
- * dcterms:issued (maps to "issued" and "issued_parsed")
- * dcterms:created (maps to "created" and "created_parsed")
- * dcterms:modified (maps to "modified" and "modified_parsed" and "date" and "date_parsed")
-
-Undocumented
-* channel
- * author (treat like dc:author)
-* item
- * xhtml:body (maps to "content")
- * value
- * mode
- * type
- * xml:lang
- * content:encoded (maps to "content")
- * value
- * mode
- * type
- * xml:lang
- * fullitem (maps to "content")
- * value
- * mode
- * type
- * xml:lang
-
-RSS 1.0
-* version
-* channel
- * title
- * link
- * description
-* item
- * title
- * link
- * description
-- content module -
http://purl.org/rss/1.0/modules/content/
- - TODO
-- syndication module -
http://purl.org/rss/1.0/modules/syndication/
- - TODO
-- link module -
http://www.purl.org/rss/1.0/modules/link/
- - map to "links"
- - TODO
-
-Atom
-* feed
- * namespaces
- *
http://purl.org/atom/ns#
- *
http://example.com/necho
- *
http://purl.org/echo/
- *
http://purl.org/pie/
- *
http://example.com/newformat#
- * uri/of/echo/namespace# (note: invalid namespace, can never be wellformed XML)
- * title
- * plaintext
- * escaped markup
- * naked (unqualified) markup
- * base64 encoded
- * inline markup
- * inline markup with escaped markup (@mode="xml" + <div xmlns="...">History of the <blink> tag</div>)
- * full content model --> "title_detail"
- * value
- * @type
- * @mode
- * @xml:lang
- * @xml:lang inherited
- * @xml:base
- * @xml:base inherited
- * link
- * rel="alternate"/type in ['application/xhtml+xml','text/html'] --> channel['link']
- * all --> channel['links']
- * @rel
- * @type
- * @href
- * @title
- * modified
- * parses to "modified_parsed"
- * always duplicated to "date" and "date_parsed"
- * info
- * plaintext or html in "info"
- * full content model in "info_detail"
- * tagline
- * plaintext or html in "tagline"
- * full content model in "tagline_detail"
- * if plaintext or html, duplicated into channel/description
- * id
- * id
- * maps to guid
- * generator
- * url
- * version
- * value
- * copyright
- * plaintext or html in "rights"
- * full content model in "rights_detail"
- * author --> author_detail
- * name
- * url
- * email
- * name + (email) --> "author"
- * contributor --> contributors, list of
- * name
- * url
- * email
-* entry
- * title
- * same as channel
- * link
- * same as channel
- * id
- * same as channel
- * issued
- * stored in "issued"
- * parsed to "issued_parsed"
- * modified
- * stored in "modified", "date"
- * parsed to "modified_parsed", "date_parsed"
- * created
- * stored in "created"
- * parsed to "created_parsed"
- * summary
- * full content model
- * duplicated in "description"
- * author
- * same as channel
- * contributor
- * same as channel
- * content
- * full content model
-
-* CDATA sections
- * in various elements
- * with embedded markup
-
-* HTML sanitizing
- * parent elements:
- * RSS
- * description
- * content:encoded
- * xhtml:body
- * body
- * fullitem
- * Atom
- * feed/title
- * feed/tagline
- * feed/subtitle
- * feed/info
- * feed/copyright
- * entry/title
- * entry/summary
- * entry/content
- * Atom styles
- * @type=text/html, @mode=escaped
- * @type=text/html, @mode=escaped, CDATA
- * @type=application/xhtml, @mode=xml
- * @type=text/html, @mode=base64
- * elements to strip:
- * script
- * embed
- * meta
- * link
- * object
- * frameset/frame
- * iframe
- * applet
- * blink
- * @style
- * @onabort
- * @onblur
- * @onchange
- * @onclick
- * @ondblclick
- * @onerror
- * @onfocus
- * @onkeydown
- * @onkeypress
- * @onkeyup
- * @onload
- * @onmousedown
- * @onmouseout
- * @onmouseover
- * @onmouseup
- * @onreset
- * @onresize
- * @onsubmit
- * @onunload
- * crazy RSS
-
-* relative links
- * elements that can be relative links:
- * rss/channel/link
- * rss/channel/docs
- * rss/item/link
- * rss/item/comments
- * rss/item/wfw:comment
- * rss/item/wfw:commentRSS
- * atom/feed/link/@href
- * atom/feed/id
- * atom/feed/author/url
- * atom/feed/contributor/url
- * atom/feed/generator/@url
- * atom/entry/link/@href
- * atom/entry/id
- * atom/entry/author/url
- * atom/entry/contributor/url
- * elements that can contain embedded markup with relative links:
- * rss/item/description
- * rss/item/fullitem
- * rss/item/content:encoded
- * rss/item/xhtml:body
- * rss/item/body
- * atom/feed/title
- * atom/feed/tagline
- * atom/feed/subtitle
- * atom/feed/info
- * atom/feed/copyright
- * atom/entry/title
- * atom/entry/summary
- * atom/entry/content
- * ways to get base URI:
- * document uri
- * content-location http header
- * xml:base
- * overridden xml:base
-
-Atom 1.0:
-* feed/atom:generator (doublecheck syntax against atom03:generator)
- * @uri (was @url)
- * @version (unchanged)
- * content (unchanged)
-* feed/atom:icon
- * content is URI
-* feed/atom:logo
- * content is URI
-* feed/atom:subtitle (was atom03:tagline)
-* feed/atom:updated (was atom03:modified, sort of)
- * no more feed/modified, feed/created, or feed/created
-* feed/atom:rights (was atom03:copyright)
-* feed/atom:link new rels
- * see entry/atom:link new rels
-* feed/atom:link new attributes
- * see entry/atom:link new attributes
-
-* entry/id no normalization (section 4.2.6.1)
-* entry/atom:category (section 4.2.2)
- * @term
- * @scheme
- * @label
-* entry/atom:link rels
- * rel="alternate"
- * rel="related"
- * rel="self"
- * rel="enclosure"
- * map to enclosures array
- * rel="via"
- * rel="<absoluteURI>"
-* entry/atom:link new attributes
- * @hreflang
- * @length
-* entry/atom:content new standard types
- * text (was text/plain)
- * html (was text/html)
- * xhtml (was application/xhtml+xml)
- * !!!see section 4.1.3.3 Processing Model
- * startswith('text/') --> text
- * endswith('+xml') --> xml
- * endswith('/xml') --> xml
- * all others base64 (but no mode attr)
-* entry/atom:content/@src
- * new src property in content dict
-* entry/atom:updated (was atom03:modified, sort of)
-* entry/atom:published (was atom03:issued)
- * no more modified or created
-* entry/atom:rights (was atom03:copyright)
-* entry/atom:source a.k.a. "Smells Like Wyman Spirit"
- * atom:author
- * atom:category
- * atom:contributor
- * atom:generator
- * atom:icon
- * atom:id
- * atom:link
- * atom:logo
- * atom:rights
- * atom:subtitle
- * atom:title
- * atom:updated
-
-iTunes support:
-* namespace variations
- * namespace are case-insensitive
-* elements outside the iTunes namespace are case-insensitive
-* channel/itunes:block
- * content="yes" --> true, otherwise false, see
http://lists.apple.com/faq/pub/syndication-dev/index.php?sid=359&aktion=artikel&rubrik=001&id=3&lang=en
-* channel/itunes:category --> category
- * @text --> term
- * @scheme is always "itms://
itunes.com/browse?bp=/"
- * @label is always blank
- * subcategories are nested itunes:category elements
- * don't worry about establishing hierarchy, just treat each itunes:category as a category
-* channel/itunes:explicit
-* channel/itunes:image
- * itunes:link rel="image" @href
-* channel/itunes:keywords
-* channel/itunes:owner
-* channel/itunes:subtitle
-* channel/itunes:summary
-* item/itunes:author
-* item/itunes:block
- * see channel/itunes:block
-* item/itunes:category
- * see channel/itunes:category
-- item/itunes:duration
-* item/itunes:explicit
-* item/itunes:image
-* item/itunes:keywords
-* item/itunes:subtitle
-* item/itunes:summary
-
-"""
Modified: trunk/www/docs/advanced.html
==============================================================================
--- trunk/www/docs/advanced.html (original)
+++ trunk/www/docs/advanced.html Wed Mar 5 20:53:21 2008
@@ -30,7 +30,13 @@
</ul>
</li>
<li>
-<span class="section"><a href="html-sanitization.html">HTML Sanitization</a></span><ul><li><span class="section"><a href="html-sanitization.html#advanced.sanitization.why">Whitelist, Don't Blacklist</a></span></li></ul>
+<span class="section"><a href="html-sanitization.html">Sanitization</a></span><ul>
+<li><span class="section"><a href="html-sanitization.html#advanced.sanitization.html">HTML Sanitization</a></span></li>
+<li><span class="section"><a href="html-sanitization.html#advanced.sanitization.svg">SVG Sanitization</a></span></li>
+<li><span class="section"><a href="html-sanitization.html#advanced.sanitization.mathml">MathML Sanitization</a></span></li>
+<li><span class="section"><a href="html-sanitization.html#advanced.sanitization.css">CSS Sanitization</a></span></li>
+<li><span class="section"><a href="html-sanitization.html#advanced.sanitization.why">Whitelist, Don't Blacklist</a></span></li>
+</ul>
</li>
<li><span class="section"><a href="microformats.html">Microformats</a></span></li>
<li><span class="section"><a href="content-normalization.html">Content Normalization</a></span></li>
@@ -57,7 +63,7 @@
<div style="text-align: right">
<a class="NavigationArrow" href="date-parsing.html">Date Parsing</a> →</div>
<hr style="clear:both">
-<div class="footer"><p class="copyright">Copyright (c) 2004, 2005, 2006 Mark Pilgrim</p></div>
+<div class="footer"><p class="copyright">Copyright (c) 2004, 2005, 2006, 2007, 2008 Mark Pilgrim</p></div>
</div></div>
</body>
</html>
Modified: trunk/www/docs/annotated-atom03.html
==============================================================================
--- trunk/www/docs/annotated-atom03.html (original)
+++ trunk/www/docs/annotated-atom03.html Wed Mar 5 20:53:21 2008
@@ -27,7 +27,7 @@
</div>
<div></div>
</div>
-<a name="id4771204"></a><table class="caution" border="0" summary="">
+<a name="id298110"></a><table class="caution" border="0" summary="">
<tr><td rowspan="2" align="center" valign="top" width="1%"><img src="images/caution.png" alt="Caution" title="" width="24" height="24"></td></tr>
<tr><td colspan="2" align="left" valign="top" width="99%">Even though many of these elements are required according to the specification, real-world feeds may be missing any element. If an element is not present in the feed, it will not be present in the parsed results. You should not rely on any particular element being present.</td></tr>
</table>
@@ -116,7 +116,7 @@
<div style="text-align: right">
<a class="NavigationArrow" href="annotated-rss20.html">RSS 2.0</a> →</div>
<hr style="clear:both">
-<div class="footer"><p class="copyright">Copyright (c) 2004, 2005, 2006 Mark Pilgrim</p></div>
+<div class="footer"><p class="copyright">Copyright (c) 2004, 2005, 2006, 2007, 2008 Mark Pilgrim</p></div>
</div></div>
</body>
</html>
Modified: trunk/www/docs/annotated-atom10.html
==============================================================================
--- trunk/www/docs/annotated-atom10.html (original)
+++ trunk/www/docs/annotated-atom10.html Wed Mar 5 20:53:21 2008
@@ -27,7 +27,7 @@
</div>
<div></div>
</div>
-<a name="id4770697"></a><table class="caution" border="0" summary="">
+<a name="id297711"></a><table class="caution" border="0" summary="">
<tr><td rowspan="2" align="center" valign="top" width="1%"><img src="images/caution.png" alt="Caution" title="" width="24" height="24"></td></tr>
<tr><td colspan="2" align="left" valign="top" width="99%">Even though many of these elements are required according to the specification, real-world feeds may be missing any element. If an element is not present in the feed, it will not be present in the parsed results. You should not rely on any particular element being present.</td></tr>
</table>
@@ -110,7 +110,7 @@
<div style="text-align: right">
<a class="NavigationArrow" href="annotated-atom03.html">Atom 0.3</a> →</div>
<hr style="clear:both">
-<div class="footer"><p class="copyright">Copyright (c) 2004, 2005, 2006 Mark Pilgrim</p></div>
+<div class="footer"><p class="copyright">Copyright (c) 2004, 2005, 2006, 2007, 2008 Mark Pilgrim</p></div>
</div></div>
</body>
</html>
Modified: trunk/www/docs/annotated-examples.html
==============================================================================
--- trunk/www/docs/annotated-examples.html (original)
+++ trunk/www/docs/annotated-examples.html Wed Mar 5 20:53:21 2008
@@ -34,7 +34,7 @@
<div style="text-align: right">
<a class="NavigationArrow" href="annotated-atom10.html">Atom 1.0</a> →</div>
<hr style="clear:both">
-<div class="footer"><p class="copyright">Copyright (c) 2004, 2005, 2006 Mark Pilgrim</p></div>
+<div class="footer"><p class="copyright">Copyright (c) 2004, 2005, 2006, 2007, 2008 Mark Pilgrim</p></div>
</div></div>
</body>
</html>
Modified: trunk/www/docs/annotated-rss10.html
==============================================================================
--- trunk/www/docs/annotated-rss10.html (original)
+++ trunk/www/docs/annotated-rss10.html Wed Mar 5 20:53:21 2008
@@ -27,7 +27,7 @@
</div>
<div></div>
</div>
-<a name="id4772361"></a><table class="caution" border="0" summary="">
+<a name="id299128"></a><table class="caution" border="0" summary="">
<tr><td rowspan="2" align="center" valign="top" width="1%"><img src="images/caution.png" alt="Caution" title="" width="24" height="24"></td></tr>
<tr><td colspan="2" align="left" valign="top" width="99%">Even though many of these elements are required according to the specification, real-world feeds may be missing any element. If an element is not present in the feed, it will not be present in the parsed results. You should not rely on any particular element being present.</td></tr>
</table>
@@ -78,7 +78,7 @@
<div style="text-align: right">
<a class="NavigationArrow" href="history.html">Revision history</a> →</div>
<hr style="clear:both">
-<div class="footer"><p class="copyright">Copyright (c) 2004, 2005, 2006 Mark Pilgrim</p></div>
+<div class="footer"><p class="copyright">Copyright (c) 2004, 2005, 2006, 2007, 2008 Mark Pilgrim</p></div>
</div></div>
</body>
</html>
Modified: trunk/www/docs/annotated-rss20-dc.html
==============================================================================
--- trunk/www/docs/annotated-rss20-dc.html (original)
+++ trunk/www/docs/annotated-rss20-dc.html Wed Mar 5 20:53:21 2008
@@ -27,7 +27,7 @@
</div>
<div></div>
</div>
-<a name="id4772108"></a><table class="caution" border="0" summary="">
+<a name="id298909"></a><table class="caution" border="0" summary="">
<tr><td rowspan="2" align="center" valign="top" width="1%"><img src="images/caution.png" alt="Caution" title="" width="24" height="24"></td></tr>
<tr><td colspan="2" align="left" valign="top" width="99%">Even though many of these elements are required according to the specification, real-world feeds may be missing any element. If an element is not present in the feed, it will not be present in the parsed results. You should not rely on any particular element being present.</td></tr>
</table>
@@ -75,7 +75,7 @@
<div style="text-align: right">
<a class="NavigationArrow" href="annotated-rss10.html">RSS 1.0</a> →</div>
<hr style="clear:both">
-<div class="footer"><p class="copyright">Copyright (c) 2004, 2005, 2006 Mark Pilgrim</p></div>
+<div class="footer"><p class="copyright">Copyright (c) 2004, 2005, 2006, 2007, 2008 Mark Pilgrim</p></div>
</div></div>
</body>
</html>
Modified: trunk/www/docs/annotated-rss20.html
==============================================================================
--- trunk/www/docs/annotated-rss20.html (original)
+++ trunk/www/docs/annotated-rss20.html Wed Mar 5 20:53:21 2008
@@ -27,7 +27,7 @@
</div>
<div></div>
</div>
-<a name="id4771691"></a><table class="caution" border="0" summary="">
+<a name="id298541"></a><table class="caution" border="0" summary="">
<tr><td rowspan="2" align="center" valign="top" width="1%"><img src="images/caution.png" alt="Caution" title="" width="24" height="24"></td></tr>
<tr><td colspan="2" align="left" valign="top" width="99%">Even though many of these elements are required according to the specification, real-world feeds may be missing any element. If an element is not present in the feed, it will not be present in the parsed results. You should not rely on any particular element being present.</td></tr>
</table>
@@ -90,7 +90,7 @@
<div style="text-align: right">
<a class="NavigationArrow" href="annotated-rss20-dc.html">RSS 2.0 with Namespaces</a> →</div>
<hr style="clear:both">
-<div class="footer"><p class="copyright">Copyright (c) 2004, 2005, 2006 Mark Pilgrim</p></div>
+<div class="footer"><p class="copyright">Copyright (c) 2004, 2005, 2006, 2007, 2008 Mark Pilgrim</p></div>
</div></div>
</body>
</html>
Modified: trunk/www/docs/atom-detail.html
==============================================================================
--- trunk/www/docs/atom-detail.html (original)
+++ trunk/www/docs/atom-detail.html Wed Mar 5 20:53:21 2008
@@ -65,7 +65,7 @@
<div style="text-align: right">
<a class="NavigationArrow" href="uncommon-rss.html">Uncommon RSS Elements</a> →</div>
<hr style="clear:both">
-<div class="footer"><p class="copyright">Copyright (c) 2004, 2005, 2006 Mark Pilgrim</p></div>
+<div class="footer"><p class="copyright">Copyright (c) 2004, 2005, 2006, 2007, 2008 Mark Pilgrim</p></div>
</div></div>
</body>
</html>
Modified: trunk/www/docs/basic-existence.html
==============================================================================
--- trunk/www/docs/basic-existence.html (original)
+++ trunk/www/docs/basic-existence.html Wed Mar 5 20:53:21 2008
@@ -47,7 +47,7 @@
<div style="text-align: right">
<a class="NavigationArrow" href="advanced.html">Advanced Features</a> →</div>
<hr style="clear:both">
-<div class="footer"><p class="copyright">Copyright (c) 2004, 2005, 2006 Mark Pilgrim</p></div>
+<div class="footer"><p class="copyright">Copyright (c) 2004, 2005, 2006, 2007, 2008 Mark Pilgrim</p></div>
</div></div>
</body>
</html>
Modified: trunk/www/docs/basic.html
==============================================================================
--- trunk/www/docs/basic.html (original)
+++ trunk/www/docs/basic.html Wed Mar 5 20:53:21 2008
@@ -36,7 +36,7 @@
<div style="text-align: right">
<a class="NavigationArrow" href="introduction.html">Introduction</a> →</div>
<hr style="clear:both">
-<div class="footer"><p class="copyright">Copyright (c) 2004, 2005, 2006 Mark Pilgrim</p></div>
+<div class="footer"><p class="copyright">Copyright (c) 2004, 2005, 2006, 2007, 2008 Mark Pilgrim</p></div>
</div></div>
</body>
</html>
Modified: trunk/www/docs/bozo.html
==============================================================================
--- trunk/www/docs/bozo.html (original)
+++ trunk/www/docs/bozo.html Wed Mar 5 20:53:21 2008
@@ -52,7 +52,7 @@
<div style="text-align: right">
<a class="NavigationArrow" href="http.html">HTTP Features</a> →</div>
<hr style="clear:both">
-<div class="footer"><p class="copyright">Copyright (c) 2004, 2005, 2006 Mark Pilgrim</p></div>
+<div class="footer"><p class="copyright">Copyright (c) 2004, 2005, 2006, 2007, 2008 Mark Pilgrim</p></div>
</div></div>
</body>
</html>
Modified: trunk/www/docs/changes-40.html
==============================================================================
--- trunk/www/docs/changes-40.html (original)
+++ trunk/www/docs/changes-40.html Wed Mar 5 20:53:21 2008
@@ -35,7 +35,7 @@
<tt class="literal">mode</tt> is gone from all detail and content dictionaries. It was never terribly useful, since <span class="application">Universal Feed Parser</span> unescapes content automatically.</li>
<li>
<a href="reference-entry-source.html" title="entries[i].source">entries[i].source</a> is now a dictionary of feed metadata as per section 4.2.11 of RFC 4287. <span class="application">Universal Feed Parser</span> no longer supports the RSS 2.0's <tt class="literal">source</tt> element.</li>
-<li>Content in unknown namespaces is no longer discarded (<a href="
http://sourceforge.net/tracker/index.php?func=detail&aid=993305&group_id=112328&atid=661937">bug 993305</a>)</li>
+<li>Content in unknown namespaces is no longer discarded (<a href="
http://sourceforge.net/tracker/index.php?func=detail&aid=993305&group_id=112328&atid=661937">bug 993305</a>)</li>
<li>Lots of other bug fixes.</li>
</ul></div>
</div>
@@ -44,7 +44,7 @@
<div style="text-align: right">
<a class="NavigationArrow" href="reference.html">Reference</a> →</div>
<hr style="clear:both">
-<div class="footer"><p class="copyright">Copyright (c) 2004, 2005, 2006 Mark Pilgrim</p></div>
+<div class="footer"><p class="copyright">Copyright (c) 2004, 2005, 2006, 2007, 2008 Mark Pilgrim</p></div>
</div></div>
</body>
</html>
Modified: trunk/www/docs/changes-41.html
==============================================================================
--- trunk/www/docs/changes-41.html (original)
+++ trunk/www/docs/changes-41.html Wed Mar 5 20:53:21 2008
@@ -9,7 +9,7 @@
<meta name="keywords" content="RSS, Atom, CDF, XML, feed, parser, Python">
<link rel="start" href="index.html" title="Documentation">
<link rel="up" href="history.html" title="Revision history">
-<link rel="prev" href="history.html" title="Revision history">
+<link rel="prev" href="changes-42.html" title="Changes in version 4.2">
<link rel="next" href="changes-40.html" title="Changes in version 4.0">
</head>
<body id="feedparser-org" class="docs">
@@ -25,15 +25,15 @@
<div class="itemizedlist"><ul>
<li>Support for the <a href="
http://chardet.feedparser.org/"><span class="application">Universal Encoding Detector</span></a> to autodetect character encoding of feeds that declare their encoding incorrectly or don't declare it at all. See <a href="character-encoding.html" title="Character Encoding Detection">Character Encoding Detection</a> for details of when this gets called.</li>
<li>
-<span class="application">Universal Feed Parser</span> no longer sets a default socket timeout (bug <a href="
http://sourceforge.net/tracker/index.php?func=detail&aid=1392140&group_id=112328&atid=661937">1392140</a>). If you were relying on this feature, you will need to call <tt class="literal">socket.setdefaulttimeout(TIMEOUT_IN_SECONDS)</tt> yourself.</li>
+<span class="application">Universal Feed Parser</span> no longer sets a default socket timeout (bug <a href="
http://sourceforge.net/tracker/index.php?func=detail&aid=1392140&group_id=112328&atid=661937">1392140</a>). If you were relying on this feature, you will need to call <tt class="literal">socket.setdefaulttimeout(TIMEOUT_IN_SECONDS)</tt> yourself.</li>
</ul></div>
</div>
-<div style="float: left">← <a class="NavigationArrow" href="history.html">Revision history</a>
+<div style="float: left">← <a class="NavigationArrow" href="changes-42.html">Changes in version 4.2</a>
</div>
<div style="text-align: right">
<a class="NavigationArrow" href="changes-40.html">Changes in version 4.0</a> →</div>
<hr style="clear:both">
-<div class="footer"><p class="copyright">Copyright (c) 2004, 2005, 2006 Mark Pilgrim</p></div>
+<div class="footer"><p class="copyright">Copyright (c) 2004, 2005, 2006, 2007, 2008 Mark Pilgrim</p></div>
</div></div>
</body>
</html>
Added: trunk/www/docs/changes-42.html
==============================================================================
--- (empty file)
+++ trunk/www/docs/changes-42.html Wed Mar 5 20:53:21 2008
@@ -0,0 +1,44 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN" "
http://www.w3.org/TR/html4/strict.dtd">
+<html lang="en">
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
+<title>Changes in version 4.2 [Universal Feed Parser]</title>
+<link rel="stylesheet" href="../css/feedparser.css" type="text/css">
+<link rev="made" href="mailto:
ma...@diveintomark.org">
+<meta name="generator" content="DocBook XSL Stylesheets V1.65.1">
+<meta name="keywords" content="RSS, Atom, CDF, XML, feed, parser, Python">
+<link rel="start" href="index.html" title="Documentation">
+<link rel="up" href="history.html" title="Revision history">
+<link rel="prev" href="history.html" title="Revision history">
+<link rel="next" href="changes-41.html" title="Changes in version 4.1">
+</head>
+<body id="feedparser-org" class="docs">
+<!--#include virtual="/inc/header.html"--><div id="main"><div id="mainInner">
+<p id="breadcrumb">You are here: <a href="../">Home</a> → <a href="index.html">Documentation</a> → <a href="history.html">Revision history</a> → <span class="thispage">Changes in version 4.2</span></p>
+<div class="section" lang="en">
+<div class="titlepage">
+<div><div><h2 class="title">
+<a name="changes.42" class="skip" href="#changes.42" title="link to this section"><img src="images/permalink.gif" alt="[link]" title="link to this section" width="8" height="9"></a> Changes in version 4.2</h2></div></div>
+<div></div>
+</div>
+<div class="abstract"><p>Here is a summary of the major changes in <span class="application">Universal Feed Parser</span> 4.2.</p></div>
+<div class="itemizedlist"><ul>
+<li>
+<a href="microformats.html" title="Microformats">Microformats</a>.</li>
+<li>
+<a href="html-sanitization.html#advanced.sanitization.css" title="CSS Sanitization">CSS Sanitization</a>. (Previous versions of <span class="application">Universal Feed Parser</span> simply stripped all inline styles.) Many thanks to Sam Ruby for implementing this, despite my insistence that it was impossible.</li>
+<li>
+<a href="html-sanitization.html#advanced.sanitization.svg" title="SVG Sanitization">SVG Sanitization</a> and <a href="html-sanitization.html#advanced.sanitization.mathml" title="MathML Sanitization">MathML Sanitization</a>. Many thanks to Jacques Distler for patiently debugging these features.</li>
+<li>Updated the whitelist of <a href="html-sanitization.html#advanced.sanitization.html" title="HTML Sanitization">acceptable HTML elements and attributes</a> based on the latest draft of the <acronym title="HyperText Markup Language">HTML</acronym> 5 specification.</li>
+<li>Better detection of HTML content in elements with ambiguous content types.</li>
+</ul></div>
+</div>
+<div style="float: left">← <a class="NavigationArrow" href="history.html">Revision history</a>
+</div>
+<div style="text-align: right">
+<a class="NavigationArrow" href="changes-41.html">Changes in version 4.1</a> →</div>
+<hr style="clear:both">
+<div class="footer"><p class="copyright">Copyright (c) 2004, 2005, 2006, 2007, 2008 Mark Pilgrim</p></div>
+</div></div>
+</body>
+</html>
Modified: trunk/www/docs/character-encoding.html
==============================================================================
--- trunk/www/docs/character-encoding.html (original)
+++ trunk/www/docs/character-encoding.html Wed Mar 5 20:53:21 2008
@@ -21,7 +21,7 @@
<a name="advanced.encoding" class="skip" href="#advanced.encoding" title="link to this section"><img src="images/permalink.gif" alt="[link]" title="link to this section" width="8" height="9"></a> Character Encoding Detection</h2></div></div>
<div></div>
</div>
-<a name="id4768017"></a><table class="tip" border="0" summary="">
+<a name="id295405"></a><table class="tip" border="0" summary="">
<tr><td rowspan="2" align="center" valign="top" width="1%"><img src="images/tip.png" alt="Tip" title="" width="24" height="24"></td></tr>
<tr><td colspan="2" align="left" valign="top" width="99%">Feeds may be published in any character encoding. <span class="application">Python</span> supports only a few character encodings by default. To support the maximum number of character encodings (and be able to parse the maximum number of feeds), you should install <tt class="filename">cjkcodecs</tt> and <tt class="filename">iconv_codec</tt>. Both are available at <a href="
http://cjkpython.i18n.org/">
http://cjkpython.i18n.org/</a>.</td></tr>
</table>
@@ -93,7 +93,7 @@
<div style="text-align: right">
<a class="NavigationArrow" href="bozo.html">Bozo Detection</a> →</div>
<hr style="clear:both">
-<div class="footer"><p class="copyright">Copyright (c) 2004, 2005, 2006 Mark Pilgrim</p></div>
+<div class="footer"><p class="copyright">Copyright (c) 2004, 2005, 2006, 2007, 2008 Mark Pilgrim</p></div>
</div></div>
</body>
</html>
Modified: trunk/www/docs/common-atom-elements.html
==============================================================================
--- trunk/www/docs/common-atom-elements.html (original)
+++ trunk/www/docs/common-atom-elements.html Wed Mar 5 20:53:21 2008
@@ -116,9 +116,9 @@
'language': u'en-US',
'value': u'<div>Watch out for <span>nasty tricks</span></div>'}]</span></pre>
</div>
-<a name="id4760018"></a><table class="note" border="0" summary="">
+<a name="id286141"></a><table class="note" border="0" summary="">
<tr><td rowspan="2" align="center" valign="top" width="1%"><img src="images/note.png" alt="Note" title="" width="24" height="24"></td></tr>
-<tr><td colspan="2" align="left" valign="top" width="99%">The parsed <tt class="sgmltag-element">summary</tt> and <tt class="sgmltag-element">content</tt> are not the same as they appear in the original feed. The original elements contained dangerous <acronym title="HyperText Markup Language">HTML</acronym> markup which was sanitized. See <a href="html-sanitization.html" title="HTML Sanitization">HTML Sanitization</a> for details.</td></tr>
+<tr><td colspan="2" align="left" valign="top" width="99%">The parsed <tt class="sgmltag-element">summary</tt> and <tt class="sgmltag-element">content</tt> are not the same as they appear in the original feed. The original elements contained dangerous <acronym title="HyperText Markup Language">HTML</acronym> markup which was sanitized. See <a href="html-sanitization.html" title="Sanitization">Sanitization</a> for details.</td></tr>
</table>
<p>Because Atom entries can have more than one <tt class="sgmltag-element">content</tt> element, <tt class="varname">d.entries[0].content</tt> is a list of dictionaries. Each dictionary contains metadata about a single <tt class="sgmltag-element">content</tt> element. The two most important values in the dictionary are the content type, in <tt class="varname">d.entries[0].content[0].type</tt>, and the actual content value, in <tt class="varname">d.entries[0].content[0].value</tt>.</p>
<p>You can get this level of detail on other Atom elements too.</p>
@@ -128,7 +128,7 @@
<div style="text-align: right">
<a class="NavigationArrow" href="atom-detail.html">Getting Detailed Information on Atom Elements</a> →</div>
<hr style="clear:both">
-<div class="footer"><p class="copyright">Copyright (c) 2004, 2005, 2006 Mark Pilgrim</p></div>
+<div class="footer"><p class="copyright">Copyright (c) 2004, 2005, 2006, 2007, 2008 Mark Pilgrim</p></div>
</div></div>
</body>
</html>
Modified: trunk/www/docs/common-rss-elements.html
==============================================================================
--- trunk/www/docs/common-rss-elements.html (original)
+++ trunk/www/docs/common-rss-elements.html Wed Mar 5 20:53:21 2008
@@ -77,7 +77,7 @@
<tt class="prompt">>>> </tt><span class="userinput">d.entries[0].id</span>
<span class="computeroutput">u'
http://example.org/guid/1'</span></pre>
</div>
-<a name="id4759546"></a><table class="tip" border="0" summary="">
+<a name="id285756"></a><table class="tip" border="0" summary="">
<tr><td rowspan="2" align="center" valign="top" width="1%"><img src="images/tip.png" alt="Tip" title="" width="24" height="24"></td></tr>
<tr><td colspan="2" align="left" valign="top" width="99%">You can also access data from <acronym title="Rich Site Summary">RSS</acronym> feeds using Atom terminology. See <a href="content-normalization.html" title="Content Normalization">Content Normalization</a> for details.</td></tr>
</table>
@@ -87,7 +87,7 @@
<div style="text-align: right">
<a class="NavigationArrow" href="common-atom-elements.html">Common Atom Elements</a> →</div>
<hr style="clear:both">
-<div class="footer"><p class="copyright">Copyright (c) 2004, 2005, 2006 Mark Pilgrim</p></div>
+<div class="footer"><p class="copyright">Copyright (c) 2004, 2005, 2006, 2007, 2008 Mark Pilgrim</p></div>
</div></div>
</body>
</html>
Modified: trunk/www/docs/content-normalization.html
==============================================================================
--- trunk/www/docs/content-normalization.html (original)
+++ trunk/www/docs/content-normalization.html Wed Mar 5 20:53:21 2008
@@ -75,7 +75,7 @@
<tt class="prompt">>>> </tt><span class="userinput">e.updated_parsed</span>
<span class="computeroutput">(2002, 9, 5, 0, 0, 1, 3, 248, 0)</span></pre>
</div>
-<a name="id4764701"></a><table class="note" border="0" summary="">
+<a name="id292477"></a><table class="note" border="0" summary="">
<tr><td rowspan="2" align="center" valign="top" width="1%"><img src="images/note.png" alt="Note" title="" width="24" height="24"></td></tr>
<tr><td colspan="2" align="left" valign="top" width="99%">For more examples of how <span class="application">Universal Feed Parser</span> normalizes content from different formats, see <a href="annotated-examples.html" title="Annotated Examples">Annotated Examples</a>.</td></tr>
</table>
@@ -85,7 +85,7 @@
<div style="text-align: right">
<a class="NavigationArrow" href="namespace-handling.html">Namespace Handling</a> →</div>
<hr style="clear:both">
-<div class="footer"><p class="copyright">Copyright (c) 2004, 2005, 2006 Mark Pilgrim</p></div>
+<div class="footer"><p class="copyright">Copyright (c) 2004, 2005, 2006, 2007, 2008 Mark Pilgrim</p></div>
</div></div>
</body>
</html>
Modified: trunk/www/docs/date-parsing.html
==============================================================================
--- trunk/www/docs/date-parsing.html (original)
+++ trunk/www/docs/date-parsing.html Wed Mar 5 20:53:21 2008
@@ -10,7 +10,7 @@
<link rel="start" href="index.html" title="Documentation">
<link rel="up" href="advanced.html" title="Advanced Features">
<link rel="prev" href="advanced.html" title="Advanced Features">
-<link rel="next" href="html-sanitization.html" title="HTML Sanitization">
+<link rel="next" href="html-sanitization.html" title="Sanitization">
</head>
<body id="feedparser-org" class="docs">
<!--#include virtual="/inc/header.html"--><div id="main"><div id="mainInner">
@@ -70,7 +70,7 @@
</div>
<p>Here is a representative list of the formats that <span class="application">Universal Feed Parser</span> can recognize in any date element:</p>
<div class="table">
-<a name="id4761621" class="skip" href="#id4761621" title="link to this table"><img src="images/permalink.gif" alt="[link]" title="link to this table" width="8" height="9"></a> <h3 class="title">Recognized Date Formats</h3>
+<a name="id287461" class="skip" href="#id287461" title="link to this table"><img src="images/permalink.gif" alt="[link]" title="link to this table" width="8" height="9"></a> <h3 class="title">Recognized Date Formats</h3>
<table summary="Recognized Date Formats" border="1">
<colgroup>
<col>
@@ -272,7 +272,7 @@
</div>
<p>Your newly-registered date handler will be tried before all the other date handlers built into <span class="application">Universal Feed Parser</span>. (More specifically, all date handlers are tried in "last in, first out" order; i.e. the last handler to be registered is the first one tried, and so on in reverse order of registration.)</p>
<p>If your date handler returns <tt class="constant">None</tt>, or anything other than a <span class="application">Python</span> 9-tuple date, or raises an exception of any kind, the error will be silently ignored and the other registered date handlers will be tried in order. If no date handlers succeed, then the date is not parsed, and the <tt class="sgmltag-element">*_parsed</tt> value will not be present in the results dictionary. The original date string will still be available in the appropriate element in the results dictionary.</p>
-<a name="id4762422"></a><table class="tip" border="0" summary="">
+<a name="id288168"></a><table class="tip" border="0" summary="">
<tr><td rowspan="2" align="center" valign="top" width="1%"><img src="images/tip.png" alt="Tip" title="" width="24" height="24"></td></tr>
<tr><td colspan="2" align="left" valign="top" width="99%">If you write a new date handler, you are encouraged (but not required) to <a href="
http://sourceforge.net/projects/feedparser/">submit a patch</a> so it can be integrated into the next version of <span class="application">Universal Feed Parser</span>.</td></tr>
</table>
@@ -281,9 +281,9 @@
<div style="float: left">← <a class="NavigationArrow" href="advanced.html">Advanced Features</a>
</div>
<div style="text-align: right">
-<a class="NavigationArrow" href="html-sanitization.html">HTML Sanitization</a> →</div>
+<a class="NavigationArrow" href="html-sanitization.html">Sanitization</a> →</div>
<hr style="clear:both">
-<div class="footer"><p class="copyright">Copyright (c) 2004, 2005, 2006 Mark Pilgrim</p></div>
+<div class="footer"><p class="copyright">Copyright (c) 2004, 2005, 2006, 2007, 2008 Mark Pilgrim</p></div>
</div></div>
</body>
</html>
Modified: trunk/www/docs/history.html
==============================================================================
--- trunk/www/docs/history.html (original)
+++ trunk/www/docs/history.html Wed Mar 5 20:53:21 2008
@@ -10,7 +10,7 @@
<link rel="start" href="index.html" title="Documentation">
<link rel="up" href="index.html" title="Documentation">
<link rel="prev" href="annotated-rss10.html" title="RSS 1.0">
-<link rel="next" href="changes-41.html" title="Changes in version 4.1">
+<link rel="next" href="changes-42.html" title="Changes in version 4.2">
</head>
<body id="feedparser-org" class="docs">
<!--#include virtual="/inc/header.html"--><div id="main"><div id="mainInner">
@@ -22,6 +22,7 @@
<div></div>
</div>
<div class="toc"><ul>
+<li><span class="section"><a href="changes-42.html">Changes in version 4.2</a></span></li>
<li><span class="section"><a href="changes-41.html">Changes in version 4.1</a></span></li>
<li><span class="section"><a href="changes-40.html">Changes in version 4.0</a></span></li>
</ul></div>
@@ -29,9 +30,9 @@
<div style="float: left">← <a class="NavigationArrow" href="annotated-rss10.html">RSS 1.0</a>
</div>
<div style="text-align: right">
-<a class="NavigationArrow" href="changes-41.html">Changes in version 4.1</a> →</div>
+<a class="NavigationArrow" href="changes-42.html">Changes in version 4.2</a> →</div>
<hr style="clear:both">
-<div class="footer"><p class="copyright">Copyright (c) 2004, 2005, 2006 Mark Pilgrim</p></div>
+<div class="footer"><p class="copyright">Copyright (c) 2004, 2005, 2006, 2007, 2008 Mark Pilgrim</p></div>
</div></div>
</body>
</html>
Modified: trunk/www/docs/html-sanitization.html
==============================================================================
--- trunk/www/docs/html-sanitization.html (original)
+++ trunk/www/docs/html-sanitization.html Wed Mar 5 20:53:21 2008
@@ -2,7 +2,7 @@
<html lang="en">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
-<title>HTML Sanitization [Universal Feed Parser]</title>
+<title>Sanitization [Universal Feed Parser]</title>
<link rel="stylesheet" href="../css/feedparser.css" type="text/css">
<link rev="made" href="mailto:
ma...@diveintomark.org">
<meta name="generator" content="DocBook XSL Stylesheets V1.65.1">
@@ -14,14 +14,14 @@
</head>
<body id="feedparser-org" class="docs">
<!--#include virtual="/inc/header.html"--><div id="main"><div id="mainInner">
-<p id="breadcrumb">You are here: <a href="../">Home</a> → <a href="index.html">Documentation</a> → <a href="advanced.html">Advanced Features</a> → <span class="thispage">HTML Sanitization</span></p>
+<p id="breadcrumb">You are here: <a href="../">Home</a> → <a href="index.html">Documentation</a> → <a href="advanced.html">Advanced Features</a> → <span class="thispage">Sanitization</span></p>
<div class="section" lang="en">
<div class="titlepage">
<div><div><h2 class="title">
-<a name="advanced.sanitization" class="skip" href="#advanced.sanitization" title="link to this section"><img src="images/permalink.gif" alt="[link]" title="link to this section" width="8" height="9"></a> <acronym title="HyperText Markup Language">HTML</acronym> Sanitization</h2></div></div>
+<a name="advanced.sanitization" class="skip" href="#advanced.sanitization" title="link to this section"><img src="images/permalink.gif" alt="[link]" title="link to this section" width="8" height="9"></a> Sanitization</h2></div></div>
<div></div>
</div>
-<div class="abstract"><p>Many feed elements may contain <acronym title="HyperText Markup Language">HTML</acronym> markup, and many feed aggregators use a web browser (or browser component) to display content. By default, <span class="application">Universal Feed Parser</span> sanitizes <acronym title="HyperText Markup Language">HTML</acronym> markup in several elements, removing <acronym title="HyperText Markup Language">HTML</acronym> tags and attributes that could introduce Javascript or other security risks.</p></div>
+<div class="abstract"><p>Most feeds embed <acronym title="HyperText Markup Language">HTML</acronym> markup within feed elements. Some feeds even embed other types of markup, such as <acronym title="Scalable Vector Graphics">SVG</acronym> or <acronym title="Mathematical Markup Language">MathML</acronym>. Since many feed aggregators use a web browser (or browser component) to display content, <span class="application">Universal Feed Parser</span> sanitizes embedded markup to remove things that could pose security risks.</p></div>
<p>These elements are sanitized by default:</p>
<div class="itemizedlist"><ul>
<li><a href="reference-feed-title.html" title="feed.title">feed.title</a></li>
@@ -32,24 +32,66 @@
<li><a href="reference-entry-summary.html" title="entries[i].summary">entries[i].summary</a></li>
<li><a href="reference-entry-content.html" title="entries[i].content">entries[i].content</a></li>
</ul></div>
-<p>The following <acronym title="HyperText Markup Language">HTML</acronym> tags are allowed by default (all others are stripped):
-<span class="simplelist"><tt class="sgmltag-element">a</tt>, <tt class="sgmltag-element">abbr</tt>, <tt class="sgmltag-element">acronym</tt>, <tt class="sgmltag-element">address</tt>, <tt class="sgmltag-element">area</tt>, <tt class="sgmltag-element">b</tt>, <tt class="sgmltag-element">big</tt>, <tt class="sgmltag-element">blockquote</tt>, <tt class="sgmltag-element">br</tt>, <tt class="sgmltag-element">button</tt>, <tt class="sgmltag-element">caption</tt>, <tt class="sgmltag-element">center</tt>, <tt class="sgmltag-element">cite</tt>, <tt class="sgmltag-element">code</tt>, <tt class="sgmltag-element">col</tt>, <tt class="sgmltag-element">colgroup</tt>, <tt class="sgmltag-element">dd</tt>, <tt class="sgmltag-element">del</tt>, <tt class="sgmltag-element">dfn</tt>, <tt class="sgmltag-element">dir</tt>, <tt class="sgmltag-element">div</tt>, <tt class="sgmltag-element">dl</tt>, <tt class="sgmltag-element">dt</tt>, <tt class="sgmltag-element">em</tt>, <tt class="sgmltag-element">fieldset</tt>, <tt class="sgmltag-element">font</tt>, <tt class="sgmltag-element">form</tt>, <tt class="sgmltag-element">h1</tt>, <tt class="sgmltag-element">h2</tt>, <tt class="sgmltag-element">h3</tt>, <tt class="sgmltag-element">h4</tt>, <tt class="sgmltag-element">h5</tt>, <tt class="sgmltag-element">h6</tt>, <tt class="sgmltag-element">hr</tt>, <tt class="sgmltag-element">i</tt>, <tt class="sgmltag-element">img</tt>, <tt class="sgmltag-element">input</tt>, <tt class="sgmltag-element">ins</tt>, <tt class="sgmltag-element">kbd</tt>, <tt class="sgmltag-element">label</tt>, <tt class="sgmltag-element">legend</tt>, <tt class="sgmltag-element">li</tt>, <tt class="sgmltag-element">map</tt>, <tt class="sgmltag-element">menu</tt>, <tt class="sgmltag-element">ol</tt>, <tt class="sgmltag-element">optgroup</tt>, <tt class="sgmltag-element">option</tt>, <tt class="sgmltag-element">p</tt>, <tt class="sgmltag-element">pre</tt>, <tt class="sgmltag-element">q</tt>, <tt class="sgmltag-element">s</tt>, <tt class="sgmltag-element">samp</tt>, <tt class="sgmltag-element">select</tt>, <tt class="sgmltag-element">small</tt>, <tt class="sgmltag-element">span</tt>, <tt class="sgmltag-element">strike</tt>, <tt class="sgmltag-element">strong</tt>, <tt class="sgmltag-element">sub</tt>, <tt class="sgmltag-element">sup</tt>, <tt class="sgmltag-element">table</tt>, <tt class="sgmltag-element">tbody</tt>, <tt class="sgmltag-element">td</tt>, <tt class="sgmltag-element">textarea</tt>, <tt class="sgmltag-element">tfoot</tt>, <tt class="sgmltag-element">th</tt>, <tt class="sgmltag-element">thead</tt>, <tt class="sgmltag-element">tr</tt>, <tt class="sgmltag-element">tt</tt>, <tt class="sgmltag-element">u</tt>, <tt class="sgmltag-element">ul</tt>, <tt class="sgmltag-element">var</tt></span>
+<div class="section" lang="en">
+<div class="titlepage">
+<div><div><h3 class="title">
+<a name="advanced.sanitization.html" class="skip" href="#advanced.sanitization.html" title="link to this section"><img src="images/permalink.gif" alt="[link]" title="link to this section" width="8" height="9"></a> <acronym title="HyperText Markup Language">HTML</acronym> Sanitization</h3></div></div>
+<div></div>
+</div>
+<p>The following <acronym title="HyperText Markup Language">HTML</acronym> elements are allowed by default (all others are stripped):
+<span class="simplelist"><tt class="sgmltag-element">a</tt>, <tt class="sgmltag-element">abbr</tt>, <tt class="sgmltag-element">acronym</tt>, <tt class="sgmltag-element">address</tt>, <tt class="sgmltag-element">area</tt>, <tt class="sgmltag-element">article</tt>, <tt class="sgmltag-element">aside</tt>, <tt class="sgmltag-element">audio</tt>, <tt class="sgmltag-element">b</tt>, <tt class="sgmltag-element">big</tt>, <tt class="sgmltag-element">blockquote</tt>, <tt class="sgmltag-element">br</tt>, <tt class="sgmltag-element">button</tt>, <tt class="sgmltag-element">canvas</tt>, <tt class="sgmltag-element">caption</tt>, <tt class="sgmltag-element">center</tt>, <tt class="sgmltag-element">cite</tt>, <tt class="sgmltag-element">code</tt>, <tt class="sgmltag-element">col</tt>, <tt class="sgmltag-element">colgroup</tt>, <tt class="sgmltag-element">command</tt>, <tt class="sgmltag-element">datagrid</tt>, <tt class="sgmltag-element">datalist</tt>, <tt class="sgmltag-element">dd</tt>, <tt class="sgmltag-element">del</tt>, <tt class="sgmltag-element">details</tt>, <tt class="sgmltag-element">dfn</tt>, <tt class="sgmltag-element">dialog</tt>, <tt class="sgmltag-element">dir</tt>, <tt class="sgmltag-element">div</tt>, <tt class="sgmltag-element">dl</tt>, <tt class="sgmltag-element">dt</tt>, <tt class="sgmltag-element">em</tt>, <tt class="sgmltag-element">event-source</tt>, <tt class="sgmltag-element">fieldset</tt>, <tt class="sgmltag-element">figure</tt>, <tt class="sgmltag-element">footer</tt>, <tt class="sgmltag-element">font</tt>, <tt class="sgmltag-element">form</tt>, <tt class="sgmltag-element">header</tt>, <tt class="sgmltag-element">h1</tt>, <tt class="sgmltag-element">h2</tt>, <tt class="sgmltag-element">h3</tt>, <tt class="sgmltag-element">h4</tt>, <tt class="sgmltag-element">h5</tt>, <tt class="sgmltag-element">h6</tt>, <tt class="sgmltag-element">hr</tt>, <tt class="sgmltag-element">i</tt>, <tt class="sgmltag-element">img</tt>, <tt class="sgmltag-element">input</tt>, <tt class="sgmltag-element">ins</tt>, <tt class="sgmltag-element">keygen</tt>, <tt class="sgmltag-element">kbd</tt>, <tt class="sgmltag-element">label</tt>, <tt class="sgmltag-element">legend</tt>, <tt class="sgmltag-element">li</tt>, <tt class="sgmltag-element">m</tt>, <tt class="sgmltag-element">map</tt>, <tt class="sgmltag-element">menu</tt>, <tt class="sgmltag-element">meter</tt>, <tt class="sgmltag-element">multicol</tt>, <tt class="sgmltag-element">nav</tt>, <tt class="sgmltag-element">nextid</tt>, <tt class="sgmltag-element">noscript</tt>, <tt class="sgmltag-element">ol</tt>, <tt class="sgmltag-element">output</tt>, <tt class="sgmltag-element">optgroup</tt>, <tt class="sgmltag-element">option</tt>, <tt class="sgmltag-element">p</tt>, <tt class="sgmltag-element">pre</tt>, <tt class="sgmltag-element">progress</tt>, <tt class="sgmltag-element">q</tt>, <tt class="sgmltag-element">s</tt>, <tt class="sgmltag-element">samp</tt>, <tt class="sgmltag-element">section</tt>, <tt class="sgmltag-element">select</tt>, <tt class="sgmltag-element">small</tt>, <tt class="sgmltag-element">sound</tt>, <tt class="sgmltag-element">source</tt>, <tt class="sgmltag-element">spacer</tt>, <tt class="sgmltag-element">span</tt>, <tt class="sgmltag-element">strike</tt>, <tt class="sgmltag-element">strong</tt>, <tt class="sgmltag-element">sub</tt>, <tt class="sgmltag-element">sup</tt>, <tt class="sgmltag-element">table</tt>, <tt class="sgmltag-element">tbody</tt>, <tt class="sgmltag-element">td</tt>, <tt class="sgmltag-element">textarea</tt>, <tt class="sgmltag-element">time</tt>, <tt class="sgmltag-element">tfoot</tt>, <tt class="sgmltag-element">th</tt>, <tt class="sgmltag-element">thead</tt>, <tt class="sgmltag-element">tr</tt>, <tt class="sgmltag-element">tt</tt>, <tt class="sgmltag-element">u</tt>, <tt class="sgmltag-element">ul</tt>, <tt class="sgmltag-element">var</tt>, <tt class="sgmltag-element">video</tt></span>
</p>
<p>The following <acronym title="HyperText Markup Language">HTML</acronym> attributes are allowed by default (all others are stripped):
-<span class="simplelist"><tt class="sgmltag-attribute">abbr</tt>, <tt class="sgmltag-attribute">accept</tt>, <tt class="sgmltag-attribute">accept-charset</tt>, <tt class="sgmltag-attribute">accesskey</tt>, <tt class="sgmltag-attribute">action</tt>, <tt class="sgmltag-attribute">align</tt>, <tt class="sgmltag-attribute">alt</tt>, <tt class="sgmltag-attribute">axis</tt>, <tt class="sgmltag-attribute">border</tt>, <tt class="sgmltag-attribute">cellpadding</tt>, <tt class="sgmltag-attribute">cellspacing</tt>, <tt class="sgmltag-attribute">char</tt>, <tt class="sgmltag-attribute">charoff</tt>, <tt class="sgmltag-attribute">charset</tt>, <tt class="sgmltag-attribute">checked</tt>, <tt class="sgmltag-attribute">cite</tt>, <tt class="sgmltag-attribute">class</tt>, <tt class="sgmltag-attribute">clear</tt>, <tt class="sgmltag-attribute">cols</tt>, <tt class="sgmltag-attribute">colspan</tt>, <tt class="sgmltag-attribute">color</tt>, <tt class="sgmltag-attribute">compact</tt>, <tt class="sgmltag-attribute">coords</tt>, <tt class="sgmltag-attribute">datetime</tt>, <tt class="sgmltag-attribute">dir</tt>, <tt class="sgmltag-attribute">disabled</tt>, <tt class="sgmltag-attribute">enctype</tt>, <tt class="sgmltag-attribute">for</tt>, <tt class="sgmltag-attribute">frame</tt>, <tt class="sgmltag-attribute">headers</tt>, <tt class="sgmltag-attribute">height</tt>, <tt class="sgmltag-attribute">href</tt>, <tt class="sgmltag-attribute">hreflang</tt>, <tt class="sgmltag-attribute">hspace</tt>, <tt class="sgmltag-attribute">id</tt>, <tt class="sgmltag-attribute">ismap</tt>, <tt class="sgmltag-attribute">label</tt>, <tt class="sgmltag-attribute">lang</tt>, <tt class="sgmltag-attribute">longdesc</tt>, <tt class="sgmltag-attribute">maxlength</tt>, <tt class="sgmltag-attribute">media</tt>, <tt class="sgmltag-attribute">method</tt>, <tt class="sgmltag-attribute">multiple</tt>, <tt class="sgmltag-attribute">name</tt>, <tt class="sgmltag-attribute">nohref</tt>, <tt class="sgmltag-attribute">noshade</tt>, <tt class="sgmltag-attribute">nowrap</tt>, <tt class="sgmltag-attribute">prompt</tt>, <tt class="sgmltag-attribute">readonly</tt>, <tt class="sgmltag-attribute">rel</tt>, <tt class="sgmltag-attribute">rev</tt>, <tt class="sgmltag-attribute">rows</tt>, <tt class="sgmltag-attribute">rowspan</tt>, <tt class="sgmltag-attribute">rules</tt>, <tt class="sgmltag-attribute">scope</tt>, <tt class="sgmltag-attribute">selected</tt>, <tt class="sgmltag-attribute">shape</tt>, <tt class="sgmltag-attribute">size</tt>, <tt class="sgmltag-attribute">span</tt>, <tt class="sgmltag-attribute">src</tt>, <tt class="sgmltag-attribute">start</tt>, <tt class="sgmltag-attribute">summary</tt>, <tt class="sgmltag-attribute">tabindex</tt>, <tt class="sgmltag-attribute">target</tt>, <tt class="sgmltag-attribute">title</tt>, <tt class="sgmltag-attribute">type</tt>, <tt class="sgmltag-attribute">usemap</tt>, <tt class="sgmltag-attribute">valign</tt>, <tt class="sgmltag-attribute">value</tt>, <tt class="sgmltag-attribute">vspace</tt>, <tt class="sgmltag-attribute">width</tt></span>
+<span class="simplelist"><tt class="sgmltag-attribute">abbr</tt>, <tt class="sgmltag-attribute">accept</tt>, <tt class="sgmltag-attribute">accept-charset</tt>, <tt class="sgmltag-attribute">accesskey</tt>, <tt class="sgmltag-attribute">action</tt>, <tt class="sgmltag-attribute">align</tt>, <tt class="sgmltag-attribute">alt</tt>, <tt class="sgmltag-attribute">autoplay</tt>, <tt class="sgmltag-attribute">autocomplete</tt>, <tt class="sgmltag-attribute">autofocus</tt>, <tt class="sgmltag-attribute">axis</tt>, <tt class="sgmltag-attribute">background</tt>, <tt class="sgmltag-attribute">balance</tt>, <tt class="sgmltag-attribute">bgcolor</tt>, <tt class="sgmltag-attribute">bgproperties</tt>, <tt class="sgmltag-attribute">border</tt>, <tt class="sgmltag-attribute">bordercolor</tt>, <tt class="sgmltag-attribute">bordercolordark</tt>, <tt class="sgmltag-attribute">bordercolorlight</tt>, <tt class="sgmltag-attribute">bottompadding</tt>, <tt class="sgmltag-attribute">cellpadding</tt>, <tt class="sgmltag-attribute">cellspacing</tt>, <tt class="sgmltag-attribute">ch</tt>, <tt class="sgmltag-attribute">challenge</tt>, <tt class="sgmltag-attribute">char</tt>, <tt class="sgmltag-attribute">charoff</tt>, <tt class="sgmltag-attribute">choff</tt>, <tt class="sgmltag-attribute">charset</tt>, <tt class="sgmltag-attribute">checked</tt>, <tt class="sgmltag-attribute">cite</tt>, <tt class="sgmltag-attribute">class</tt>, <tt class="sgmltag-attribute">clear</tt>, <tt class="sgmltag-attribute">color</tt>, <tt class="sgmltag-attribute">cols</tt>, <tt class="sgmltag-attribute">colspan</tt>, <tt class="sgmltag-attribute">compact</tt>, <tt class="sgmltag-attribute">contenteditable</tt>, <tt class="sgmltag-attribute">coords</tt>, <tt class="sgmltag-attribute">data</tt>, <tt class="sgmltag-attribute">datafld</tt>, <tt class="sgmltag-attribute">datapagesize</tt>, <tt class="sgmltag-attribute">datasrc</tt>, <tt class="sgmltag-attribute">datetime</tt>, <tt class="sgmltag-attribute">default</tt>, <tt class="sgmltag-attribute">delay</tt>, <tt class="sgmltag-attribute">dir</tt>, <tt class="sgmltag-attribute">disabled</tt>, <tt class="sgmltag-attribute">draggable</tt>, <tt class="sgmltag-attribute">dynsrc</tt>, <tt class="sgmltag-attribute">enctype</tt>, <tt class="sgmltag-attribute">end</tt>, <tt class="sgmltag-attribute">face</tt>, <tt class="sgmltag-attribute">for</tt>, <tt class="sgmltag-attribute">form</tt>, <tt class="sgmltag-attribute">frame</tt>, <tt class="sgmltag-attribute">galleryimg</tt>, <tt class="sgmltag-attribute">gutter</tt>, <tt class="sgmltag-attribute">headers</tt>, <tt class="sgmltag-attribute">height</tt>, <tt class="sgmltag-attribute">hidefocus</tt>, <tt class="sgmltag-attribute">hidden</tt>, <tt class="sgmltag-attribute">high</tt>, <tt class="sgmltag-attribute">href</tt>, <tt class="sgmltag-attribute">hreflang</tt>, <tt class="sgmltag-attribute">hspace</tt>, <tt class="sgmltag-attribute">icon</tt>, <tt class="sgmltag-attribute">id</tt>, <tt class="sgmltag-attribute">inputmode</tt>, <tt class="sgmltag-attribute">ismap</tt>, <tt class="sgmltag-attribute">keytype</tt>, <tt class="sgmltag-attribute">label</tt>, <tt class="sgmltag-attribute">leftspacing</tt>, <tt class="sgmltag-attribute">lang</tt>, <tt class="sgmltag-attribute">list</tt>, <tt class="sgmltag-attribute">longdesc</tt>, <tt class="sgmltag-attribute">loop</tt>, <tt class="sgmltag-attribute">loopcount</tt>, <tt class="sgmltag-attribute">loopend</tt>, <tt class="sgmltag-attribute">loopstart</tt>, <tt class="sgmltag-attribute">low</tt>, <tt class="sgmltag-attribute">lowsrc</tt>, <tt class="sgmltag-attribute">max</tt>, <tt class="sgmltag-attribute">maxlength</tt>, <tt class="sgmltag-attribute">media</tt>, <tt class="sgmltag-attribute">method</tt>, <tt class="sgmltag-attribute">min</tt>, <tt class="sgmltag-attribute">multiple</tt>, <tt class="sgmltag-attribute">name</tt>, <tt class="sgmltag-attribute">nohref</tt>, <tt class="sgmltag-attribute">noshade</tt>, <tt class="sgmltag-attribute">nowrap</tt>, <tt class="sgmltag-attribute">open</tt>, <tt class="sgmltag-attribute">optimum</tt>, <tt class="sgmltag-attribute">pattern</tt>, <tt class="sgmltag-attribute">ping</tt>, <tt class="sgmltag-attribute">point-size</tt>, <tt class="sgmltag-attribute">prompt</tt>, <tt class="sgmltag-attribute">pqg</tt>, <tt class="sgmltag-attribute">radiogroup</tt>, <tt class="sgmltag-attribute">readonly</tt>, <tt class="sgmltag-attribute">rel</tt>, <tt class="sgmltag-attribute">repeat-max</tt>, <tt class="sgmltag-attribute">repeat-min</tt>, <tt class="sgmltag-attribute">replace</tt>, <tt class="sgmltag-attribute">required</tt>, <tt class="sgmltag-attribute">rev</tt>, <tt class="sgmltag-attribute">rightspacing</tt>, <tt class="sgmltag-attribute">rows</tt>, <tt class="sgmltag-attribute">rowspan</tt>, <tt class="sgmltag-attribute">rules</tt>, <tt class="sgmltag-attribute">scope</tt>, <tt class="sgmltag-attribute">selected</tt>, <tt class="sgmltag-attribute">shape</tt>, <tt class="sgmltag-attribute">size</tt>, <tt class="sgmltag-attribute">span</tt>, <tt class="sgmltag-attribute">src</tt>, <tt class="sgmltag-attribute">start</tt>, <tt class="sgmltag-attribute">step</tt>, <tt class="sgmltag-attribute">summary</tt>, <tt class="sgmltag-attribute">suppress</tt>, <tt class="sgmltag-attribute">tabindex</tt>, <tt class="sgmltag-attribute">target</tt>, <tt class="sgmltag-attribute">template</tt>, <tt class="sgmltag-attribute">title</tt>, <tt class="sgmltag-attribute">toppadding</tt>, <tt class="sgmltag-attribute">type</tt>, <tt class="sgmltag-attribute">unselectable</tt>, <tt class="sgmltag-attribute">usemap</tt>, <tt class="sgmltag-attribute">urn</tt>, <tt class="sgmltag-attribute">valign</tt>, <tt class="sgmltag-attribute">value</tt>, <tt class="sgmltag-attribute">variable</tt>, <tt class="sgmltag-attribute">volume</tt>, <tt class="sgmltag-attribute">vspace</tt>, <tt class="sgmltag-attribute">vrml</tt>, <tt class="sgmltag-attribute">width</tt>, <tt class="sgmltag-attribute">wrap</tt>, <tt class="sgmltag-attribute">xml:lang</tt></span>
</p>
-<a name="id4763569"></a><table class="note" border="0" summary="">
+</div>
+<div class="section" lang="en">
+<div class="titlepage">
+<div><div><h3 class="title">
+<a name="advanced.sanitization.svg" class="skip" href="#advanced.sanitization.svg" title="link to this section"><img src="images/permalink.gif" alt="[link]" title="link to this section" width="8" height="9"></a> <acronym title="Scalable Vector Graphics">SVG</acronym> Sanitization</h3></div></div>
+<div></div>
+</div>
+<p>The following SVG elements are allowed by default (all others are stripped):
+<span class="simplelist"><tt class="sgmltag-element">a</tt>, <tt class="sgmltag-element">animate</tt>, <tt class="sgmltag-element">animateColor</tt>, <tt class="sgmltag-element">animateMotion</tt>, <tt class="sgmltag-element">animateTransform</tt>, <tt class="sgmltag-element">circle</tt>, <tt class="sgmltag-element">defs</tt>, <tt class="sgmltag-element">desc</tt>, <tt class="sgmltag-element">ellipse</tt>, <tt class="sgmltag-element">foreignObject</tt>, <tt class="sgmltag-element">font-face</tt>, <tt class="sgmltag-element">font-face-name</tt>, <tt class="sgmltag-element">font-face-src</tt>, <tt class="sgmltag-element">g</tt>, <tt class="sgmltag-element">glyph</tt>, <tt class="sgmltag-element">hkern</tt>, <tt class="sgmltag-element"> linearGradient</tt>, <tt class="sgmltag-element">line</tt>, <tt class="sgmltag-element">marker</tt>, <tt class="sgmltag-element">metadata</tt>, <tt class="sgmltag-element">missing-glyph</tt>, <tt class="sgmltag-element">mpath</tt>, <tt class="sgmltag-element">path</tt>, <tt class="sgmltag-element">polygon</tt>, <tt class="sgmltag-element">polyline</tt>, <tt class="sgmltag-element">radialGradient</tt>, <tt class="sgmltag-element">rect</tt>, <tt class="sgmltag-element">set</tt>, <tt class="sgmltag-element">stop</tt>, <tt class="sgmltag-element">svg</tt>, <tt class="sgmltag-element">switch</tt>, <tt class="sgmltag-element">text</tt>, <tt class="sgmltag-element">title</tt>, <tt class="sgmltag-element">tspan</tt>, <tt class="sgmltag-element">use</tt></span>
+</p>
+<p>The following <acronym title="Scalable Vector Graphics">SVG</acronym> attributes are allowed by default (all others are stripped):
+<span class="simplelist"><tt class="sgmltag-attribute">accent-height</tt>, <tt class="sgmltag-attribute">accumulate</tt>, <tt class="sgmltag-attribute">additive</tt>, <tt class="sgmltag-attribute">alphabetic</tt>, <tt class="sgmltag-attribute">arabic-form</tt>, <tt class="sgmltag-attribute">ascent</tt>, <tt class="sgmltag-attribute">attributeName</tt>, <tt class="sgmltag-attribute">attributeType</tt>, <tt class="sgmltag-attribute">baseProfile</tt>, <tt class="sgmltag-attribute">bbox</tt>, <tt class="sgmltag-attribute">begin</tt>, <tt class="sgmltag-attribute">by</tt>, <tt class="sgmltag-attribute">calcMode</tt>, <tt class="sgmltag-attribute">cap-height</tt>, <tt class="sgmltag-attribute">class</tt>, <tt class="sgmltag-attribute">color</tt>, <tt class="sgmltag-attribute">color-rendering</tt>, <tt class="sgmltag-attribute">content</tt>, <tt class="sgmltag-attribute">cx</tt>, <tt class="sgmltag-attribute">cy</tt>, <tt class="sgmltag-attribute">d</tt>, <tt class="sgmltag-attribute">dx</tt>, <tt class="sgmltag-attribute">dy</tt>, <tt class="sgmltag-attribute">descent</tt>, <tt class="sgmltag-attribute">display</tt>, <tt class="sgmltag-attribute">dur</tt>, <tt class="sgmltag-attribute">end</tt>, <tt class="sgmltag-attribute">fill</tt>, <tt class="sgmltag-attribute">fill-opacity</tt>, <tt class="sgmltag-attribute">fill-rule</tt>, <tt class="sgmltag-attribute">font-family</tt>, <tt class="sgmltag-attribute">font-size</tt>, <tt class="sgmltag-attribute">font-stretch</tt>, <tt class="sgmltag-attribute">font-style</tt>, <tt class="sgmltag-attribute">font-variant</tt>, <tt class="sgmltag-attribute">font-weight</tt>, <tt class="sgmltag-attribute">from</tt>, <tt class="sgmltag-attribute">fx</tt>, <tt class="sgmltag-attribute">fy</tt>, <tt class="sgmltag-attribute">g1</tt>, <tt class="sgmltag-attribute">g2</tt>, <tt class="sgmltag-attribute">glyph-name</tt>, <tt class="sgmltag-attribute">gradientUnits</tt>, <tt class="sgmltag-attribute">hanging</tt>, <tt class="sgmltag-attribute">height</tt>, <tt class="sgmltag-attribute">horiz-adv-x</tt>, <tt class="sgmltag-attribute">horiz-origin-x</tt>, <tt class="sgmltag-attribute">id</tt>, <tt class="sgmltag-attribute">ideographic</tt>, <tt class="sgmltag-attribute">k</tt>, <tt class="sgmltag-attribute">keyPoints</tt>, <tt class="sgmltag-attribute">keySplines</tt>, <tt class="sgmltag-attribute">keyTimes</tt>, <tt class="sgmltag-attribute">lang</tt>, <tt class="sgmltag-attribute">mathematical</tt>, <tt class="sgmltag-attribute">marker-end</tt>, <tt class="sgmltag-attribute">marker-mid</tt>, <tt class="sgmltag-attribute">marker-start</tt>, <tt class="sgmltag-attribute">markerHeight</tt>, <tt class="sgmltag-attribute">markerUnits</tt>, <tt class="sgmltag-attribute">markerWidth</tt>, <tt class="sgmltag-attribute">max</tt>, <tt class="sgmltag-attribute">min</tt>, <tt class="sgmltag-attribute">name</tt>, <tt class="sgmltag-attribute">offset</tt>, <tt class="sgmltag-attribute">opacity</tt>, <tt class="sgmltag-attribute">orient</tt>, <tt class="sgmltag-attribute">origin</tt>, <tt class="sgmltag-attribute">overline-position</tt>, <tt class="sgmltag-attribute">overline-thickness</tt>, <tt class="sgmltag-attribute">panose-1</tt>, <tt class="sgmltag-attribute">path</tt>, <tt class="sgmltag-attribute">pathLength</tt>, <tt class="sgmltag-attribute">points</tt>, <tt class="sgmltag-attribute">preserveAspectRatio</tt>, <tt class="sgmltag-attribute">r</tt>, <tt class="sgmltag-attribute">refX</tt>, <tt class="sgmltag-attribute">refY</tt>, <tt class="sgmltag-attribute">repeatCount</tt>, <tt class="sgmltag-attribute">repeatDur</tt>, <tt class="sgmltag-attribute">requiredExtensions</tt>, <tt class="sgmltag-attribute">requiredFeatures</tt>, <tt class="sgmltag-attribute">restart</tt>, <tt class="sgmltag-attribute">rotate</tt>, <tt class="sgmltag-attribute">rx</tt>, <tt class="sgmltag-attribute">ry</tt>, <tt class="sgmltag-attribute">slope</tt>, <tt class="sgmltag-attribute">stemh</tt>, <tt class="sgmltag-attribute">stemv</tt>, <tt class="sgmltag-attribute">stop-color</tt>, <tt class="sgmltag-attribute">stop-opacity</tt>, <tt class="sgmltag-attribute">strikethrough-position</tt>, <tt class="sgmltag-attribute">strikethrough-thickness</tt>, <tt class="sgmltag-attribute">stroke</tt>, <tt class="sgmltag-attribute">stroke-dasharray</tt>, <tt class="sgmltag-attribute">stroke-dashoffset</tt>, <tt class="sgmltag-attribute">stroke-linecap</tt>, <tt class="sgmltag-attribute">stroke-linejoin</tt>, <tt class="sgmltag-attribute">stroke-miterlimit</tt>, <tt class="sgmltag-attribute">stroke-opacity</tt>, <tt class="sgmltag-attribute">stroke-width</tt>, <tt class="sgmltag-attribute">systemLanguage</tt>, <tt class="sgmltag-attribute">target</tt>, <tt class="sgmltag-attribute">text-anchor</tt>, <tt class="sgmltag-attribute">to</tt>, <tt class="sgmltag-attribute">transform</tt>, <tt class="sgmltag-attribute">type</tt>, <tt class="sgmltag-attribute">u1</tt>, <tt class="sgmltag-attribute">u2</tt>, <tt class="sgmltag-attribute">underline-position</tt>, <tt class="sgmltag-attribute">underline-thickness</tt>, <tt class="sgmltag-attribute">unicode</tt>, <tt class="sgmltag-attribute">unicode-range</tt>, <tt class="sgmltag-attribute">units-per-em</tt>, <tt class="sgmltag-attribute">values</tt>, <tt class="sgmltag-attribute">version</tt>, <tt class="sgmltag-attribute">viewBox</tt>, <tt class="sgmltag-attribute">visibility</tt>, <tt class="sgmltag-attribute">width</tt>, <tt class="sgmltag-attribute">widths</tt>, <tt class="sgmltag-attribute">x</tt>, <tt class="sgmltag-attribute">x-height</tt>, <tt class="sgmltag-attribute">x1</tt>, <tt class="sgmltag-attribute">x2</tt>, <tt class="sgmltag-attribute">xlink:actuate</tt>, <tt class="sgmltag-attribute">xlink:arcrole</tt>, <tt class="sgmltag-attribute">xlink:href</tt>, <tt class="sgmltag-attribute">xlink:role</tt>, <tt class="sgmltag-attribute">xlink:show</tt>, <tt class="sgmltag-attribute">xlink:title</tt>, <tt class="sgmltag-attribute">xlink:type</tt>, <tt class="sgmltag-attribute">xml:base</tt>, <tt class="sgmltag-attribute">xml:lang</tt>, <tt class="sgmltag-attribute">xml:space</tt>, <tt class="sgmltag-attribute">xmlns</tt>, <tt class="sgmltag-attribute">xmlns:xlink</tt>, <tt class="sgmltag-attribute">y</tt>, <tt class="sgmltag-attribute">y1</tt>, <tt class="sgmltag-attribute">y2</tt>, <tt class="sgmltag-attribute">zoomAndPan</tt></span>
+</p>
+</div>
+<div class="section" lang="en">
+<div class="titlepage">
+<div><div><h3 class="title">
+<a name="advanced.sanitization.mathml" class="skip" href="#advanced.sanitization.mathml" title="link to this section"><img src="images/permalink.gif" alt="[link]" title="link to this section" width="8" height="9"></a> <acronym title="Mathematical Markup Language">MathML</acronym> Sanitization</h3></div></div>
+<div></div>
+</div>
+<p>The following <acronym title="Mathematical Markup Language">MathML</acronym> elements are allowed by default (all others are stripped):
+<span class="simplelist"><tt class="sgmltag-element">annotation</tt>, <tt class="sgmltag-element">annotation-xml</tt>, <tt class="sgmltag-element">maction</tt>, <tt class="sgmltag-element">math</tt>, <tt class="sgmltag-element">merror</tt>, <tt class="sgmltag-element">mfenced</tt>, <tt class="sgmltag-element">mfrac</tt>, <tt class="sgmltag-element">mi</tt>, <tt class="sgmltag-element">mmultiscripts</tt>, <tt class="sgmltag-element">mn</tt>, <tt class="sgmltag-element">mo</tt>, <tt class="sgmltag-element">mover</tt>, <tt class="sgmltag-element">mpadded</tt>, <tt class="sgmltag-element">mphantom</tt>, <tt class="sgmltag-element">mprescripts</tt>, <tt class="sgmltag-element">mroot</tt>, <tt class="sgmltag-element">mrow</tt>, <tt class="sgmltag-element">mspace</tt>, <tt class="sgmltag-element">msqrt</tt>, <tt class="sgmltag-element">mstyle</tt>, <tt class="sgmltag-element">msub</tt>, <tt class="sgmltag-element">msubsup</tt>, <tt class="sgmltag-element">msup</tt>, <tt class="sgmltag-element">mtable</tt>, <tt class="sgmltag-element">mtd</tt>, <tt class="sgmltag-element">mtext</tt>, <tt class="sgmltag-element">mtr</tt>, <tt class="sgmltag-element">munder</tt>, <tt class="sgmltag-element">munderover</tt>, <tt class="sgmltag-element">none</tt>, <tt class="sgmltag-element">semantics</tt></span>
+</p>
+<p>The following <acronym title="Mathematical Markup Language">MathML</acronym> attributes are allowed by default (all others are stripped):
+<span class="simplelist"><tt class="sgmltag-attribute">actiontype</tt>, <tt class="sgmltag-attribute">align</tt>, <tt class="sgmltag-attribute">columnalign</tt>, <tt class="sgmltag-attribute">columnalign</tt>, <tt class="sgmltag-attribute">columnalign</tt>, <tt class="sgmltag-attribute">close</tt>, <tt class="sgmltag-attribute">columnlines</tt>, <tt class="sgmltag-attribute">columnspacing</tt>, <tt class="sgmltag-attribute">columnspan</tt>, <tt class="sgmltag-attribute">depth</tt>, <tt class="sgmltag-attribute">display</tt>, <tt class="sgmltag-attribute">displaystyle</tt>, <tt class="sgmltag-attribute">encoding</tt>, <tt class="sgmltag-attribute">equalcolumns</tt>, <tt class="sgmltag-attribute">equalrows</tt>, <tt class="sgmltag-attribute">fence</tt>, <tt class="sgmltag-attribute">fontstyle</tt>, <tt class="sgmltag-attribute">fontweight</tt>, <tt class="sgmltag-attribute">frame</tt>, <tt class="sgmltag-attribute">height</tt>, <tt class="sgmltag-attribute">linethickness</tt>, <tt class="sgmltag-attribute">lspace</tt>, <tt class="sgmltag-attribute">mathbackground</tt>, <tt class="sgmltag-attribute">mathcolor</tt>, <tt class="sgmltag-attribute">mathvariant</tt>, <tt class="sgmltag-attribute">mathvariant</tt>, <tt class="sgmltag-attribute">maxsize</tt>, <tt class="sgmltag-attribute">minsize</tt>, <tt class="sgmltag-attribute">open</tt>, <tt class="sgmltag-attribute">other</tt>, <tt class="sgmltag-attribute">rowalign</tt>, <tt class="sgmltag-attribute">rowalign</tt>, <tt class="sgmltag-attribute">rowalign</tt>, <tt class="sgmltag-attribute">rowlines</tt>, <tt class="sgmltag-attribute">rowspacing</tt>, <tt class="sgmltag-attribute">rowspan</tt>, <tt class="sgmltag-attribute">rspace</tt>, <tt class="sgmltag-attribute">scriptlevel</tt>, <tt class="sgmltag-attribute">selection</tt>, <tt class="sgmltag-attribute">separator</tt>, <tt class="sgmltag-attribute">separators</tt>, <tt class="sgmltag-attribute">stretchy</tt>, <tt class="sgmltag-attribute">width</tt>, <tt class="sgmltag-attribute">width</tt>, <tt class="sgmltag-attribute">xlink:href</tt>, <tt class="sgmltag-attribute">xlink:show</tt>, <tt class="sgmltag-attribute">xlink:type</tt>, <tt class="sgmltag-attribute">xmlns</tt>, <tt class="sgmltag-attribute">xmlns:xlink</tt></span>
+</p>
+</div>
+<div class="section" lang="en">
+<div class="titlepage">
+<div><div><h3 class="title">
+<a name="advanced.sanitization.css" class="skip" href="#advanced.sanitization.css" title="link to this section"><img src="images/permalink.gif" alt="[link]" title="link to this section" width="8" height="9"></a> <acronym title="Cascading Style Sheets">CSS</acronym> Sanitization</h3></div></div>
+<div></div>
+</div>
+<p>The following <acronym title="Cascading Style Sheets">CSS</acronym> properties are allowed by default in <tt class="sgmltag-attribute">style</tt> attributes (all others are stripped):
+<span class="simplelist"><tt class="sgmltag-element">azimuth</tt>, <tt class="sgmltag-element">background-color</tt>, <tt class="sgmltag-element">border-bottom-color</tt>, <tt class="sgmltag-element">border-collapse</tt>, <tt class="sgmltag-element">border-color</tt>, <tt class="sgmltag-element">border-left-color</tt>, <tt class="sgmltag-element">border-right-color</tt>, <tt class="sgmltag-element">border-top-color</tt>, <tt class="sgmltag-element">clear</tt>, <tt class="sgmltag-element">color</tt>, <tt class="sgmltag-element">cursor</tt>, <tt class="sgmltag-element">direction</tt>, <tt class="sgmltag-element">display</tt>, <tt class="sgmltag-element">elevation</tt>, <tt class="sgmltag-element">float</tt>, <tt class="sgmltag-element">font</tt>, <tt class="sgmltag-element">font-family</tt>, <tt class="sgmltag-element">font-size</tt>, <tt class="sgmltag-element">font-style</tt>, <tt class="sgmltag-element">font-variant</tt>, <tt class="sgmltag-element">font-weight</tt>, <tt class="sgmltag-element">height</tt>, <tt class="sgmltag-element">letter-spacing</tt>, <tt class="sgmltag-element">line-height</tt>, <tt class="sgmltag-element">overflow</tt>, <tt class="sgmltag-element">pause</tt>, <tt class="sgmltag-element">pause-after</tt>, <tt class="sgmltag-element">pause-before</tt>, <tt class="sgmltag-element">pitch</tt>, <tt class="sgmltag-element">pitch-range</tt>, <tt class="sgmltag-element">richness</tt>, <tt class="sgmltag-element">speak</tt>, <tt class="sgmltag-element">speak-header</tt>, <tt class="sgmltag-element">speak-numeral</tt>, <tt class="sgmltag-element">speak-punctuation</tt>, <tt class="sgmltag-element">speech-rate</tt>, <tt class="sgmltag-element">stress</tt>, <tt class="sgmltag-element">text-align</tt>, <tt class="sgmltag-element">text-decoration</tt>, <tt class="sgmltag-element">text-indent</tt>, <tt class="sgmltag-element">unicode-bidi</tt>, <tt class="sgmltag-element">vertical-align</tt>, <tt class="sgmltag-element">voice-family</tt>, <tt class="sgmltag-element">volume</tt>, <tt class="sgmltag-element">white-space</tt>, <tt class="sgmltag-element">width</tt></span>
+</p>
+<a name="id291712"></a><table class="note" border="0" summary="">
<tr><td rowspan="2" align="center" valign="top" width="1%"><img src="images/note.png" alt="Note" title="" width="24" height="24"></td></tr>
<tr><td colspan="2" align="left" valign="top" width="99%">The <a href="
http://feedparser.org/tests/wellformed/sanitize/">unit tests for <acronym title="HyperText Markup Language">HTML</acronym> sanitizing</a> show many different examples of dangerous markup that <span class="application">Universal Feed Parser</span> sanitizes by default.</td></tr>
</table>
+</div>
<div class="section" lang="en">
<div class="titlepage">
<div><div><h3 class="title">
<a name="advanced.sanitization.why" class="skip" href="#advanced.sanitization.why" title="link to this section"><img src="images/permalink.gif" alt="[link]" title="link to this section" width="8" height="9"></a> Whitelist, Don't Blacklist</h3></div></div>
<div></div>
</div>
-<p>I am often asked why <span class="application">Universal Feed Parser</span> is so hard-assed about <acronym title="HyperText Markup Language">HTML</acronym> sanitizing. This topic usually comes up when someone notices that <span class="application">Universal Feed Parser</span> strips all <tt class="sgmltag-attribute">style</tt> attributes by default.</p>
-<p>Here is an incomplete list of potentially dangerous <acronym title="HyperText Markup Language">HTML</acronym> tags and attributes:</p>
+<p>I am often asked why <span class="application">Universal Feed Parser</span> is so hard-assed about <acronym title="HyperText Markup Language">HTML</acronym> and <acronym title="Cascading Style Sheets">CSS</acronym> sanitizing. To illustrate the problem, here is an incomplete list of potentially dangerous <acronym title="HyperText Markup Language">HTML</acronym> tags and attributes:</p>
<div class="itemizedlist"><ul>
<li>
<tt class="sgmltag-element">script</tt>, which can contain malicious script</li>
@@ -64,7 +106,8 @@
</ul></div>
<p><span class="emphasis"><em><tt class="sgmltag-attribute">style</tt>?</em></span> Yes, <tt class="sgmltag-attribute">style</tt>. <acronym title="Cascading Style Sheets">CSS</acronym> definitions can contain executable code.</p>
<div class="example">
-<a name="example.javascript" class="skip" href="#example.javascript" title="link to this example"><img src="images/permalink.gif" alt="[link]" title="link to this example" width="8" height="9"></a> <h3 class="title">Example: Embedding Javascript in <acronym title="Cascading Style Sheets">CSS</acronym></h3>
+<a name="example.javascript" class="skip" href="#example.javascript" title="link to this example"><img src="images/permalink.gif" alt="[link]" title="link to this example" width="8" height="9"></a> <h3 class="title">Example: Embedding Javascript in <acronym title="Cascading Style Sheets">CSS</acronym>
+</h3>
<p>This sample is taken from <a href="
http://feedparser.org/docs/examples/rss20.xml">
http://feedparser.org/docs/examples/rss20.xml</a>:</p>
<pre class="programlisting ">
<description>Watch out for
@@ -78,7 +121,8 @@
</div>
<p>Now consider that in <acronym title="HyperText Markup Language">HTML</acronym>, attribute values may be entity-encoded in several different ways.</p>
<div class="example">
-<a name="example.javascript.encoded" class="skip" href="#example.javascript.encoded" title="link to this example"><img src="images/permalink.gif" alt="[link]" title="link to this example" width="8" height="9"></a> <h3 class="title">Example: Embedding encoded Javascript in <acronym title="Cascading Style Sheets">CSS</acronym></h3>
+<a name="example.javascript.encoded" class="skip" href="#example.javascript.encoded" title="link to this example"><img src="images/permalink.gif" alt="[link]" title="link to this example" width="8" height="9"></a> <h3 class="title">Example: Embedding encoded Javascript in <acronym title="Cascading Style Sheets">CSS</acronym>
+</h3>
<p>To a browser, this:</p>
<pre class="programlisting "><span style="any: expression(window.location='
http://example.org/')"></pre>
<p>is the same as this (without the line breaks):</p>
@@ -96,10 +140,11 @@
&#x72;&#x67;&#x2f;&#x27;&#x29;"></pre>
<p>And so on, plus several other variations, plus every combination of every variation.</p>
</div>
-<p>The more I investigate, the more cases I find where Internet Explorer for Windows will treat seemingly innocuous markup as code and blithely execute it. This is why <span class="application">Universal Feed Parser</span> uses a whitelist and not a blacklist. I am reasonably confident that none of the elements or attributes on the whitelist are security risks. I am not at all confident about elements or attributes that I have not explicitly investigated. And I have no confidence at all in my ability to detect strings within attribute values that Internet Explorer for Windows will treat as executable code. I will not attempt to preserve "<span class="quote">just the good styles</span>". All styles are stripped.</p>
+<p>The more I investigate, the more cases I find where Internet Explorer for Windows will treat seemingly innocuous markup as code and blithely execute it. This is why <span class="application">Universal Feed Parser</span> uses a whitelist and not a blacklist. I am reasonably confident that none of the elements or attributes on the whitelist are security risks. I am not at all confident about elements or attributes that I have not explicitly investigated. And I have no confidence at all in my ability to detect strings within attribute values that Internet Explorer for Windows will treat as executable code.</p>
<div class="furtherreading">
<h3>Elsewhere</h3>
-<ul><li><a href="
http://diveintomark.org/archives/2003/06/12/how_to_consume_rss_safely">How to consume RSS safely</a></li></ul>
+<ul><li>
+<a href="
http://diveintomark.org/archives/2003/06/12/how_to_consume_rss_safely">How to consume RSS safely</a> is a (somewhat dated) blog post that formed the basis of my thinking about sanitizing feeds.</li></ul>
</div>
</div>
</div>
@@ -108,7 +153,7 @@
<div style="text-align: right">
<a class="NavigationArrow" href="microformats.html">Microformats</a> →</div>
<hr style="clear:both">
-<div class="footer"><p class="copyright">Copyright (c) 2004, 2005, 2006 Mark Pilgrim</p></div>
+<div class="footer"><p class="copyright">Copyright (c) 2004, 2005, 2006, 2007, 2008 Mark Pilgrim</p></div>
</div></div>
</body>
</html>
Modified: trunk/www/docs/http-authentication.html
==============================================================================
--- trunk/www/docs/http-authentication.html (original)
+++ trunk/www/docs/http-authentication.html Wed Mar 5 20:53:21 2008
@@ -106,7 +106,7 @@
<div style="text-align: right">
<a class="NavigationArrow" href="http-other.html">Other HTTP Headers</a> →</div>
<hr style="clear:both">
-<div class="footer"><p class="copyright">Copyright (c) 2004, 2005, 2006 Mark Pilgrim</p></div>
+<div class="footer"><p class="copyright">Copyright (c) 2004, 2005, 2006, 2007, 2008 Mark Pilgrim</p></div>
</div></div>
</body>
</html>
Modified: trunk/www/docs/http-etag.html
==============================================================================
--- trunk/www/docs/http-etag.html (original)
+++ trunk/www/docs/http-etag.html Wed Mar 5 20:53:21 2008
@@ -64,7 +64,7 @@
the server sent no data. This is a feature, not a bug!'</span></pre>
</div>
<p>Clients should support both ETag and Last-Modified headers, as some servers support one but not the other.</p>
-<a name="id4769177"></a><table class="important" border="0" summary="">
+<a name="id296456"></a><table class="important" border="0" summary="">
<tr><td rowspan="2" align="center" valign="top" width="1%"><img src="images/important.png" alt="Important" title="" width="24" height="24"></td></tr>
<tr><td colspan="2" align="left" valign="top" width="99%">If you do not support ETag and Last-Modified headers, you will repeatedly download feeds that have not changed. This wastes your bandwidth and the publisher's bandwidth, and the publisher may ban you from accessing their server.</td></tr>
</table>
@@ -81,7 +81,7 @@
<div style="text-align: right">
<a class="NavigationArrow" href="http-useragent.html">User-Agent and Referer Headers</a> →</div>
<hr style="clear:both">
-<div class="footer"><p class="copyright">Copyright (c) 2004, 2005, 2006 Mark Pilgrim</p></div>
+<div class="footer"><p class="copyright">Copyright (c) 2004, 2005, 2006, 2007, 2008 Mark Pilgrim</p></div>
</div></div>
</body>
</html>
Modified: trunk/www/docs/http-other.html
==============================================================================
--- trunk/www/docs/http-other.html (original)
+++ trunk/www/docs/http-other.html Wed Mar 5 20:53:21 2008
@@ -49,7 +49,7 @@
<div style="text-align: right">
<a class="NavigationArrow" href="annotated-examples.html">Annotated Examples</a> →</div>
<hr style="clear:both">
-<div class="footer"><p class="copyright">Copyright (c) 2004, 2005, 2006 Mark Pilgrim</p></div>
+<div class="footer"><p class="copyright">Copyright (c) 2004, 2005, 2006, 2007, 2008 Mark Pilgrim</p></div>
</div></div>
</body>
</html>
Modified: trunk/www/docs/http-redirect.html
==============================================================================
--- trunk/www/docs/http-redirect.html (original)
+++ trunk/www/docs/http-redirect.html Wed Mar 5 20:53:21 2008
@@ -68,7 +68,7 @@
<div style="text-align: right">
<a class="NavigationArrow" href="http-authentication.html">Password-Protected Feeds</a> →</div>
<hr style="clear:both">
-<div class="footer"><p class="copyright">Copyright (c) 2004, 2005, 2006 Mark Pilgrim</p></div>
+<div class="footer"><p class="copyright">Copyright (c) 2004, 2005, 2006, 2007, 2008 Mark Pilgrim</p></div>
</div></div>
</body>
</html>
Modified: trunk/www/docs/http-useragent.html
==============================================================================
--- trunk/www/docs/http-useragent.html (original)
+++ trunk/www/docs/http-useragent.html Wed Mar 5 20:53:21 2008
@@ -58,7 +58,7 @@
<div style="text-align: right">
<a class="NavigationArrow" href="http-redirect.html">HTTP Redirects</a> →</div>
<hr style="clear:both">
-<div class="footer"><p class="copyright">Copyright (c) 2004, 2005, 2006 Mark Pilgrim</p></div>
+<div class="footer"><p class="copyright">Copyright (c) 2004, 2005, 2006, 2007, 2008 Mark Pilgrim</p></div>
</div></div>
</body>
</html>
Modified: trunk/www/docs/http.html
==============================================================================
--- trunk/www/docs/http.html (original)
+++ trunk/www/docs/http.html Wed Mar 5 20:53:21 2008
@@ -34,7 +34,7 @@
<div style="text-align: right">
<a class="NavigationArrow" href="http-etag.html">ETag and Last-Modified Headers</a> →</div>
<hr style="clear:both">
-<div class="footer"><p class="copyright">Copyright (c) 2004, 2005, 2006 Mark Pilgrim</p></div>
+<div class="footer"><p class="copyright">Copyright (c) 2004, 2005, 2006, 2007, 2008 Mark Pilgrim</p></div>
</div></div>
</body>
</html>
Modified: trunk/www/docs/index.html
==============================================================================
--- trunk/www/docs/index.html (original)
+++ trunk/www/docs/index.html Wed Mar 5 20:53:21 2008
@@ -22,7 +22,7 @@
<p>This documentation claims to describe the behavior of <span class="application">Universal Feed Parser</span> 4.2. It does not claim to describe the behavior of any other version.</p>
<p>This documentation lives at <a href="
http://feedparser.org/docs/">
http://feedparser.org/docs/</a>. If you're reading it somewhere else, you may not have the latest version.</p>
</div></div>
-<div><p class="copyright">Copyright (c) 2004, 2005, 2006 Mark Pilgrim</p></div>
+<div><p class="copyright">Copyright (c) 2004, 2005, 2006, 2007, 2008 Mark Pilgrim</p></div>
<div><div class="legalnotice"><p>This documentation is provided by the author "<span class="quote">as is</span>" without any express or implied warranties. See <a href="license.html" title="Terms of use">Terms of use</a> for more details.</p></div></div>
</div>
<div></div>
@@ -51,7 +51,13 @@
</ul>
</li>
<li>
-<span class="section"><a href="html-sanitization.html">HTML Sanitization</a></span><ul><li><span class="section"><a href="html-sanitization.html#advanced.sanitization.why">Whitelist, Don't Blacklist</a></span></li></ul>
+<span class="section"><a href="html-sanitization.html">Sanitization</a></span><ul>
+<li><span class="section"><a href="html-sanitization.html#advanced.sanitization.html">HTML Sanitization</a></span></li>
+<li><span class="section"><a href="html-sanitization.html#advanced.sanitization.svg">SVG Sanitization</a></span></li>
+<li><span class="section"><a href="html-sanitization.html#advanced.sanitization.mathml">MathML Sanitization</a></span></li>
+<li><span class="section"><a href="html-sanitization.html#advanced.sanitization.css">CSS Sanitization</a></span></li>
+<li><span class="section"><a href="html-sanitization.html#advanced.sanitization.why">Whitelist, Don't Blacklist</a></span></li>
+</ul>
</li>
<li><span class="section"><a href="microformats.html">Microformats</a></span></li>
<li><span class="section"><a href="content-normalization.html">Content Normalization</a></span></li>
@@ -93,6 +99,7 @@
</li>
<li>
<span class="chapter"><a href="history.html">Revision history</a></span><ul>
+<li><span class="section"><a href="changes-42.html">Changes in version 4.2</a></span></li>
<li><span class="section"><a href="changes-41.html">Changes in version 4.1</a></span></li>
<li><span class="section"><a href="changes-40.html">Changes in version 4.0</a></span></li>
</ul>
@@ -190,7 +197,7 @@
<li><span class="section"><a href="reference-feed-textinput.html#reference.feed.textinput.link">feed.textinput.link</a></span></li>
<li><span class="section"><a href="reference-feed-textinput.html#
reference.feed.textinput.name">
feed.textinput.name</a></span></li>
<li><span class="section"><a href="reference-feed-textinput.html#reference.feed.textinput.description">feed.textinput.description</a></span></li>
-<li><span class="section"><a href="reference-feed-textinput.html#id4777299">Annotated example</a></span></li>
+<li><span class="section"><a href="reference-feed-textinput.html#id303867">Annotated example</a></span></li>
</ul>
</li>
<li>
@@ -346,7 +353,7 @@
<div style="text-align: right">
<a class="NavigationArrow" href="basic.html">Basic Features</a> →</div>
<hr style="clear:both">
-<div class="footer"><p class="copyright">Copyright (c) 2004, 2005, 2006 Mark Pilgrim</p></div>
+<div class="footer"><p class="copyright">Copyright (c) 2004, 2005, 2006, 2007, 2008 Mark Pilgrim</p></div>
</div></div>
</body>
</html>
Modified: trunk/www/docs/introduction.html
==============================================================================
--- trunk/www/docs/introduction.html (original)
+++ trunk/www/docs/introduction.html Wed Mar 5 20:53:21 2008
@@ -25,14 +25,15 @@
<p>To use <span class="application">Universal Feed Parser</span>, you will need <span class="application">Python</span> 2.1 or later. <span class="application">Universal Feed Parser</span> is not meant to run standalone; it is a module for you to use as part of a larger <span class="application">Python</span> program.</p>
<p><span class="application">Universal Feed Parser</span> is easy to use; the module is self-contained in a single file, <tt class="filename">feedparser.py</tt>, and it has one primary public function, <tt class="function">parse</tt>. <tt class="function">parse</tt> takes a number of arguments, but only one is required, and it can be a <acronym title="Uniform Resource Locator">URL</acronym>, a local filename, or a raw string containing feed data in any format.</p>
<div class="example">
-<a name="example.parse.remote" class="skip" href="#example.parse.remote" title="link to this example"><img src="images/permalink.gif" alt="[link]" title="link to this example" width="8" height="9"></a> <h3 class="title">Example: Parsing a feed from a remote <acronym title="Uniform Resource Locator">URL</acronym></h3>
+<a name="example.parse.remote" class="skip" href="#example.parse.remote" title="link to this example"><img src="images/permalink.gif" alt="[link]" title="link to this example" width="8" height="9"></a> <h3 class="title">Example: Parsing a feed from a remote <acronym title="Uniform Resource Locator">URL</acronym>
+</h3>
<pre class="screen"><tt class="prompt">>>> </tt><span class="userinput"><font color='navy'><b>import</b></font> feedparser</span>
<tt class="prompt">>>> </tt><span class="userinput">d = feedparser.parse('<a href="
http://feedparser.org/docs/examples/atom10.xml">
http://feedparser.org/docs/examples/atom10.xml</a>')</span>
<tt class="prompt">>>> </tt><span class="userinput">d[<font color='olive'>'feed'</font>][<font color='olive'>'title'</font>]</span>
<span class="computeroutput">u'Sample Feed'</span></pre>
</div>
<p>The following example assumes you are on Windows, and that you have saved a feed at <tt class="filename">c:\incoming\atom10.xml</tt>.</p>
-<a name="id4707514"></a><table class="note" border="0" summary="">
+<a name="id242332"></a><table class="note" border="0" summary="">
<tr><td rowspan="2" align="center" valign="top" width="1%"><img src="images/note.png" alt="Note" title="" width="24" height="24"></td></tr>
<tr><td colspan="2" align="left" valign="top" width="99%">
<span class="application">Universal Feed Parser</span> works on any platform that can run <span class="application">Python</span>; use the path syntax appropriate for your platform.</td></tr>
@@ -68,7 +69,7 @@
<div style="text-align: right">
<a class="NavigationArrow" href="common-rss-elements.html">Common RSS Elements</a> →</div>
<hr style="clear:both">
-<div class="footer"><p class="copyright">Copyright (c) 2004, 2005, 2006 Mark Pilgrim</p></div>
+<div class="footer"><p class="copyright">Copyright (c) 2004, 2005, 2006, 2007, 2008 Mark Pilgrim</p></div>
</div></div>
</body>
</html>
Modified: trunk/www/docs/license.html
==============================================================================
--- trunk/www/docs/license.html (original)
+++ trunk/www/docs/license.html Wed Mar 5 20:53:21 2008
@@ -32,7 +32,7 @@
</div>
<div style="text-align: right"></div>
<hr style="clear:both">
-<div class="footer"><p class="copyright">Copyright (c) 2004, 2005, 2006 Mark Pilgrim</p></div>
+<div class="footer"><p class="copyright">Copyright (c) 2004, 2005, 2006, 2007, 2008 Mark Pilgrim</p></div>
</div></div>
</body>
</html>
Modified: trunk/www/docs/microformats.html
==============================================================================
--- trunk/www/docs/microformats.html (original)
+++ trunk/www/docs/microformats.html Wed Mar 5 20:53:21 2008
@@ -9,7 +9,7 @@
<meta name="keywords" content="RSS, Atom, CDF, XML, feed, parser, Python">
<link rel="start" href="index.html" title="Documentation">
<link rel="up" href="advanced.html" title="Advanced Features">
-<link rel="prev" href="html-sanitization.html" title="HTML Sanitization">
+<link rel="prev" href="html-sanitization.html" title="Sanitization">
<link rel="next" href="content-normalization.html" title="Content Normalization">
</head>
<body id="feedparser-org" class="docs">
@@ -28,17 +28,17 @@
<div></div>
</div>
<p>TODO</p>
-<a name="id4764017"></a><table class="note" border="0" summary="">
+<a name="id292072"></a><table class="note" border="0" summary="">
<tr><td rowspan="2" align="center" valign="top" width="1%"><img src="images/note.png" alt="Note" title="" width="24" height="24"></td></tr>
-<tr><td colspan="2" align="left" valign="top" width="99%">There are a growing number of microformats, and <span class="application">Universal Feed Parser</span> does not parse all of them. However, both the <tt class="sgmltag-attribute">rel</tt> and <tt class="sgmltag-attribute">class</tt> attributes survive <a href="html-sanitization.html" title="HTML Sanitization"><acronym title="HyperText Markup Language">HTML</acronym> sanitizing</a>, so applications built on <span class="application">Universal Feed Parser</span> that wish to parse microformat content are free to do so.</td></tr>
+<tr><td colspan="2" align="left" valign="top" width="99%">There are a growing number of microformats, and <span class="application">Universal Feed Parser</span> does not parse all of them. However, both the <tt class="sgmltag-attribute">rel</tt> and <tt class="sgmltag-attribute">class</tt> attributes survive <a href="html-sanitization.html" title="Sanitization"><acronym title="HyperText Markup Language">HTML</acronym> sanitizing</a>, so applications built on <span class="application">Universal Feed Parser</span> that wish to parse microformat content are free to do so.</td></tr>
</table>
</div>
-<div style="float: left">← <a class="NavigationArrow" href="html-sanitization.html">HTML Sanitization</a>
+<div style="float: left">← <a class="NavigationArrow" href="html-sanitization.html">Sanitization</a>
</div>
<div style="text-align: right">
<a class="NavigationArrow" href="content-normalization.html">Content Normalization</a> →</div>
<hr style="clear:both">
-<div class="footer"><p class="copyright">Copyright (c) 2004, 2005, 2006 Mark Pilgrim</p></div>
+<div class="footer"><p class="copyright">Copyright (c) 2004, 2005, 2006, 2007, 2008 Mark Pilgrim</p></div>
</div></div>
</body>
</html>
Modified: trunk/www/docs/namespace-handling.html
==============================================================================
--- trunk/www/docs/namespace-handling.html (original)
+++ trunk/www/docs/namespace-handling.html Wed Mar 5 20:53:21 2008
@@ -63,7 +63,7 @@
</div>
<p>This is the complete list of namespaces that <span class="application">Universal Feed Parser</span> recognizes and uses to construct the variable names for data in these namespaces:</p>
<div class="table">
-<a name="id4764492" class="skip" href="#id4764492" title="link to this table"><img src="images/permalink.gif" alt="[link]" title="link to this table" width="8" height="9"></a> <h3 class="title">Recognized Namespaces</h3>
+<a name="id292795" class="skip" href="#id292795" title="link to this table"><img src="images/permalink.gif" alt="[link]" title="link to this table" width="8" height="9"></a> <h3 class="title">Recognized Namespaces</h3>
<table summary="Recognized Namespaces" border="1">
<colgroup>
<col>
@@ -258,14 +258,14 @@
</table>
</div>
<p></p>
-<a name="id4765673"></a><table class="note" border="0" summary="">
+<a name="id293533"></a><table class="note" border="0" summary="">
<tr><td rowspan="2" align="center" valign="top" width="1%"><img src="images/note.png" alt="Note" title="" width="24" height="24"></td></tr>
<tr><td colspan="2" align="left" valign="top" width="99%">
<span class="application">Universal Feed Parser</span> treats namespaces as case-insensitive to match the behavior of certain versions of <span class="application">iTunes</span>.</td></tr>
</table>
-<a name="id4765694"></a><table class="caution" border="0" summary="">
+<a name="id293551"></a><table class="caution" border="0" summary="">
<tr><td rowspan="2" align="center" valign="top" width="1%"><img src="images/caution.png" alt="Caution" title="" width="24" height="24"></td></tr>
-<tr><td colspan="2" align="left" valign="top" width="99%">Data from namespaced elements is not <a href="html-sanitization.html" title="HTML Sanitization">sanitized</a> (even if it contains <acronym title="HyperText Markup Language">HTML</acronym> markup).</td></tr>
+<tr><td colspan="2" align="left" valign="top" width="99%">Data from namespaced elements is not <a href="html-sanitization.html" title="Sanitization">sanitized</a> (even if it contains <acronym title="HyperText Markup Language">HTML</acronym> markup).</td></tr>
</table>
</div>
<div style="float: left">← <a class="NavigationArrow" href="content-normalization.html">Content Normalization</a>
@@ -273,7 +273,7 @@
<div style="text-align: right">
<a class="NavigationArrow" href="resolving-relative-links.html">Relative Link Resolution</a> →</div>
<hr style="clear:both">
-<div class="footer"><p class="copyright">Copyright (c) 2004, 2005, 2006 Mark Pilgrim</p></div>
+<div class="footer"><p class="copyright">Copyright (c) 2004, 2005, 2006, 2007, 2008 Mark Pilgrim</p></div>
</div></div>
</body>
</html>
Modified: trunk/www/docs/reference-bozo.html
==============================================================================
--- trunk/www/docs/reference-bozo.html (original)
+++ trunk/www/docs/reference-bozo.html Wed Mar 5 20:53:21 2008
@@ -28,7 +28,7 @@
<div></div>
</div>
<p>See <a href="bozo.html" title="Bozo Detection">Bozo Detection</a> for more details on the <tt class="varname">bozo</tt> bit.</p>
-<a name="id4785173"></a><table class="tip" border="0" summary="">
+<a name="id311326"></a><table class="tip" border="0" summary="">
<tr><td rowspan="2" align="center" valign="top" width="1%"><img src="images/tip.png" alt="Tip" title="" width="24" height="24"></td></tr>
<tr><td colspan="2" align="left" valign="top" width="99%">
<tt class="varname">bozo</tt> may not be present. Some platforms, such as Mac OS X 10.2 and some versions of FreeBSD, do not include an <acronym title="Extensible Markup Language">XML</acronym> parser in their <span class="application">Python</span> distributions. <span class="application">Universal Feed Parser</span> will still work on these platforms, but it will not be able to detect whether a feed is well-formed. However, it <span class="emphasis"><em>can</em></span> detect whether a feed's character encoding is incorrectly declared. (This is done in <span class="application">Python</span>, not by the <acronym title="Extensible Markup Language">XML</acronym> parser.) See <a href="character-encoding.html" title="Character Encoding Detection">Character Encoding Detection</a> for details.</td></tr>
@@ -39,7 +39,7 @@
<div style="text-align: right">
<a class="NavigationArrow" href="reference-bozo_exception.html">bozo_exception</a> →</div>
<hr style="clear:both">
-<div class="footer"><p class="copyright">Copyright (c) 2004, 2005, 2006 Mark Pilgrim</p></div>
+<div class="footer"><p class="copyright">Copyright (c) 2004, 2005, 2006, 2007, 2008 Mark Pilgrim</p></div>
</div></div>
</body>
</html>
Modified: trunk/www/docs/reference-bozo_exception.html
==============================================================================
--- trunk/www/docs/reference-bozo_exception.html (original)
+++ trunk/www/docs/reference-bozo_exception.html Wed Mar 5 20:53:21 2008
@@ -28,7 +28,7 @@
<div></div>
</div>
<p>See <a href="bozo.html" title="Bozo Detection">Bozo Detection</a> for more details.</p>
-<a name="id4785303"></a><table class="tip" border="0" summary="">
+<a name="id311412"></a><table class="tip" border="0" summary="">
<tr><td rowspan="2" align="center" valign="top" width="1%"><img src="images/tip.png" alt="Tip" title="" width="24" height="24"></td></tr>
<tr><td colspan="2" align="left" valign="top" width="99%">
<tt class="varname">bozo_exception</tt> will only be present if <tt class="varname">bozo</tt> is <tt class="constant">1</tt>.</td></tr>
@@ -39,7 +39,7 @@
<div style="text-align: right">
<a class="NavigationArrow" href="license.html">Terms of use</a> →</div>
<hr style="clear:both">
-<div class="footer"><p class="copyright">Copyright (c) 2004, 2005, 2006 Mark Pilgrim</p></div>
+<div class="footer"><p class="copyright">Copyright (c) 2004, 2005, 2006, 2007, 2008 Mark Pilgrim</p></div>
</div></div>
</body>
</html>
Modified: trunk/www/docs/reference-encoding.html
==============================================================================
--- trunk/www/docs/reference-encoding.html (original)
+++ trunk/www/docs/reference-encoding.html Wed Mar 5 20:53:21 2008
@@ -27,11 +27,11 @@
</div>
<div></div>
</div>
-<a name="id4784760"></a><table class="note" border="0" summary="">
+<a name="id310904"></a><table class="note" border="0" summary="">
<tr><td rowspan="2" align="center" valign="top" width="1%"><img src="images/note.png" alt="Note" title="" width="24" height="24"></td></tr>
<tr><td colspan="2" align="left" valign="top" width="99%">The process by which <span class="application">Universal Feed Parser</span> determines the character encoding of the feed is explained in <a href="character-encoding.html" title="Character Encoding Detection">Character Encoding Detection</a>.</td></tr>
</table>
-<a name="id4784782"></a><table class="tip" border="0" summary="">
+<a name="id310924"></a><table class="tip" border="0" summary="">
<tr><td rowspan="2" align="center" valign="top" width="1%"><img src="images/tip.png" alt="Tip" title="" width="24" height="24"></td></tr>
<tr><td colspan="2" align="left" valign="top" width="99%">This element always exists, although it may be an empty string if the character encoding can not be determined.</td></tr>
</table>
@@ -41,7 +41,7 @@
<div style="text-align: right">
<a class="NavigationArrow" href="reference-status.html">status</a> →</div>
<hr style="clear:both">
-<div class="footer"><p class="copyright">Copyright (c) 2004, 2005, 2006 Mark Pilgrim</p></div>
+<div class="footer"><p class="copyright">Copyright (c) 2004, 2005, 2006, 2007, 2008 Mark Pilgrim</p></div>
</div></div>
</body>
</html>
Modified: trunk/www/docs/reference-entry-author.html
==============================================================================
--- trunk/www/docs/reference-entry-author.html (original)
+++ trunk/www/docs/reference-entry-author.html Wed Mar 5 20:53:21 2008
@@ -44,7 +44,7 @@
<div style="text-align: right">
<a class="NavigationArrow" href="reference-entry-author_detail.html">entries[i].author_detail</a> →</div>
<hr style="clear:both">
-<div class="footer"><p class="copyright">Copyright (c) 2004, 2005, 2006 Mark Pilgrim</p></div>
+<div class="footer"><p class="copyright">Copyright (c) 2004, 2005, 2006, 2007, 2008 Mark Pilgrim</p></div>
</div></div>
</body>
</html>
Modified: trunk/www/docs/reference-entry-author_detail.html
==============================================================================
--- trunk/www/docs/reference-entry-author_detail.html (original)
+++ trunk/www/docs/reference-entry-author_detail.html Wed Mar 5 20:53:21 2008
@@ -69,7 +69,7 @@
<div style="text-align: right">
<a class="NavigationArrow" href="reference-entry-contributors.html">entries[i].contributors</a> →</div>
<hr style="clear:both">
-<div class="footer"><p class="copyright">Copyright (c) 2004, 2005, 2006 Mark Pilgrim</p></div>
+<div class="footer"><p class="copyright">Copyright (c) 2004, 2005, 2006, 2007, 2008 Mark Pilgrim</p></div>
</div></div>
</body>
</html>
Modified: trunk/www/docs/reference-entry-comments.html
==============================================================================
--- trunk/www/docs/reference-entry-comments.html (original)
+++ trunk/www/docs/reference-entry-comments.html Wed Mar 5 20:53:21 2008
@@ -33,7 +33,7 @@
<div style="text-align: right">
<a class="NavigationArrow" href="reference-entry-license.html">entries[i].license</a> →</div>
<hr style="clear:both">
-<div class="footer"><p class="copyright">Copyright (c) 2004, 2005, 2006 Mark Pilgrim</p></div>
+<div class="footer"><p class="copyright">Copyright (c) 2004, 2005, 2006, 2007, 2008 Mark Pilgrim</p></div>
</div></div>
</body>
</html>
Modified: trunk/www/docs/reference-entry-content.html
==============================================================================
--- trunk/www/docs/reference-entry-content.html (original)
+++ trunk/www/docs/reference-entry-content.html Wed Mar 5 20:53:21 2008
@@ -42,7 +42,7 @@
<div></div>
</div>
<p>The value of this piece of content.</p>
-<p>If this contains <acronym title="HyperText Markup Language">HTML</acronym> or <acronym title="Extensible HyperText Markup Language">XHTML</acronym>, it is <a href="html-sanitization.html" title="HTML Sanitization">sanitized</a> by default.</p>
+<p>If this contains <acronym title="HyperText Markup Language">HTML</acronym> or <acronym title="Extensible HyperText Markup Language">XHTML</acronym>, it is <a href="html-sanitization.html" title="Sanitization">sanitized</a> by default.</p>
<p>If this contains <acronym title="HyperText Markup Language">HTML</acronym> or <acronym title="Extensible HyperText Markup Language">XHTML</acronym>, certain (X)HTML elements within this value may contain relative <acronym title="Uniform Resource Identifier">URI</acronym>s. If so, they are <a href="resolving-relative-links.html" title="Relative Link Resolution">resolved according to a set of rules</a>.</p>
</div>
<div class="section" lang="en">
@@ -86,7 +86,7 @@
<div style="text-align: right">
<a class="NavigationArrow" href="reference-entry-published.html">entries[i].published</a> →</div>
<hr style="clear:both">
-<div class="footer"><p class="copyright">Copyright (c) 2004, 2005, 2006 Mark Pilgrim</p></div>
+<div class="footer"><p class="copyright">Copyright (c) 2004, 2005, 2006, 2007, 2008 Mark Pilgrim</p></div>
</div></div>
</body>
</html>
Modified: trunk/www/docs/reference-entry-contributors.html
==============================================================================
--- trunk/www/docs/reference-entry-contributors.html (original)
+++ trunk/www/docs/reference-entry-contributors.html Wed Mar 5 20:53:21 2008
@@ -61,7 +61,7 @@
<div style="text-align: right">
<a class="NavigationArrow" href="reference-entry-enclosures.html">entries[i].enclosures</a> →</div>
<hr style="clear:both">
-<div class="footer"><p class="copyright">Copyright (c) 2004, 2005, 2006 Mark Pilgrim</p></div>
+<div class="footer"><p class="copyright">Copyright (c) 2004, 2005, 2006, 2007, 2008 Mark Pilgrim</p></div>
</div></div>
</body>
</html>
Modified: trunk/www/docs/reference-entry-created.html
==============================================================================
--- trunk/www/docs/reference-entry-created.html (original)
+++ trunk/www/docs/reference-entry-created.html Wed Mar 5 20:53:21 2008
@@ -41,7 +41,7 @@
<div style="text-align: right">
<a class="NavigationArrow" href="reference-entry-created_parsed.html">entries[i].created_parsed</a> →</div>
<hr style="clear:both">
-<div class="footer"><p class="copyright">Copyright (c) 2004, 2005, 2006 Mark Pilgrim</p></div>
+<div class="footer"><p class="copyright">Copyright (c) 2004, 2005, 2006, 2007, 2008 Mark Pilgrim</p></div>
</div></div>
</body>
</html>
Modified: trunk/www/docs/reference-entry-created_parsed.html
==============================================================================
--- trunk/www/docs/reference-entry-created_parsed.html (original)
+++ trunk/www/docs/reference-entry-created_parsed.html Wed Mar 5 20:53:21 2008
@@ -40,7 +40,7 @@
<div style="text-align: right">
<a class="NavigationArrow" href="reference-entry-expired.html">entries[i].expired</a> →</div>
<hr style="clear:both">
-<div class="footer"><p class="copyright">Copyright (c) 2004, 2005, 2006 Mark Pilgrim</p></div>
+<div class="footer"><p class="copyright">Copyright (c) 2004, 2005, 2006, 2007, 2008 Mark Pilgrim</p></div>
</div></div>
</body>
</html>
Modified: trunk/www/docs/reference-entry-enclosures.html
==============================================================================
--- trunk/www/docs/reference-entry-enclosures.html (original)
+++ trunk/www/docs/reference-entry-enclosures.html Wed Mar 5 20:53:21 2008
@@ -62,7 +62,7 @@
<div style="text-align: right">
<a class="NavigationArrow" href="reference-entry-publisher.html">entries[i].publisher</a> →</div>
<hr style="clear:both">
-<div class="footer"><p class="copyright">Copyright (c) 2004, 2005, 2006 Mark Pilgrim</p></div>
+<div class="footer"><p class="copyright">Copyright (c) 2004, 2005, 2006, 2007, 2008 Mark Pilgrim</p></div>
</div></div>
</body>
</html>
Modified: trunk/www/docs/reference-entry-expired.html
==============================================================================
--- trunk/www/docs/reference-entry-expired.html (original)
+++ trunk/www/docs/reference-entry-expired.html Wed Mar 5 20:53:21 2008
@@ -38,7 +38,7 @@
<div style="text-align: right">
<a class="NavigationArrow" href="reference-entry-expired_parsed.html">entries[i].expired_parsed</a> →</div>
<hr style="clear:both">
-<div class="footer"><p class="copyright">Copyright (c) 2004, 2005, 2006 Mark Pilgrim</p></div>
+<div class="footer"><p class="copyright">Copyright (c) 2004, 2005, 2006, 2007, 2008 Mark Pilgrim</p></div>
</div></div>
</body>
</html>
Modified: trunk/www/docs/reference-entry-expired_parsed.html
==============================================================================
--- trunk/www/docs/reference-entry-expired_parsed.html (original)
+++ trunk/www/docs/reference-entry-expired_parsed.html Wed Mar 5 20:53:21 2008
@@ -37,7 +37,7 @@
<div style="text-align: right">
<a class="NavigationArrow" href="reference-entry-id.html">entries[i].id</a> →</div>
<hr style="clear:both">
-<div class="footer"><p class="copyright">Copyright (c) 2004, 2005, 2006 Mark Pilgrim</p></div>
+<div class="footer"><p class="copyright">Copyright (c) 2004, 2005, 2006, 2007, 2008 Mark Pilgrim</p></div>
</div></div>
</body>
</html>
Modified: trunk/www/docs/reference-entry-id.html
==============================================================================
--- trunk/www/docs/reference-entry-id.html (original)
+++ trunk/www/docs/reference-entry-id.html Wed Mar 5 20:53:21 2008
@@ -38,7 +38,7 @@
<div style="text-align: right">
<a class="NavigationArrow" href="reference-entry-author.html">entries[i].author</a> →</div>
<hr style="clear:both">
-<div class="footer"><p class="copyright">Copyright (c) 2004, 2005, 2006 Mark Pilgrim</p></div>
+<div class="footer"><p class="copyright">Copyright (c) 2004, 2005, 2006, 2007, 2008 Mark Pilgrim</p></div>
</div></div>
</body>
</html>
Modified: trunk/www/docs/reference-entry-license.html
==============================================================================
--- trunk/www/docs/reference-entry-license.html (original)
+++ trunk/www/docs/reference-entry-license.html Wed Mar 5 20:53:21 2008
@@ -37,7 +37,7 @@
<div style="text-align: right">
<a class="NavigationArrow" href="reference-version.html">version</a> →</div>
<hr style="clear:both">
-<div class="footer"><p class="copyright">Copyright (c) 2004, 2005, 2006 Mark Pilgrim</p></div>
+<div class="footer"><p class="copyright">Copyright (c) 2004, 2005, 2006, 2007, 2008 Mark Pilgrim</p></div>
</div></div>
</body>
</html>
Modified: trunk/www/docs/reference-entry-link.html
==============================================================================
--- trunk/www/docs/reference-entry-link.html (original)
+++ trunk/www/docs/reference-entry-link.html Wed Mar 5 20:53:21 2008
@@ -45,7 +45,7 @@
<div style="text-align: right">
<a class="NavigationArrow" href="reference-entry-links.html">entries[i].links</a> →</div>
<hr style="clear:both">
-<div class="footer"><p class="copyright">Copyright (c) 2004, 2005, 2006 Mark Pilgrim</p></div>
+<div class="footer"><p class="copyright">Copyright (c) 2004, 2005, 2006, 2007, 2008 Mark Pilgrim</p></div>
</div></div>
</body>
</html>
Modified: trunk/www/docs/reference-entry-links.html
==============================================================================
--- trunk/www/docs/reference-entry-links.html (original)
+++ trunk/www/docs/reference-entry-links.html Wed Mar 5 20:53:21 2008
@@ -82,7 +82,7 @@
<div style="text-align: right">
<a class="NavigationArrow" href="reference-entry-summary.html">entries[i].summary</a> →</div>
<hr style="clear:both">
-<div class="footer"><p class="copyright">Copyright (c) 2004, 2005, 2006 Mark Pilgrim</p></div>
+<div class="footer"><p class="copyright">Copyright (c) 2004, 2005, 2006, 2007, 2008 Mark Pilgrim</p></div>
</div></div>
</body>
</html>
Modified: trunk/www/docs/reference-entry-published.html
==============================================================================
--- trunk/www/docs/reference-entry-published.html (original)
+++ trunk/www/docs/reference-entry-published.html Wed Mar 5 20:53:21 2008
@@ -42,7 +42,7 @@
<div style="text-align: right">
<a class="NavigationArrow" href="reference-entry-published_parsed.html">entries[i].published_parsed</a> →</div>
<hr style="clear:both">
-<div class="footer"><p class="copyright">Copyright (c) 2004, 2005, 2006 Mark Pilgrim</p></div>
+<div class="footer"><p class="copyright">Copyright (c) 2004, 2005, 2006, 2007, 2008 Mark Pilgrim</p></div>
</div></div>
</body>
</html>
Modified: trunk/www/docs/reference-entry-published_parsed.html
==============================================================================
--- trunk/www/docs/reference-entry-published_parsed.html (original)
+++ trunk/www/docs/reference-entry-published_parsed.html Wed Mar 5 20:53:21 2008
@@ -41,7 +41,7 @@
<div style="text-align: right">
<a class="NavigationArrow" href="reference-entry-updated.html">entries[i].updated</a> →</div>
<hr style="clear:both">
-<div class="footer"><p class="copyright">Copyright (c) 2004, 2005, 2006 Mark Pilgrim</p></div>
+<div class="footer"><p class="copyright">Copyright (c) 2004, 2005, 2006, 2007, 2008 Mark Pilgrim</p></div>
</div></div>
</body>
</html>
Modified: trunk/www/docs/reference-entry-publisher.html
==============================================================================
--- trunk/www/docs/reference-entry-publisher.html (original)
+++ trunk/www/docs/reference-entry-publisher.html Wed Mar 5 20:53:21 2008
@@ -40,7 +40,7 @@
<div style="text-align: right">
<a class="NavigationArrow" href="reference-entry-publisher_detail.html">entries[i].publisher_detail</a> →</div>
<hr style="clear:both">
-<div class="footer"><p class="copyright">Copyright (c) 2004, 2005, 2006 Mark Pilgrim</p></div>
+<div class="footer"><p class="copyright">Copyright (c) 2004, 2005, 2006, 2007, 2008 Mark Pilgrim</p></div>
</div></div>
</body>
</html>
Modified: trunk/www/docs/reference-entry-publisher_detail.html
==============================================================================
--- trunk/www/docs/reference-entry-publisher_detail.html (original)
+++ trunk/www/docs/reference-entry-publisher_detail.html Wed Mar 5 20:53:21 2008
@@ -65,7 +65,7 @@
<div style="text-align: right">
<a class="NavigationArrow" href="reference-entry-tags.html">entries[i].tags</a> →</div>
<hr style="clear:both">
-<div class="footer"><p class="copyright">Copyright (c) 2004, 2005, 2006 Mark Pilgrim</p></div>
+<div class="footer"><p class="copyright">Copyright (c) 2004, 2005, 2006, 2007, 2008 Mark Pilgrim</p></div>
</div></div>
</body>
</html>
Modified: trunk/www/docs/reference-entry-source.html
==============================================================================
--- trunk/www/docs/reference-entry-source.html (original)
+++ trunk/www/docs/reference-entry-source.html Wed Mar 5 20:53:21 2008
@@ -205,7 +205,7 @@
<div></div>
</div>
<p>Same as <a href="reference-entry-source.html#reference.entry.source.rights" title="entries[i].source.rights">entries[i].source.rights</a>.</p>
-<p>If this contains <acronym title="HyperText Markup Language">HTML</acronym> or <acronym title="Extensible HyperText Markup Language">XHTML</acronym>, it is <a href="html-sanitization.html" title="HTML Sanitization">sanitized</a> by default.</p>
+<p>If this contains <acronym title="HyperText Markup Language">HTML</acronym> or <acronym title="Extensible HyperText Markup Language">XHTML</acronym>, it is <a href="html-sanitization.html" title="Sanitization">sanitized</a> by default.</p>
<p>If this contains <acronym title="HyperText Markup Language">HTML</acronym> or <acronym title="Extensible HyperText Markup Language">XHTML</acronym>, certain (X)HTML elements within this value may contain relative <acronym title="Uniform Resource Identifier">URI</acronym>s. If so, they are <a href="resolving-relative-links.html" title="Relative Link Resolution">resolved according to a set of rules</a>.</p>
</div>
<div class="section" lang="en">
@@ -251,7 +251,7 @@
<div></div>
</div>
<p>A subtitle, tagline, slogan, or other short description of the source of this entry.</p>
-<p>If this contains <acronym title="HyperText Markup Language">HTML</acronym> or <acronym title="Extensible HyperText Markup Language">XHTML</acronym>, it is <a href="html-sanitization.html" title="HTML Sanitization">sanitized</a> by default.</p>
+<p>If this contains <acronym title="HyperText Markup Language">HTML</acronym> or <acronym title="Extensible HyperText Markup Language">XHTML</acronym>, it is <a href="html-sanitization.html" title="Sanitization">sanitized</a> by default.</p>
<p>If this contains <acronym title="HyperText Markup Language">HTML</acronym> or <acronym title="Extensible HyperText Markup Language">XHTML</acronym>, certain (X)HTML elements within this value may contain relative <acronym title="Uniform Resource Identifier">URI</acronym>s. If so, they are <a href="resolving-relative-links.html" title="Relative Link Resolution">resolved according to a set of rules</a>.</p>
</div>
<div class="section" lang="en">
@@ -268,7 +268,7 @@
<div></div>
</div>
<p>Same as <a href="reference-entry-source.html#reference.entry.source.subtitle" title="entries[i].source.subtitle">entries[i].source.subtitle</a>.</p>
-<p>If this contains <acronym title="HyperText Markup Language">HTML</acronym> or <acronym title="Extensible HyperText Markup Language">XHTML</acronym>, it is <a href="html-sanitization.html" title="HTML Sanitization">sanitized</a> by default.</p>
+<p>If this contains <acronym title="HyperText Markup Language">HTML</acronym> or <acronym title="Extensible HyperText Markup Language">XHTML</acronym>, it is <a href="html-sanitization.html" title="Sanitization">sanitized</a> by default.</p>
<p>If this contains <acronym title="HyperText Markup Language">HTML</acronym> or <acronym title="Extensible HyperText Markup Language">XHTML</acronym>, certain (X)HTML elements within this value may contain relative <acronym title="Uniform Resource Identifier">URI</acronym>s. If so, they are <a href="resolving-relative-links.html" title="Relative Link Resolution">resolved according to a set of rules</a>.</p>
</div>
<div class="section" lang="en">
@@ -314,7 +314,7 @@
<div></div>
</div>
<p>The title of the source of this entry.</p>
-<p>If this contains <acronym title="HyperText Markup Language">HTML</acronym> or <acronym title="Extensible HyperText Markup Language">XHTML</acronym>, it is <a href="html-sanitization.html" title="HTML Sanitization">sanitized</a> by default.</p>
+<p>If this contains <acronym title="HyperText Markup Language">HTML</acronym> or <acronym title="Extensible HyperText Markup Language">XHTML</acronym>, it is <a href="html-sanitization.html" title="Sanitization">sanitized</a> by default.</p>
<p>If this contains <acronym title="HyperText Markup Language">HTML</acronym> or <acronym title="Extensible HyperText Markup Language">XHTML</acronym>, certain (X)HTML elements within this value may contain relative <acronym title="Uniform Resource Identifier">URI</acronym>s. If so, they are <a href="resolving-relative-links.html" title="Relative Link Resolution">resolved according to a set of rules</a>.</p>
</div>
<div class="section" lang="en">
@@ -331,7 +331,7 @@
<div></div>
</div>
<p>Same as <a href="reference-entry-source.html#reference.entry.source.title" title="entries[i].source.title">entries[i].source.title</a>.</p>
-<p>If this contains <acronym title="HyperText Markup Language">HTML</acronym> or <acronym title="Extensible HyperText Markup Language">XHTML</acronym>, it is <a href="html-sanitization.html" title="HTML Sanitization">sanitized</a> by default.</p>
+<p>If this contains <acronym title="HyperText Markup Language">HTML</acronym> or <acronym title="Extensible HyperText Markup Language">XHTML</acronym>, it is <a href="html-sanitization.html" title="Sanitization">sanitized</a> by default.</p>
<p>If this contains <acronym title="HyperText Markup Language">HTML</acronym> or <acronym title="Extensible HyperText Markup Language">XHTML</acronym>, certain (X)HTML elements within this value may contain relative <acronym title="Uniform Resource Identifier">URI</acronym>s. If so, they are <a href="resolving-relative-links.html" title="Relative Link Resolution">resolved according to a set of rules</a>.</p>
</div>
<div class="section" lang="en">
@@ -393,7 +393,7 @@
<div style="text-align: right">
<a class="NavigationArrow" href="reference-entry-comments.html">entries[i].comments</a> →</div>
<hr style="clear:both">
-<div class="footer"><p class="copyright">Copyright (c) 2004, 2005, 2006 Mark Pilgrim</p></div>
+<div class="footer"><p class="copyright">Copyright (c) 2004, 2005, 2006, 2007, 2008 Mark Pilgrim</p></div>
</div></div>
</body>
</html>
Modified: trunk/www/docs/reference-entry-summary.html
==============================================================================
--- trunk/www/docs/reference-entry-summary.html (original)
+++ trunk/www/docs/reference-entry-summary.html Wed Mar 5 20:53:21 2008
@@ -22,7 +22,7 @@
<div></div>
</div>
<div class="abstract"><p>A summary of the entry.</p></div>
-<p>If this contains <acronym title="HyperText Markup Language">HTML</acronym> or <acronym title="Extensible HyperText Markup Language">XHTML</acronym>, it is <a href="html-sanitization.html" title="HTML Sanitization">sanitized</a> by default.</p>
+<p>If this contains <acronym title="HyperText Markup Language">HTML</acronym> or <acronym title="Extensible HyperText Markup Language">XHTML</acronym>, it is <a href="html-sanitization.html" title="Sanitization">sanitized</a> by default.</p>
<p>If this contains <acronym title="HyperText Markup Language">HTML</acronym> or <acronym title="Extensible HyperText Markup Language">XHTML</acronym>, certain (X)HTML elements within this value may contain relative <acronym title="Uniform Resource Identifier">URI</acronym>s. If so, they are <a href="resolving-relative-links.html" title="Relative Link Resolution">resolved according to a set of rules</a>.</p>
<p>Some publishing systems auto-generate this value from the first few words or first paragraph of the entry. Other publishing systems misuse it to include the full content. In the latter cases, <span class="application">Universal Feed Parser</span> ought to detect it and put the value in <a href="reference-entry-content.html" title="entries[i].content">entries[i].content</a> instead, but it doesn't.</p>
<div class="reference-from">
@@ -40,7 +40,7 @@
<h3>See also</h3>
<ul><li><a href="reference-entry-summary_detail.html" title="entries[i].summary_detail">entries[i].summary_detail</a></li></ul>
</div>
-<a name="id4779588"></a><table class="note" border="0" summary="">
+<a name="id306023"></a><table class="note" border="0" summary="">
<tr><td rowspan="2" align="center" valign="top" width="1%"><img src="images/note.png" alt="Note" title="" width="24" height="24"></td></tr>
<tr><td colspan="2" align="left" valign="top" width="99%">Some feeds include both a <tt class="literal">summary</tt> and <tt class="literal">description</tt> element for each entry. In this case, the first element will be available in <tt class="varname">entry['summary']</tt> and the second will be available in <tt class="varname">entry['content'][0]</tt>.</td></tr>
</table>
@@ -50,7 +50,7 @@
<div style="text-align: right">
<a class="NavigationArrow" href="reference-entry-summary_detail.html">entries[i].summary_detail</a> →</div>
<hr style="clear:both">
-<div class="footer"><p class="copyright">Copyright (c) 2004, 2005, 2006 Mark Pilgrim</p></div>
+<div class="footer"><p class="copyright">Copyright (c) 2004, 2005, 2006, 2007, 2008 Mark Pilgrim</p></div>
</div></div>
</body>
</html>
Modified: trunk/www/docs/reference-entry-summary_detail.html
==============================================================================
--- trunk/www/docs/reference-entry-summary_detail.html (original)
+++ trunk/www/docs/reference-entry-summary_detail.html Wed Mar 5 20:53:21 2008
@@ -44,7 +44,7 @@
<div></div>
</div>
<p>Same as <a href="reference-entry-summary.html" title="entries[i].summary">entries[i].summary</a>.</p>
-<p>If this contains <acronym title="HyperText Markup Language">HTML</acronym> or <acronym title="Extensible HyperText Markup Language">XHTML</acronym>, it is <a href="html-sanitization.html" title="HTML Sanitization">sanitized</a> by default.</p>
+<p>If this contains <acronym title="HyperText Markup Language">HTML</acronym> or <acronym title="Extensible HyperText Markup Language">XHTML</acronym>, it is <a href="html-sanitization.html" title="Sanitization">sanitized</a> by default.</p>
<p>If this contains <acronym title="HyperText Markup Language">HTML</acronym> or <acronym title="Extensible HyperText Markup Language">XHTML</acronym>, certain (X)HTML elements within this value may contain relative <acronym title="Uniform Resource Identifier">URI</acronym>s. If so, they are <a href="resolving-relative-links.html" title="Relative Link Resolution">resolved according to a set of rules</a>.</p>
</div>
<div class="section" lang="en">
@@ -88,7 +88,7 @@
<div style="text-align: right">
<a class="NavigationArrow" href="reference-entry-content.html">entries[i].content</a> →</div>
<hr style="clear:both">
-<div class="footer"><p class="copyright">Copyright (c) 2004, 2005, 2006 Mark Pilgrim</p></div>
+<div class="footer"><p class="copyright">Copyright (c) 2004, 2005, 2006, 2007, 2008 Mark Pilgrim</p></div>
</div></div>
</body>
</html>
Modified: trunk/www/docs/reference-entry-tags.html
==============================================================================
--- trunk/www/docs/reference-entry-tags.html (original)
+++ trunk/www/docs/reference-entry-tags.html Wed Mar 5 20:53:21 2008
@@ -34,7 +34,7 @@
<li><tt class="literal">/rdf:RDF/rdf:channel/rdf:item/dc:subject</tt></li>
</ul>
</div>
-<a name="id4782237"></a><table class="note" border="0" summary="">
+<a name="id308537"></a><table class="note" border="0" summary="">
<tr><td rowspan="2" align="center" valign="top" width="1%"><img src="images/note.png" alt="Note" title="" width="24" height="24"></td></tr>
<tr><td colspan="2" align="left" valign="top" width="99%">Prior to version 4.0, <span class="application">Universal Feed Parser</span> exposed categories in <tt class="varname">feed.category</tt> (the primary category) and <tt class="varname">feed.categories</tt> (a list of tuples containing the domain and term of each category). These uses are still supported for backward compatibility, but you will not see them in the parsed results unless you explicitly ask for them.</td></tr>
</table>
@@ -68,7 +68,7 @@
<div style="text-align: right">
<a class="NavigationArrow" href="reference-entry-source.html">entries[i].source</a> →</div>
<hr style="clear:both">
-<div class="footer"><p class="copyright">Copyright (c) 2004, 2005, 2006 Mark Pilgrim</p></div>
+<div class="footer"><p class="copyright">Copyright (c) 2004, 2005, 2006, 2007, 2008 Mark Pilgrim</p></div>
</div></div>
</body>
</html>
Modified: trunk/www/docs/reference-entry-title.html
==============================================================================
--- trunk/www/docs/reference-entry-title.html (original)
+++ trunk/www/docs/reference-entry-title.html Wed Mar 5 20:53:21 2008
@@ -22,7 +22,7 @@
<div></div>
</div>
<div class="abstract"><p>The title of the entry.</p></div>
-<p>If this contains <acronym title="HyperText Markup Language">HTML</acronym> or <acronym title="Extensible HyperText Markup Language">XHTML</acronym>, it is <a href="html-sanitization.html" title="HTML Sanitization">sanitized</a> by default.</p>
+<p>If this contains <acronym title="HyperText Markup Language">HTML</acronym> or <acronym title="Extensible HyperText Markup Language">XHTML</acronym>, it is <a href="html-sanitization.html" title="Sanitization">sanitized</a> by default.</p>
<p>If this contains <acronym title="HyperText Markup Language">HTML</acronym> or <acronym title="Extensible HyperText Markup Language">XHTML</acronym>, certain (X)HTML elements within this value may contain relative <acronym title="Uniform Resource Identifier">URI</acronym>s. If so, they are <a href="resolving-relative-links.html" title="Relative Link Resolution">resolved according to a set of rules</a>.</p>
<div class="reference-from">
<h3>Comes from</h3>
@@ -45,7 +45,7 @@
<div style="text-align: right">
<a class="NavigationArrow" href="reference-entry-title_detail.html">entries[i].title_detail</a> →</div>
<hr style="clear:both">
-<div class="footer"><p class="copyright">Copyright (c) 2004, 2005, 2006 Mark Pilgrim</p></div>
+<div class="footer"><p class="copyright">Copyright (c) 2004, 2005, 2006, 2007, 2008 Mark Pilgrim</p></div>
</div></div>
</body>
</html>
Modified: trunk/www/docs/reference-entry-title_detail.html
==============================================================================
--- trunk/www/docs/reference-entry-title_detail.html (original)
+++ trunk/www/docs/reference-entry-title_detail.html Wed Mar 5 20:53:21 2008
@@ -44,7 +44,7 @@
<div></div>
</div>
<p>Same as <a href="reference-entry-title.html" title="entries[i].title">entries[i].title</a>.</p>
-<p>If this contains <acronym title="HyperText Markup Language">HTML</acronym> or <acronym title="Extensible HyperText Markup Language">XHTML</acronym>, it is <a href="html-sanitization.html" title="HTML Sanitization">sanitized</a> by default.</p>
+<p>If this contains <acronym title="HyperText Markup Language">HTML</acronym> or <acronym title="Extensible HyperText Markup Language">XHTML</acronym>, it is <a href="html-sanitization.html" title="Sanitization">sanitized</a> by default.</p>
<p>If this contains <acronym title="HyperText Markup Language">HTML</acronym> or <acronym title="Extensible HyperText Markup Language">XHTML</acronym>, certain (X)HTML elements within this value may contain relative <acronym title="Uniform Resource Identifier">URI</acronym>s. If so, they are <a href="resolving-relative-links.html" title="Relative Link Resolution">resolved according to a set of rules</a>.</p>
</div>
<div class="section" lang="en">
@@ -88,7 +88,7 @@
<div style="text-align: right">
<a class="NavigationArrow" href="reference-entry-link.html">entries[i].link</a> →</div>
<hr style="clear:both">
-<div class="footer"><p class="copyright">Copyright (c) 2004, 2005, 2006 Mark Pilgrim</p></div>
+<div class="footer"><p class="copyright">Copyright (c) 2004, 2005, 2006, 2007, 2008 Mark Pilgrim</p></div>
</div></div>
</body>
</html>
Modified: trunk/www/docs/reference-entry-updated.html
==============================================================================
--- trunk/www/docs/reference-entry-updated.html (original)
+++ trunk/www/docs/reference-entry-updated.html Wed Mar 5 20:53:21 2008
@@ -45,7 +45,7 @@
<div style="text-align: right">
<a class="NavigationArrow" href="reference-entry-updated_parsed.html">entries[i].updated_parsed</a> →</div>
<hr style="clear:both">
-<div class="footer"><p class="copyright">Copyright (c) 2004, 2005, 2006 Mark Pilgrim</p></div>
+<div class="footer"><p class="copyright">Copyright (c) 2004, 2005, 2006, 2007, 2008 Mark Pilgrim</p></div>
</div></div>
</body>
</html>
Modified: trunk/www/docs/reference-entry-updated_parsed.html
==============================================================================
--- trunk/www/docs/reference-entry-updated_parsed.html (original)
+++ trunk/www/docs/reference-entry-updated_parsed.html Wed Mar 5 20:53:21 2008
@@ -44,7 +44,7 @@
<div style="text-align: right">
<a class="NavigationArrow" href="reference-entry-created.html">entries[i].created</a> →</div>
<hr style="clear:both">
-<div class="footer"><p class="copyright">Copyright (c) 2004, 2005, 2006 Mark Pilgrim</p></div>
+<div class="footer"><p class="copyright">Copyright (c) 2004, 2005, 2006, 2007, 2008 Mark Pilgrim</p></div>
</div></div>
</body>
</html>
Modified: trunk/www/docs/reference-entry.html
==============================================================================
--- trunk/www/docs/reference-entry.html (original)
+++ trunk/www/docs/reference-entry.html Wed Mar 5 20:53:21 2008
@@ -31,7 +31,7 @@
<li><tt class="literal">/rdf:RDF/rdf:item</tt></li>
</ul>
</div>
-<a name="id4778387"></a><table class="tip" border="0" summary="">
+<a name="id304885"></a><table class="tip" border="0" summary="">
<tr><td rowspan="2" align="center" valign="top" width="1%"><img src="images/tip.png" alt="Tip" title="" width="24" height="24"></td></tr>
<tr><td colspan="2" align="left" valign="top" width="99%">This element always exists, although it may be an empty list.</td></tr>
</table>
@@ -41,7 +41,7 @@
<div style="text-align: right">
<a class="NavigationArrow" href="reference-entry-title.html">entries[i].title</a> →</div>
<hr style="clear:both">
-<div class="footer"><p class="copyright">Copyright (c) 2004, 2005, 2006 Mark Pilgrim</p></div>
+<div class="footer"><p class="copyright">Copyright (c) 2004, 2005, 2006, 2007, 2008 Mark Pilgrim</p></div>
</div></div>
</body>
</html>
Modified: trunk/www/docs/reference-etag.html
==============================================================================
--- trunk/www/docs/reference-etag.html (original)
+++ trunk/www/docs/reference-etag.html Wed Mar 5 20:53:21 2008
@@ -28,7 +28,7 @@
<div></div>
</div>
<p>The purpose of <tt class="varname">etag</tt> is explained more fully in <a href="http-etag.html" title="ETag and Last-Modified Headers">ETag and Last-Modified Headers</a>.</p>
-<a name="id4784999"></a><table class="tip" border="0" summary="">
+<a name="id311128"></a><table class="tip" border="0" summary="">
<tr><td rowspan="2" align="center" valign="top" width="1%"><img src="images/tip.png" alt="Tip" title="" width="24" height="24"></td></tr>
<tr><td colspan="2" align="left" valign="top" width="99%">
<tt class="varname">etag</tt> will only be present if the feed was retrieved from a web server, and only if the web server provided an ETag <acronym title="Hypertext Transfer Protocol">HTTP</acronym> header for the feed. If the feed was parsed from a local file or from a string in memory, <tt class="varname">etag</tt> will not be present.</td></tr>
@@ -39,7 +39,7 @@
<div style="text-align: right">
<a class="NavigationArrow" href="reference-modified.html">modified</a> →</div>
<hr style="clear:both">
-<div class="footer"><p class="copyright">Copyright (c) 2004, 2005, 2006 Mark Pilgrim</p></div>
+<div class="footer"><p class="copyright">Copyright (c) 2004, 2005, 2006, 2007, 2008 Mark Pilgrim</p></div>
</div></div>
</body>
</html>
Modified: trunk/www/docs/reference-feed-author.html
==============================================================================
--- trunk/www/docs/reference-feed-author.html (original)
+++ trunk/www/docs/reference-feed-author.html Wed Mar 5 20:53:21 2008
@@ -45,7 +45,7 @@
<div style="text-align: right">
<a class="NavigationArrow" href="reference-feed-author_detail.html">feed.author_detail</a> →</div>
<hr style="clear:both">
-<div class="footer"><p class="copyright">Copyright (c) 2004, 2005, 2006 Mark Pilgrim</p></div>
+<div class="footer"><p class="copyright">Copyright (c) 2004, 2005, 2006, 2007, 2008 Mark Pilgrim</p></div>
</div></div>
</body>
</html>
Modified: trunk/www/docs/reference-feed-author_detail.html
==============================================================================
--- trunk/www/docs/reference-feed-author_detail.html (original)
+++ trunk/www/docs/reference-feed-author_detail.html Wed Mar 5 20:53:21 2008
@@ -70,7 +70,7 @@
<div style="text-align: right">
<a class="NavigationArrow" href="reference-feed-contributors.html">feed.contributors</a> →</div>
<hr style="clear:both">
-<div class="footer"><p class="copyright">Copyright (c) 2004, 2005, 2006 Mark Pilgrim</p></div>
+<div class="footer"><p class="copyright">Copyright (c) 2004, 2005, 2006, 2007, 2008 Mark Pilgrim</p></div>
</div></div>
</body>
</html>
Modified: trunk/www/docs/reference-feed-cloud.html
==============================================================================
--- trunk/www/docs/reference-feed-cloud.html (original)
+++ trunk/www/docs/reference-feed-cloud.html Wed Mar 5 20:53:21 2008
@@ -74,7 +74,7 @@
<div style="text-align: right">
<a class="NavigationArrow" href="reference-feed-publisher.html">feed.publisher</a> →</div>
<hr style="clear:both">
-<div class="footer"><p class="copyright">Copyright (c) 2004, 2005, 2006 Mark Pilgrim</p></div>
+<div class="footer"><p class="copyright">Copyright (c) 2004, 2005, 2006, 2007, 2008 Mark Pilgrim</p></div>
</div></div>
</body>
</html>
Modified: trunk/www/docs/reference-feed-contributors.html
==============================================================================
--- trunk/www/docs/reference-feed-contributors.html (original)
+++ trunk/www/docs/reference-feed-contributors.html Wed Mar 5 20:53:21 2008
@@ -61,7 +61,7 @@
<div style="text-align: right">
<a class="NavigationArrow" href="reference-feed-image.html">feed.image</a> →</div>
<hr style="clear:both">
-<div class="footer"><p class="copyright">Copyright (c) 2004, 2005, 2006 Mark Pilgrim</p></div>
+<div class="footer"><p class="copyright">Copyright (c) 2004, 2005, 2006, 2007, 2008 Mark Pilgrim</p></div>
</div></div>
</body>
</html>
Modified: trunk/www/docs/reference-feed-docs.html
==============================================================================
--- trunk/www/docs/reference-feed-docs.html (original)
+++ trunk/www/docs/reference-feed-docs.html Wed Mar 5 20:53:21 2008
@@ -34,7 +34,7 @@
<div style="text-align: right">
<a class="NavigationArrow" href="reference-feed-ttl.html">feed.ttl</a> →</div>
<hr style="clear:both">
-<div class="footer"><p class="copyright">Copyright (c) 2004, 2005, 2006 Mark Pilgrim</p></div>
+<div class="footer"><p class="copyright">Copyright (c) 2004, 2005, 2006, 2007, 2008 Mark Pilgrim</p></div>
</div></div>
</body>
</html>
Modified: trunk/www/docs/reference-feed-errorreportsto.html
==============================================================================
--- trunk/www/docs/reference-feed-errorreportsto.html (original)
+++ trunk/www/docs/reference-feed-errorreportsto.html Wed Mar 5 20:53:21 2008
@@ -32,7 +32,7 @@
<div style="text-align: right">
<a class="NavigationArrow" href="reference-entry.html">entries</a> →</div>
<hr style="clear:both">
-<div class="footer"><p class="copyright">Copyright (c) 2004, 2005, 2006 Mark Pilgrim</p></div>
+<div class="footer"><p class="copyright">Copyright (c) 2004, 2005, 2006, 2007, 2008 Mark Pilgrim</p></div>
</div></div>
</body>
</html>
Modified: trunk/www/docs/reference-feed-generator.html
==============================================================================
--- trunk/www/docs/reference-feed-generator.html (original)
+++ trunk/www/docs/reference-feed-generator.html Wed Mar 5 20:53:21 2008
@@ -41,7 +41,7 @@
<div style="text-align: right">
<a class="NavigationArrow" href="reference-feed-generator_detail.html">feed.generator_detail</a> →</div>
<hr style="clear:both">
-<div class="footer"><p class="copyright">Copyright (c) 2004, 2005, 2006 Mark Pilgrim</p></div>
+<div class="footer"><p class="copyright">Copyright (c) 2004, 2005, 2006, 2007, 2008 Mark Pilgrim</p></div>
</div></div>
</body>
</html>
Modified: trunk/www/docs/reference-feed-generator_detail.html
==============================================================================
--- trunk/www/docs/reference-feed-generator_detail.html (original)
+++ trunk/www/docs/reference-feed-generator_detail.html Wed Mar 5 20:53:21 2008
@@ -66,7 +66,7 @@
<div style="text-align: right">
<a class="NavigationArrow" href="reference-feed-info.html">
feed.info</a> →</div>
<hr style="clear:both">
-<div class="footer"><p class="copyright">Copyright (c) 2004, 2005, 2006 Mark Pilgrim</p></div>
+<div class="footer"><p class="copyright">Copyright (c) 2004, 2005, 2006, 2007, 2008 Mark Pilgrim</p></div>
</div></div>
</body>
</html>
Modified: trunk/www/docs/reference-feed-icon.html
==============================================================================
--- trunk/www/docs/reference-feed-icon.html (original)
+++ trunk/www/docs/reference-feed-icon.html Wed Mar 5 20:53:21 2008
@@ -33,7 +33,7 @@
<div style="text-align: right">
<a class="NavigationArrow" href="reference-feed-logo.html">feed.icon</a> →</div>
<hr style="clear:both">
-<div class="footer"><p class="copyright">Copyright (c) 2004, 2005, 2006 Mark Pilgrim</p></div>
+<div class="footer"><p class="copyright">Copyright (c) 2004, 2005, 2006, 2007, 2008 Mark Pilgrim</p></div>
</div></div>
</body>
</html>
Modified: trunk/www/docs/reference-feed-id.html
==============================================================================
--- trunk/www/docs/reference-feed-id.html (original)
+++ trunk/www/docs/reference-feed-id.html Wed Mar 5 20:53:21 2008
@@ -36,7 +36,7 @@
<div style="text-align: right">
<a class="NavigationArrow" href="reference-feed-author.html">feed.author</a> →</div>
<hr style="clear:both">
-<div class="footer"><p class="copyright">Copyright (c) 2004, 2005, 2006 Mark Pilgrim</p></div>
+<div class="footer"><p class="copyright">Copyright (c) 2004, 2005, 2006, 2007, 2008 Mark Pilgrim</p></div>
</div></div>
</body>
</html>
Modified: trunk/www/docs/reference-feed-image.html
==============================================================================
--- trunk/www/docs/reference-feed-image.html (original)
+++ trunk/www/docs/reference-feed-image.html Wed Mar 5 20:53:21 2008
@@ -109,7 +109,7 @@
<div style="text-align: right">
<a class="NavigationArrow" href="reference-feed-icon.html">feed.icon</a> →</div>
<hr style="clear:both">
-<div class="footer"><p class="copyright">Copyright (c) 2004, 2005, 2006 Mark Pilgrim</p></div>
+<div class="footer"><p class="copyright">Copyright (c) 2004, 2005, 2006, 2007, 2008 Mark Pilgrim</p></div>
</div></div>
</body>
</html>
Modified: trunk/www/docs/reference-feed-info-detail.html
==============================================================================
--- trunk/www/docs/reference-feed-info-detail.html (original)
+++ trunk/www/docs/reference-feed-info-detail.html Wed Mar 5 20:53:21 2008
@@ -37,7 +37,7 @@
<div></div>
</div>
<p>Same as <a href="reference-feed-info.html" title="
feed.info">
feed.info</a>.</p>
-<p>If this contains <acronym title="HyperText Markup Language">HTML</acronym> or <acronym title="Extensible HyperText Markup Language">XHTML</acronym>, it is <a href="html-sanitization.html" title="HTML Sanitization">sanitized</a> by default.</p>
+<p>If this contains <acronym title="HyperText Markup Language">HTML</acronym> or <acronym title="Extensible HyperText Markup Language">XHTML</acronym>, it is <a href="html-sanitization.html" title="Sanitization">sanitized</a> by default.</p>
<p>If this contains <acronym title="HyperText Markup Language">HTML</acronym> or <acronym title="Extensible HyperText Markup Language">XHTML</acronym>, certain (X)HTML elements within this value may contain relative <acronym title="Uniform Resource Identifier">URI</acronym>s. If so, they are <a href="resolving-relative-links.html" title="Relative Link Resolution">resolved according to a set of rules</a>.</p>
</div>
<div class="section" lang="en">
@@ -81,7 +81,7 @@
<div style="text-align: right">
<a class="NavigationArrow" href="reference-feed-updated.html">feed.updated</a> →</div>
<hr style="clear:both">
-<div class="footer"><p class="copyright">Copyright (c) 2004, 2005, 2006 Mark Pilgrim</p></div>
+<div class="footer"><p class="copyright">Copyright (c) 2004, 2005, 2006, 2007, 2008 Mark Pilgrim</p></div>
</div></div>
</body>
</html>
Modified: trunk/www/docs/reference-feed-info.html
==============================================================================
--- trunk/www/docs/reference-feed-info.html (original)
+++ trunk/www/docs/reference-feed-info.html Wed Mar 5 20:53:21 2008
@@ -22,7 +22,7 @@
<div></div>
</div>
<div class="abstract"><p>Free-form human-readable description of the feed format itself. Intended for people who view the feed in a browser, to explain what they just clicked on. This element is generally ignored by feed readers.</p></div>
-<p>If this contains <acronym title="HyperText Markup Language">HTML</acronym> or <acronym title="Extensible HyperText Markup Language">XHTML</acronym>, it is <a href="html-sanitization.html" title="HTML Sanitization">sanitized</a> by default.</p>
+<p>If this contains <acronym title="HyperText Markup Language">HTML</acronym> or <acronym title="Extensible HyperText Markup Language">XHTML</acronym>, it is <a href="html-sanitization.html" title="Sanitization">sanitized</a> by default.</p>
<p>If this contains <acronym title="HyperText Markup Language">HTML</acronym> or <acronym title="Extensible HyperText Markup Language">XHTML</acronym>, certain (X)HTML elements within this value may contain relative <acronym title="Uniform Resource Identifier">URI</acronym>s. If so, they are <a href="resolving-relative-links.html" title="Relative Link Resolution">resolved according to a set of rules</a>.</p>
<div class="reference-from">
<h3>Comes from</h3>
@@ -41,7 +41,7 @@
<div style="text-align: right">
<a class="NavigationArrow" href="reference-feed-info-detail.html">feed.info_detail</a> →</div>
<hr style="clear:both">
-<div class="footer"><p class="copyright">Copyright (c) 2004, 2005, 2006 Mark Pilgrim</p></div>
+<div class="footer"><p class="copyright">Copyright (c) 2004, 2005, 2006, 2007, 2008 Mark Pilgrim</p></div>
</div></div>
</body>
</html>
Modified: trunk/www/docs/reference-feed-language.html
==============================================================================
--- trunk/www/docs/reference-feed-language.html (original)
+++ trunk/www/docs/reference-feed-language.html Wed Mar 5 20:53:21 2008
@@ -38,7 +38,7 @@
<div style="text-align: right">
<a class="NavigationArrow" href="reference-feed-license.html">feed.license</a> →</div>
<hr style="clear:both">
-<div class="footer"><p class="copyright">Copyright (c) 2004, 2005, 2006 Mark Pilgrim</p></div>
+<div class="footer"><p class="copyright">Copyright (c) 2004, 2005, 2006, 2007, 2008 Mark Pilgrim</p></div>
</div></div>
</body>
</html>
Modified: trunk/www/docs/reference-feed-license.html
==============================================================================
--- trunk/www/docs/reference-feed-license.html (original)
+++ trunk/www/docs/reference-feed-license.html Wed Mar 5 20:53:21 2008
@@ -37,7 +37,7 @@
<div style="text-align: right">
<a class="NavigationArrow" href="reference-feed-errorreportsto.html">feed.errorreportsto</a> →</div>
<hr style="clear:both">
-<div class="footer"><p class="copyright">Copyright (c) 2004, 2005, 2006 Mark Pilgrim</p></div>
+<div class="footer"><p class="copyright">Copyright (c) 2004, 2005, 2006, 2007, 2008 Mark Pilgrim</p></div>
</div></div>
</body>
</html>
Modified: trunk/www/docs/reference-feed-link.html
==============================================================================
--- trunk/www/docs/reference-feed-link.html (original)
+++ trunk/www/docs/reference-feed-link.html Wed Mar 5 20:53:21 2008
@@ -44,7 +44,7 @@
<div style="text-align: right">
<a class="NavigationArrow" href="reference-feed-links.html">feed.links</a> →</div>
<hr style="clear:both">
-<div class="footer"><p class="copyright">Copyright (c) 2004, 2005, 2006 Mark Pilgrim</p></div>
+<div class="footer"><p class="copyright">Copyright (c) 2004, 2005, 2006, 2007, 2008 Mark Pilgrim</p></div>
</div></div>
</body>
</html>
Modified: trunk/www/docs/reference-feed-links.html
==============================================================================
--- trunk/www/docs/reference-feed-links.html (original)
+++ trunk/www/docs/reference-feed-links.html Wed Mar 5 20:53:21 2008
@@ -82,7 +82,7 @@
<div style="text-align: right">
<a class="NavigationArrow" href="reference-feed-subtitle.html">feed.subtitle</a> →</div>
<hr style="clear:both">
-<div class="footer"><p class="copyright">Copyright (c) 2004, 2005, 2006 Mark Pilgrim</p></div>
+<div class="footer"><p class="copyright">Copyright (c) 2004, 2005, 2006, 2007, 2008 Mark Pilgrim</p></div>
</div></div>
</body>
</html>
Modified: trunk/www/docs/reference-feed-logo.html
==============================================================================
--- trunk/www/docs/reference-feed-logo.html (original)
+++ trunk/www/docs/reference-feed-logo.html Wed Mar 5 20:53:21 2008
@@ -33,7 +33,7 @@
<div style="text-align: right">
<a class="NavigationArrow" href="reference-feed-textinput.html">feed.textinput</a> →</div>
<hr style="clear:both">
-<div class="footer"><p class="copyright">Copyright (c) 2004, 2005, 2006 Mark Pilgrim</p></div>
+<div class="footer"><p class="copyright">Copyright (c) 2004, 2005, 2006, 2007, 2008 Mark Pilgrim</p></div>
</div></div>
</body>
</html>
Modified: trunk/www/docs/reference-feed-publisher.html
==============================================================================
--- trunk/www/docs/reference-feed-publisher.html (original)
+++ trunk/www/docs/reference-feed-publisher.html Wed Mar 5 20:53:21 2008
@@ -41,7 +41,7 @@
<div style="text-align: right">
<a class="NavigationArrow" href="reference-feed-publisher_detail.html">feed.publisher_detail</a> →</div>
<hr style="clear:both">
-<div class="footer"><p class="copyright">Copyright (c) 2004, 2005, 2006 Mark Pilgrim</p></div>
+<div class="footer"><p class="copyright">Copyright (c) 2004, 2005, 2006, 2007, 2008 Mark Pilgrim</p></div>
</div></div>
</body>
</html>
Modified: trunk/www/docs/reference-feed-publisher_detail.html
==============================================================================
--- trunk/www/docs/reference-feed-publisher_detail.html (original)
+++ trunk/www/docs/reference-feed-publisher_detail.html Wed Mar 5 20:53:21 2008
@@ -66,7 +66,7 @@
<div style="text-align: right">
<a class="NavigationArrow" href="reference-feed-tags.html">feed.tags</a> →</div>
<hr style="clear:both">
-<div class="footer"><p class="copyright">Copyright (c) 2004, 2005, 2006 Mark Pilgrim</p></div>
+<div class="footer"><p class="copyright">Copyright (c) 2004, 2005, 2006, 2007, 2008 Mark Pilgrim</p></div>
</div></div>
</body>
</html>
Modified: trunk/www/docs/reference-feed-rights.html
==============================================================================
--- trunk/www/docs/reference-feed-rights.html (original)
+++ trunk/www/docs/reference-feed-rights.html Wed Mar 5 20:53:21 2008
@@ -22,9 +22,9 @@
<div></div>
</div>
<div class="abstract"><p>A human-readable copyright statement for the feed.</p></div>
-<p>If this contains <acronym title="HyperText Markup Language">HTML</acronym> or <acronym title="Extensible HyperText Markup Language">XHTML</acronym>, it is <a href="html-sanitization.html" title="HTML Sanitization">sanitized</a> by default.</p>
+<p>If this contains <acronym title="HyperText Markup Language">HTML</acronym> or <acronym title="Extensible HyperText Markup Language">XHTML</acronym>, it is <a href="html-sanitization.html" title="Sanitization">sanitized</a> by default.</p>
<p>If this contains <acronym title="HyperText Markup Language">HTML</acronym> or <acronym title="Extensible HyperText Markup Language">XHTML</acronym>, certain (X)HTML elements within this value may contain relative <acronym title="Uniform Resource Identifier">URI</acronym>s. If so, they are <a href="resolving-relative-links.html" title="Relative Link Resolution">resolved according to a set of rules</a>.</p>
-<a name="id4774654"></a><table class="note" border="0" summary="">
+<a name="id301368"></a><table class="note" border="0" summary="">
<tr><td rowspan="2" align="center" valign="top" width="1%"><img src="images/note.png" alt="Note" title="" width="24" height="24"></td></tr>
<tr><td colspan="2" align="left" valign="top" width="99%">For machine-readable copyright information, see <a href="reference-feed-license.html" title="feed.license">feed.license</a>.</td></tr>
</table>
@@ -48,7 +48,7 @@
<div style="text-align: right">
<a class="NavigationArrow" href="reference-feed-rights_detail.html">feed.rights_detail</a> →</div>
<hr style="clear:both">
-<div class="footer"><p class="copyright">Copyright (c) 2004, 2005, 2006 Mark Pilgrim</p></div>
+<div class="footer"><p class="copyright">Copyright (c) 2004, 2005, 2006, 2007, 2008 Mark Pilgrim</p></div>
</div></div>
</body>
</html>
Modified: trunk/www/docs/reference-feed-rights_detail.html
==============================================================================
--- trunk/www/docs/reference-feed-rights_detail.html (original)
+++ trunk/www/docs/reference-feed-rights_detail.html Wed Mar 5 20:53:21 2008
@@ -43,7 +43,7 @@
<div></div>
</div>
<p>Same as <a href="reference-feed-rights.html" title="feed.rights">feed.rights</a>.</p>
-<p>If this contains <acronym title="HyperText Markup Language">HTML</acronym> or <acronym title="Extensible HyperText Markup Language">XHTML</acronym>, it is <a href="html-sanitization.html" title="HTML Sanitization">sanitized</a> by default.</p>
+<p>If this contains <acronym title="HyperText Markup Language">HTML</acronym> or <acronym title="Extensible HyperText Markup Language">XHTML</acronym>, it is <a href="html-sanitization.html" title="Sanitization">sanitized</a> by default.</p>
<p>If this contains <acronym title="HyperText Markup Language">HTML</acronym> or <acronym title="Extensible HyperText Markup Language">XHTML</acronym>, certain (X)HTML elements within this value may contain relative <acronym title="Uniform Resource Identifier">URI</acronym>s. If so, they are <a href="resolving-relative-links.html" title="Relative Link Resolution">resolved according to a set of rules</a>.</p>
</div>
<div class="section" lang="en">
@@ -87,7 +87,7 @@
<div style="text-align: right">
<a class="NavigationArrow" href="reference-feed
==============================================================================
Diff truncated at 200k characters