[feedparser commit] r283 - in trunk: feedparser/docs/xml www/docs www/docs/examples

2 views
Skip to first unread message

codesite...@google.com

unread,
Mar 10, 2008, 4:03:39 PM3/10/08
to feedparse...@googlegroups.com
Author: pilgrim
Date: Mon Mar 10 13:01:14 2008
New Revision: 283

Added:
trunk/www/docs/examples/xfn.xml
trunk/www/docs/reference-entry-vcard.html
trunk/www/docs/reference-entry-xfn.html
Modified:
trunk/feedparser/docs/xml/feedparser.xml
trunk/www/docs/annotated-atom03.html
trunk/www/docs/annotated-atom10.html
trunk/www/docs/annotated-rss10.html
trunk/www/docs/annotated-rss20-dc.html
trunk/www/docs/annotated-rss20.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/html-sanitization.html
trunk/www/docs/http-etag.html
trunk/www/docs/index.html
trunk/www/docs/introduction.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-content.html
trunk/www/docs/reference-entry-license.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.html
trunk/www/docs/reference-etag.html
trunk/www/docs/reference-feed-rights.html
trunk/www/docs/reference-feed-tags.html
trunk/www/docs/reference-feed-textinput.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

Log:
finished XFN and hCard documentation, including new reference pages

Modified: trunk/feedparser/docs/xml/feedparser.xml
==============================================================================
--- trunk/feedparser/docs/xml/feedparser.xml (original)
+++ trunk/feedparser/docs/xml/feedparser.xml Mon Mar 10 13:01:14 2008
@@ -110,6 +110,7 @@
<!ENTITY url_example_http_base "&url_example;http_base.xml">
<!ENTITY url_example_no_base "&url_example;no_base.xml">
<!ENTITY url_example_hcard "&url_example;hcard.xml">
+<!ENTITY url_example_xfn "&url_example;xfn.xml">
<!ENTITY url_example_relenclosure "&url_example;rel-enclosure.xml">
<!ENTITY url_example_reltag "&url_example;rel-tag.xml">
<!ENTITY url_tests_sanitize "&url_feedparser;tests/wellformed/sanitize/">
@@ -126,6 +127,7 @@
<!ENTITY url_microformats_reltag "&url_microformats;wiki/rel-tag">
<!ENTITY url_microformats_relenclosure "&url_microformats;wiki/rel-enclosure">
<!ENTITY url_xfn "&url_microformats;wiki/XFN">
+<!ENTITY url_xfn_profile "http://gmpg.org/xfn/11">
<!ENTITY url_chardet "http://chardet.feedparser.org/">
<!ENTITY chardet_name "<application>Universal Encoding Detector</application>">
<!ENTITY chardet "<ulink url='&url_chardet;'>&chardet_name;</ulink>">
@@ -233,6 +235,8 @@

<!ENTITY containsrelativelinks "<para>If this contains &html; or &xhtml;, certain (X)HTML elements within this value may contain relative &uri;s. If so, they are <link linkend='advanced.base'>resolved according to a set of rules</link>.</para>">

+<!ENTITY parsedformicroformats "<para>If this contains &html; or &xhtml;, it will be <link linkend='advanced.microformats'>parsed for microformats</link>.</para>">
+
<!ENTITY parsedasadate "<link linkend='advanced.date'>parsed as a date</link>">

<!ENTITY listofrelvalues "<para>&atom; 1.0 defines five standard link relationships and describes the process for registering others. Here are the five standard <sgmltag class='attribute'>rel</sgmltag> values:</para>
@@ -1716,6 +1720,12 @@
<para>To parse microformats. &feedparser; relies on a third-party library called &beautifulsoup;, which is distributed separately. If &beautifulsoup_name; is not installed, &feedparser; will silently skip microformats parsing.</para>
</note>

+<para>The following elements are parsed for microformats:</para>
+<itemizedlist>
+<listitem><para><xref linkend="reference.entry.summary_detail.value"/></para></listitem>
+<listitem><para><xref linkend="reference.entry.content.value"/></para></listitem>
+</itemizedlist>
+
<section id="advanced.microformats.relenclosure">
<title>rel=enclosure</title>
<para>The <ulink url="&url_microformats_relenclosure;"><literal>rel=enclosure</literal></ulink> microformat provides a way for embedded &html; content to specify that a certain link should be treated as an <link linkend="reference.entry.enclosures">enclosure</link>. &feedparser; looks for links within embedded markup that meet any of the following conditions:</para>
@@ -1794,20 +1804,39 @@
<section id="advanced.microformats.xfn">
<title>&xfn;</title>

-<para>TODO</para>
+<para>The <ulink url="&url_xfn;">&xfn;</ulink> microformat allows you to define human relationships between &uri;s. For example, you could link from your weblog to your spouse's weblog with the <constant>rel="spouse"</constant> relation. It is intended primarily for "blogrolls" or other static lists of links, but the relations can occur anywhere in &html; content. If found, &feedparser; will return the &xfn; information in <xref linkend="reference.entry.xfn"/>.</para>
+
+<para>&feedparser; supports all of the relationships listed in the <ulink url="&url_xfn_profile;">&xfn; 1.1 profile</ulink>, as well as the following variations:</para>
+
+<itemizedlist>
+<listitem><para><constant>coworker</constant> in addition to <constant>co-worker</constant></para></listitem>
+<listitem><para><constant>coresident</constant> in addition to <constant>co-resident</constant></para></listitem>
+<listitem><para><constant>relative</constant> in addition to <constant>kin</constant></para></listitem>
+<listitem><para><constant>brother</constant> and <constant>sister</constant> in addition to <constant>sibling</constant></para></listitem>
+<listitem><para><constant>husband</constant> and <constant>wife</constant> in addition to <constant>spouse</constant></para></listitem>
+</itemizedlist>

<example id="example.xfn">
<title>Parsing &xfn; relationships</title>
-<screen>TODO</screen>
+<screen>&prompt;<userinput>import feedparser</userinput>
+&prompt;<userinput>d = feedparser.parse('<ulink url="&url_example_xfn;">&url_example_xfn;</ulink>')</userinput>
+&prompt;<userinput>person = d.entries[0].xfn[0]</userinput>
+&prompt;<userinput>person.name</userinput>
+<computeroutput>u'John Doe'</computeroutput>
+&prompt;<userinput>person.href</userinput>
+<computeroutput>u'http://example.com/johndoe'</computeroutput>
+&prompt;<userinput>person.relationships</userinput>
+<computeroutput>[u'coworker', u'friend']</computeroutput></screen>
</example>

</section>

<section id="advanced.microformats.hcard">
<title>&hCard;</title>
-<para>TODO</para>
+<para>The <ulink url="&url_microformats_hcard;">&hCard;</ulink> microformat allows you to embed address book information within &html; content. If &feedparser; finds an &hCard; within supported elements, it converts it into an RFC 2426-compliant &vCard; and returns it in <xref linkend="reference.entry.vcard"/>.</para>
+
<example id="example.hcard">
-<title>Parsing embedded &hCard; markup into a &vCard;</title>
+<title>Converting embedded &hCard; markup into a &vCard;</title>
<screen>&prompt;<userinput>import feedparser</userinput>
&prompt;<userinput>d = feedparser.parse('<ulink url="&url_example_hcard;">&url_example_hcard;</ulink>')</userinput>
&prompt;<userinput>print d.entries[0].vcard</userinput>
@@ -1844,11 +1873,10 @@
<itemizedlist role="furtherreading">
<title>Elsewhere</title>
<listitem><para><ulink url="&url_microformats;">Microformats.org</ulink></para></listitem>
-<listitem><para><ulink url="&url_microformats_hcard;">&hCard; specification</ulink></para></listitem>
-<listitem><para><ulink url="&url_microformats_reltag;"><literal>rel=tag</literal> specification</ulink></para></listitem>
<listitem><para><ulink url="&url_microformats_relenclosure;"><literal>rel=enclosure</literal> specification</ulink></para></listitem>
<listitem><para><ulink url="&url_microformats_reltag;"><literal>rel=tag</literal> specification</ulink></para></listitem>
<listitem><para><ulink url="&url_xfn;">&xfn; specification</ulink></para></listitem>
+<listitem><para><ulink url="&url_microformats_hcard;">&hCard; specification</ulink></para></listitem>
</itemizedlist>

</section>
@@ -4305,6 +4333,7 @@
<para>Same as <xref linkend="reference.entry.summary"/>.</para>
&sanitized;
&containsrelativelinks;
+&parsedformicroformats;
</section>
<section id="reference.entry.summary_detail.type">
<title>entries[i].summary_detail.type</title>
@@ -4346,6 +4375,7 @@
<para>The value of this piece of content.</para>
&sanitized;
&containsrelativelinks;
+&parsedformicroformats;
</section>
<section id="reference.entry.content.type">
<title>entries[i].content[j].type</title>
@@ -4967,6 +4997,74 @@
<listitem><para><literal>/rss/channel/item/creativeCommons:license</literal></para></listitem>
<listitem><para><literal>/rdf:RDF/rdf:item/cc:license/@rdf:resource</literal></para></listitem>
<listitem><para><literal>/atom10:feed/atom10:entry/atom10:link[@rel="license"]/@href</literal></para></listitem>
+</itemizedlist>
+</section>
+
+<section id="reference.entry.xfn">
+<?dbhtml filename="reference-entry-xfn.html"?>
+<title>entries[i].xfn</title>
+<abstract>
+<title/>
+<para>A list of <link linkend="advanced.microformats.xfn">&xfn; relationships</link> found in this entry's &html; content.</para>
+</abstract>
+<itemizedlist role="reference-from">
+<title>Comes from</title>
+<listitem><para><literal>/atom10:feed/atom10:entry/atom10:summary</literal></para></listitem>
+<listitem><para><literal>/atom03:feed/atom03:entry/atom03:summary</literal></para></listitem>
+<listitem><para><literal>/rss/channel/item/description</literal></para></listitem>
+<listitem><para><literal>/rss/channel/item/dc:description</literal></para></listitem>
+<listitem><para><literal>/rdf:RDF/rdf:item/rdf:description</literal></para></listitem>
+<listitem><para><literal>/rdf:RDF/rdf:item/dc:description</literal></para></listitem>
+<listitem><para><literal>/atom10:feed/atom10:entry/atom10:content</literal></para></listitem>
+<listitem><para><literal>/atom03:feed/atom03:entry/atom03:content</literal></para></listitem>
+<listitem><para><literal>/rss/channel/item/content:encoded</literal></para></listitem>
+<listitem><para><literal>/rss/channel/item/body</literal></para></listitem>
+<listitem><para><literal>/rss/channel/item/xhtml:body</literal></para></listitem>
+<listitem><para><literal>/rss/channel/item/fullitem</literal></para></listitem>
+<listitem><para><literal>/rdf:RDF/rdf:item/content:encoded</literal></para></listitem>
+</itemizedlist>
+
+<para><literal>entries[i].xfn</literal> is a list. Each list item represents a single person and may contain the following values:</para>
+
+<section id="reference.entry.xfn.relationships">
+<title>entries[i].xfn[j].relationships</title>
+<para>A list of relationships for this person. Each list item is a string, either one of the constants defined in the <ulink url="&url_xfn_profile;">&xfn; 1.1 profile</ulink> or <link linkend="advanced.microformats.xfn">one of these variations</link>.</para>
+</section>
+
+<section id="reference.entry.xfn.href">
+<title>entries[i].xfn[j].href</title>
+<para>The &uri; for this person.</para>
+&isrelativelink;
+</section>
+
+<section id="reference.entry.xfn.name">
+<title>entries[i].xfn[j].name</title>
+<para>The name of this person, a string.</para>
+</section>
+</section>
+
+<section id="reference.entry.vcard">
+<?dbhtml filename="reference-entry-vcard.html"?>
+<title>entries[i].vcard</title>
+<abstract>
+<title/>
+<para>An RFC 2426-compliant &vCard; derived from <link linkend="advanced.microformats.hcard">&hCard; information</link> found in this entry's &html; content.</para>
+</abstract>
+<itemizedlist role="reference-from">
+<title>Comes from</title>
+<listitem><para><literal>/atom10:feed/atom10:entry/atom10:summary</literal></para></listitem>
+<listitem><para><literal>/atom03:feed/atom03:entry/atom03:summary</literal></para></listitem>
+<listitem><para><literal>/rss/channel/item/description</literal></para></listitem>
+<listitem><para><literal>/rss/channel/item/dc:description</literal></para></listitem>
+<listitem><para><literal>/rdf:RDF/rdf:item/rdf:description</literal></para></listitem>
+<listitem><para><literal>/rdf:RDF/rdf:item/dc:description</literal></para></listitem>
+<listitem><para><literal>/atom10:feed/atom10:entry/atom10:content</literal></para></listitem>
+<listitem><para><literal>/atom03:feed/atom03:entry/atom03:content</literal></para></listitem>
+<listitem><para><literal>/rss/channel/item/content:encoded</literal></para></listitem>
+<listitem><para><literal>/rss/channel/item/body</literal></para></listitem>
+<listitem><para><literal>/rss/channel/item/xhtml:body</literal></para></listitem>
+<listitem><para><literal>/rss/channel/item/fullitem</literal></para></listitem>
+<listitem><para><literal>/rdf:RDF/rdf:item/content:encoded</literal></para></listitem>
</itemizedlist>
</section>


Modified: trunk/www/docs/annotated-atom03.html
==============================================================================
--- trunk/www/docs/annotated-atom03.html (original)
+++ trunk/www/docs/annotated-atom03.html Mon Mar 10 13:01:14 2008
@@ -27,7 +27,7 @@
</div>
<div></div>
</div>
-<a name="id299246"></a><table class="caution" border="0" summary="">
+<a name="id299514"></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>

Modified: trunk/www/docs/annotated-atom10.html
==============================================================================
--- trunk/www/docs/annotated-atom10.html (original)
+++ trunk/www/docs/annotated-atom10.html Mon Mar 10 13:01:14 2008
@@ -27,7 +27,7 @@
</div>
<div></div>
</div>
-<a name="id298795"></a><table class="caution" border="0" summary="">
+<a name="id299062"></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>

Modified: trunk/www/docs/annotated-rss10.html
==============================================================================
--- trunk/www/docs/annotated-rss10.html (original)
+++ trunk/www/docs/annotated-rss10.html Mon Mar 10 13:01:14 2008
@@ -27,7 +27,7 @@
</div>
<div></div>
</div>
-<a name="id300265"></a><table class="caution" border="0" summary="">
+<a name="id300532"></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>

Modified: trunk/www/docs/annotated-rss20-dc.html
==============================================================================
--- trunk/www/docs/annotated-rss20-dc.html (original)
+++ trunk/www/docs/annotated-rss20-dc.html Mon Mar 10 13:01:14 2008
@@ -27,7 +27,7 @@
</div>
<div></div>
</div>
-<a name="id300046"></a><table class="caution" border="0" summary="">
+<a name="id300314"></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>

Modified: trunk/www/docs/annotated-rss20.html
==============================================================================
--- trunk/www/docs/annotated-rss20.html (original)
+++ trunk/www/docs/annotated-rss20.html Mon Mar 10 13:01:14 2008
@@ -27,7 +27,7 @@
</div>
<div></div>
</div>
-<a name="id299678"></a><table class="caution" border="0" summary="">
+<a name="id299945"></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>

Modified: trunk/www/docs/character-encoding.html
==============================================================================
--- trunk/www/docs/character-encoding.html (original)
+++ trunk/www/docs/character-encoding.html Mon Mar 10 13:01:14 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="id296372"></a><table class="tip" border="0" summary="">
+<a name="id296588"></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>

Modified: trunk/www/docs/common-atom-elements.html
==============================================================================
--- trunk/www/docs/common-atom-elements.html (original)
+++ trunk/www/docs/common-atom-elements.html Mon Mar 10 13:01:14 2008
@@ -116,7 +116,7 @@
'language': u'en-US',
'value': u'&lt;div&gt;Watch out for &lt;span&gt;nasty tricks&lt;/span&gt;&lt;/div&gt;'}]</span></pre>
</div>
-<a name="id286189"></a><table class="note" border="0" summary="">
+<a name="id286186"></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="Sanitization">Sanitization</a> for details.</td></tr>
</table>

Modified: trunk/www/docs/common-rss-elements.html
==============================================================================
--- trunk/www/docs/common-rss-elements.html (original)
+++ trunk/www/docs/common-rss-elements.html Mon Mar 10 13:01:14 2008
@@ -77,7 +77,7 @@
<tt class="prompt">&gt;&gt;&gt; </tt><span class="userinput">d.entries[0].id</span>
<span class="computeroutput">u'http://example.org/guid/1'</span></pre>
</div>
-<a name="id285804"></a><table class="tip" border="0" summary="">
+<a name="id285800"></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>

Modified: trunk/www/docs/content-normalization.html
==============================================================================
--- trunk/www/docs/content-normalization.html (original)
+++ trunk/www/docs/content-normalization.html Mon Mar 10 13:01:14 2008
@@ -75,7 +75,7 @@
<tt class="prompt">&gt;&gt;&gt; </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="id292475"></a><table class="note" border="0" summary="">
+<a name="id292465"></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>

Modified: trunk/www/docs/date-parsing.html
==============================================================================
--- trunk/www/docs/date-parsing.html (original)
+++ trunk/www/docs/date-parsing.html Mon Mar 10 13:01:14 2008
@@ -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="id287513" class="skip" href="#id287513" 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="id287507" class="skip" href="#id287507" 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="id288220"></a><table class="tip" border="0" summary="">
+<a name="id288214"></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>

Added: trunk/www/docs/examples/xfn.xml
==============================================================================
--- (empty file)
+++ trunk/www/docs/examples/xfn.xml Mon Mar 10 13:01:14 2008
@@ -0,0 +1,7 @@
+<feed xmlns="http://www.w3.org/2005/Atom">
+<entry>
+<content type="html">
+&lt;p>&lt;a rel="coworker friend" href="http://example.com/johndoe">John Doe&lt;/a>&lt;/p>
+</content>
+</entry>
+</feed>
\ No newline at end of file

Modified: trunk/www/docs/html-sanitization.html
==============================================================================
--- trunk/www/docs/html-sanitization.html (original)
+++ trunk/www/docs/html-sanitization.html Mon Mar 10 13:01:14 2008
@@ -32,7 +32,7 @@
<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>
-<a name="id288340"></a><table class="note" border="0" summary="">
+<a name="id288329"></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>
@@ -84,7 +84,7 @@
<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="id291793"></a><table class="note" border="0" summary="">
+<a name="id291783"></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%">Not all possible CSS values are allowed for these properties. The allowable values are restricted by a whitelist and a regular expression that allows color values and lengths. <acronym title="Uniform Resource Identifier">URI</acronym>s are not allowed, to prevent <a href="http://diveintomark.org/archives/2003/06/12/how_to_consume_rss_safely">platypus attacks</a>. See the <tt class="classname">_HTMLSanitizer</tt> class for more details.</td></tr>
</table>

Modified: trunk/www/docs/http-etag.html
==============================================================================
--- trunk/www/docs/http-etag.html (original)
+++ trunk/www/docs/http-etag.html Mon Mar 10 13:01:14 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="id297425"></a><table class="important" border="0" summary="">
+<a name="id297637"></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>

Modified: trunk/www/docs/index.html
==============================================================================
--- trunk/www/docs/index.html (original)
+++ trunk/www/docs/index.html Mon Mar 10 13:01:14 2008
@@ -212,7 +212,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#id305090">Annotated example</a></span></li>
+<li><span class="section"><a href="reference-feed-textinput.html#id305357">Annotated example</a></span></li>
</ul>
</li>
<li>
@@ -348,6 +348,14 @@
</li>
<li><span class="section"><a href="reference-entry-comments.html">entries[i].comments</a></span></li>
<li><span class="section"><a href="reference-entry-license.html">entries[i].license</a></span></li>
+<li>
+<span class="section"><a href="reference-entry-xfn.html">entries[i].xfn</a></span><ul>
+<li><span class="section"><a href="reference-entry-xfn.html#reference.entry.xfn.relationships">entries[i].xfn[j].relationships</a></span></li>
+<li><span class="section"><a href="reference-entry-xfn.html#reference.entry.xfn.href">entries[i].xfn[j].href</a></span></li>
+<li><span class="section"><a href="reference-entry-xfn.html#reference.entry.xfn.name">entries[i].xfn[j].name</a></span></li>
+</ul>
+</li>
+<li><span class="section"><a href="reference-entry-vcard.html">entries[i].vcard</a></span></li>
<li><span class="section"><a href="reference-version.html">version</a></span></li>
<li><span class="section"><a href="reference-namespaces.html">namespaces</a></span></li>
<li><span class="section"><a href="reference-encoding.html">encoding</a></span></li>

Modified: trunk/www/docs/introduction.html
==============================================================================
--- trunk/www/docs/introduction.html (original)
+++ trunk/www/docs/introduction.html Mon Mar 10 13:01:14 2008
@@ -33,7 +33,7 @@
<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="id242255"></a><table class="note" border="0" summary="">
+<a name="id242248"></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>

Modified: trunk/www/docs/microformats.html
==============================================================================
--- trunk/www/docs/microformats.html (original)
+++ trunk/www/docs/microformats.html Mon Mar 10 13:01:14 2008
@@ -27,10 +27,15 @@
</div>
<div></div>
</div>
-<a name="id292550"></a><table class="note" border="0" summary="">
+<a name="id292540"></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%">To parse microformats. <span class="application">Universal Feed Parser</span> relies on a third-party library called <a href="http://www.crummy.com/software/BeautifulSoup/">Beautiful Soup</a>, which is distributed separately. If Beautiful Soup is not installed, <span class="application">Universal Feed Parser</span> will silently skip microformats parsing.</td></tr>
</table>
+<p>The following elements are parsed for microformats:</p>
+<div class="itemizedlist"><ul>
+<li><a href="reference-entry-summary_detail.html#reference.entry.summary_detail.value" title="entries[i].summary_detail.value">entries[i].summary_detail.value</a></li>
+<li><a href="reference-entry-content.html#reference.entry.content.value" title="entries[i].content[j].value">entries[i].content[j].value</a></li>
+</ul></div>
<div class="section" lang="en">
<div class="titlepage">
<div><div><h3 class="title">
@@ -86,10 +91,36 @@
</h3></div></div>
<div></div>
</div>
-<p>TODO</p>
+<p>The <a href="http://microformats.org/wiki/XFN"><acronym title="XHTML Friends Network">XFN</acronym></a> microformat allows you to define human relationships between <acronym title="Uniform Resource Identifier">URI</acronym>s. For example, you could link from your weblog to your spouse's weblog with the <tt class="constant">rel="spouse"</tt> relation. It is intended primarily for "blogrolls" or other static lists of links, but the relations can occur anywhere in <acronym title="HyperText Markup Language">HTML</acronym> content. If found, <span class="application">Universal Feed Parser</span> will return the <acronym title="XHTML Friends Network">XFN</acronym> information in <a href="reference-entry-xfn.html" title="entries[i].xfn">entries[i].xfn</a>.</p>
+<p><span class="application">Universal Feed Parser</span> supports all of the relationships listed in the <a href="http://gmpg.org/xfn/11"><acronym title="XHTML Friends Network">XFN</acronym> 1.1 profile</a>, as well as the following variations:</p>
+<div class="itemizedlist"><ul>
+<li>
+<tt class="constant">coworker</tt> in addition to <tt class="constant">co-worker</tt>
+</li>
+<li>
+<tt class="constant">coresident</tt> in addition to <tt class="constant">co-resident</tt>
+</li>
+<li>
+<tt class="constant">relative</tt> in addition to <tt class="constant">kin</tt>
+</li>
+<li>
+<tt class="constant">brother</tt> and <tt class="constant">sister</tt> in addition to <tt class="constant">sibling</tt>
+</li>
+<li>
+<tt class="constant">husband</tt> and <tt class="constant">wife</tt> in addition to <tt class="constant">spouse</tt>
+</li>
+</ul></div>
<div class="example">
<a name="example.xfn" class="skip" href="#example.xfn" 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 <acronym title="XHTML Friends Network">XFN</acronym> relationships</h3>
-<pre class="screen">TODO</pre>
+<pre class="screen"><tt class="prompt">&gt;&gt;&gt; </tt><span class="userinput"><font color='navy'><b>import</b></font> feedparser</span>
+<tt class="prompt">&gt;&gt;&gt; </tt><span class="userinput">d = feedparser.parse('<a href="http://feedparser.org/docs/examples/xfn.xml">http://feedparser.org/docs/examples/xfn.xml</a>')</span>
+<tt class="prompt">&gt;&gt;&gt; </tt><span class="userinput">person = d.entries[0].xfn[0]</span>
+<tt class="prompt">&gt;&gt;&gt; </tt><span class="userinput">person.name</span>
+<span class="computeroutput">u'John Doe'</span>
+<tt class="prompt">&gt;&gt;&gt; </tt><span class="userinput">person.href</span>
+<span class="computeroutput">u'http://example.com/johndoe'</span>
+<tt class="prompt">&gt;&gt;&gt; </tt><span class="userinput">person.relationships</span>
+<span class="computeroutput">[u'coworker', u'friend']</span></pre>
</div>
</div>
<div class="section" lang="en">
@@ -98,9 +129,9 @@
<a name="advanced.microformats.hcard" class="skip" href="#advanced.microformats.hcard" title="link to this section"><img src="images/permalink.gif" alt="[link]" title="link to this section" width="8" height="9"></a> hCard</h3></div></div>
<div></div>
</div>
-<p>TODO</p>
+<p>The <a href="http://microformats.org/wiki/hcard">hCard</a> microformat allows you to embed address book information within <acronym title="HyperText Markup Language">HTML</acronym> content. If <span class="application">Universal Feed Parser</span> finds an hCard within supported elements, it converts it into an RFC 2426-compliant vCard and returns it in <a href="reference-entry-vcard.html" title="entries[i].vcard">entries[i].vcard</a>.</p>
<div class="example">
-<a name="example.hcard" class="skip" href="#example.hcard" 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 embedded hCard markup into a vCard</h3>
+<a name="example.hcard" class="skip" href="#example.hcard" 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: Converting embedded hCard markup into a vCard</h3>
<pre class="screen"><tt class="prompt">&gt;&gt;&gt; </tt><span class="userinput"><font color='navy'><b>import</b></font> feedparser</span>
<tt class="prompt">&gt;&gt;&gt; </tt><span class="userinput">d = feedparser.parse('<a href="http://feedparser.org/docs/examples/hcard.xml">http://feedparser.org/docs/examples/hcard.xml</a>')</span>
<tt class="prompt">&gt;&gt;&gt; </tt><span class="userinput"><font color='navy'><b>print</b></font> d.entries[0].vcard</span>
@@ -128,7 +159,7 @@
ORG:Netscape Communications Corp.
END:vCard</span></pre>
</div>
-<a name="id293182"></a><table class="note" border="0" summary="">
+<a name="id293395"></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="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 additional microformat content are free to do so.</td></tr>
</table>

Modified: trunk/www/docs/namespace-handling.html
==============================================================================
--- trunk/www/docs/namespace-handling.html (original)
+++ trunk/www/docs/namespace-handling.html Mon Mar 10 13:01:14 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="id293571" class="skip" href="#id293571" 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="id293783" class="skip" href="#id293783" 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>
@@ -266,12 +266,12 @@
</table>
</div>
<p></p>
-<a name="id294340"></a><table class="note" border="0" summary="">
+<a name="id294552"></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="id294359"></a><table class="caution" border="0" summary="">
+<a name="id294571"></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="Sanitization">sanitized</a> (even if it contains <acronym title="HyperText Markup Language">HTML</acronym> markup).</td></tr>
</table>

Modified: trunk/www/docs/reference-bozo.html
==============================================================================
--- trunk/www/docs/reference-bozo.html (original)
+++ trunk/www/docs/reference-bozo.html Mon Mar 10 13:01:14 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="id312558"></a><table class="tip" border="0" summary="">
+<a name="id313265"></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>

Modified: trunk/www/docs/reference-bozo_exception.html
==============================================================================
--- trunk/www/docs/reference-bozo_exception.html (original)
+++ trunk/www/docs/reference-bozo_exception.html Mon Mar 10 13:01:14 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="id312646"></a><table class="tip" border="0" summary="">
+<a name="id313353"></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>

Modified: trunk/www/docs/reference-encoding.html
==============================================================================
--- trunk/www/docs/reference-encoding.html (original)
+++ trunk/www/docs/reference-encoding.html Mon Mar 10 13:01:14 2008
@@ -27,11 +27,11 @@
</div>
<div></div>
</div>
-<a name="id312136"></a><table class="note" border="0" summary="">
+<a name="id312843"></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="id312157"></a><table class="tip" border="0" summary="">
+<a name="id312864"></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>

Modified: trunk/www/docs/reference-entry-content.html
==============================================================================
--- trunk/www/docs/reference-entry-content.html (original)
+++ trunk/www/docs/reference-entry-content.html Mon Mar 10 13:01:14 2008
@@ -44,6 +44,7 @@
<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="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>If this contains <acronym title="HyperText Markup Language">HTML</acronym> or <acronym title="Extensible HyperText Markup Language">XHTML</acronym>, it will be <a href="microformats.html" title="Microformats">parsed for microformats</a>.</p>
</div>
<div class="section" lang="en">
<div class="titlepage">

Modified: trunk/www/docs/reference-entry-license.html
==============================================================================
--- trunk/www/docs/reference-entry-license.html (original)
+++ trunk/www/docs/reference-entry-license.html Mon Mar 10 13:01:14 2008
@@ -10,7 +10,7 @@
<link rel="start" href="index.html" title="Documentation">
<link rel="up" href="reference.html" title="Reference">
<link rel="prev" href="reference-entry-comments.html" title="entries[i].comments">
-<link rel="next" href="reference-version.html" title="version">
+<link rel="next" href="reference-entry-xfn.html" title="entries[i].xfn">
</head>
<body id="feedparser-org" class="docs">
<!--#include virtual="/inc/header.html"--><div id="main"><div id="mainInner">
@@ -35,7 +35,7 @@
<div style="float: left">← <a class="NavigationArrow" href="reference-entry-comments.html">entries[i].comments</a>
</div>
<div style="text-align: right">
-<a class="NavigationArrow" href="reference-version.html">version</a> →</div>
+<a class="NavigationArrow" href="reference-entry-xfn.html">entries[i].xfn</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>

Modified: trunk/www/docs/reference-entry-summary.html
==============================================================================
--- trunk/www/docs/reference-entry-summary.html (original)
+++ trunk/www/docs/reference-entry-summary.html Mon Mar 10 13:01:14 2008
@@ -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="id307246"></a><table class="note" border="0" summary="">
+<a name="id307514"></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>

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 Mon Mar 10 13:01:14 2008
@@ -46,6 +46,7 @@
<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="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>If this contains <acronym title="HyperText Markup Language">HTML</acronym> or <acronym title="Extensible HyperText Markup Language">XHTML</acronym>, it will be <a href="microformats.html" title="Microformats">parsed for microformats</a>.</p>
</div>
<div class="section" lang="en">
<div class="titlepage">

Modified: trunk/www/docs/reference-entry-tags.html
==============================================================================
--- trunk/www/docs/reference-entry-tags.html (original)
+++ trunk/www/docs/reference-entry-tags.html Mon Mar 10 13:01:14 2008
@@ -34,7 +34,7 @@
<li><tt class="literal">/rdf:RDF/rdf:channel/rdf:item/dc:subject</tt></li>
</ul>
</div>
-<a name="id309770"></a><table class="note" border="0" summary="">
+<a name="id310082"></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>

Added: trunk/www/docs/reference-entry-vcard.html
==============================================================================
--- (empty file)
+++ trunk/www/docs/reference-entry-vcard.html Mon Mar 10 13:01:14 2008
@@ -0,0 +1,52 @@
+<!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>entries[i].vcard [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="reference.html" title="Reference">
+<link rel="prev" href="reference-entry-xfn.html" title="entries[i].xfn">
+<link rel="next" href="reference-version.html" title="version">
+</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="reference.html">Reference</a> → <span class="thispage">entries[i].vcard</span></p>
+<div class="section" lang="en">
+<div class="titlepage">
+<div><div><h2 class="title">
+<a name="reference.entry.vcard" class="skip" href="#reference.entry.vcard" title="link to this section"><img src="images/permalink.gif" alt="[link]" title="link to this section" width="8" height="9"></a> entries[i].vcard</h2></div></div>
+<div></div>
+</div>
+<div class="abstract"><p>An RFC 2426-compliant vCard derived from <a href="microformats.html#advanced.microformats.hcard" title="hCard">hCard information</a> found in this entry's <acronym title="HyperText Markup Language">HTML</acronym> content.</p></div>
+<div class="reference-from">
+<h3>Comes from</h3>
+<ul>
+<li><tt class="literal">/atom10:feed/atom10:entry/atom10:summary</tt></li>
+<li><tt class="literal">/atom03:feed/atom03:entry/atom03:summary</tt></li>
+<li><tt class="literal">/rss/channel/item/description</tt></li>
+<li><tt class="literal">/rss/channel/item/dc:description</tt></li>
+<li><tt class="literal">/rdf:RDF/rdf:item/rdf:description</tt></li>
+<li><tt class="literal">/rdf:RDF/rdf:item/dc:description</tt></li>
+<li><tt class="literal">/atom10:feed/atom10:entry/atom10:content</tt></li>
+<li><tt class="literal">/atom03:feed/atom03:entry/atom03:content</tt></li>
+<li><tt class="literal">/rss/channel/item/content:encoded</tt></li>
+<li><tt class="literal">/rss/channel/item/body</tt></li>
+<li><tt class="literal">/rss/channel/item/xhtml:body</tt></li>
+<li><tt class="literal">/rss/channel/item/fullitem</tt></li>
+<li><tt class="literal">/rdf:RDF/rdf:item/content:encoded</tt></li>
+</ul>
+</div>
+</div>
+<div style="float: left">← <a class="NavigationArrow" href="reference-entry-xfn.html">entries[i].xfn</a>
+</div>
+<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, 2007, 2008 Mark Pilgrim</p></div>
+</div></div>
+</body>
+</html>

Added: trunk/www/docs/reference-entry-xfn.html
==============================================================================
--- (empty file)
+++ trunk/www/docs/reference-entry-xfn.html Mon Mar 10 13:01:14 2008
@@ -0,0 +1,78 @@
+<!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>entries[i].xfn [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="reference.html" title="Reference">
+<link rel="prev" href="reference-entry-license.html" title="entries[i].license">
+<link rel="next" href="reference-entry-vcard.html" title="entries[i].vcard">
+</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="reference.html">Reference</a> → <span class="thispage">entries[i].xfn</span></p>
+<div class="section" lang="en">
+<div class="titlepage">
+<div><div><h2 class="title">
+<a name="reference.entry.xfn" class="skip" href="#reference.entry.xfn" title="link to this section"><img src="images/permalink.gif" alt="[link]" title="link to this section" width="8" height="9"></a> entries[i].xfn</h2></div></div>
+<div></div>
+</div>
+<div class="abstract"><p>A list of <a href="microformats.html#advanced.microformats.xfn" title="XFN"><acronym title="XHTML Friends Network">XFN</acronym> relationships</a> found in this entry's <acronym title="HyperText Markup Language">HTML</acronym> content.</p></div>
+<div class="reference-from">
+<h3>Comes from</h3>
+<ul>
+<li><tt class="literal">/atom10:feed/atom10:entry/atom10:summary</tt></li>
+<li><tt class="literal">/atom03:feed/atom03:entry/atom03:summary</tt></li>
+<li><tt class="literal">/rss/channel/item/description</tt></li>
+<li><tt class="literal">/rss/channel/item/dc:description</tt></li>
+<li><tt class="literal">/rdf:RDF/rdf:item/rdf:description</tt></li>
+<li><tt class="literal">/rdf:RDF/rdf:item/dc:description</tt></li>
+<li><tt class="literal">/atom10:feed/atom10:entry/atom10:content</tt></li>
+<li><tt class="literal">/atom03:feed/atom03:entry/atom03:content</tt></li>
+<li><tt class="literal">/rss/channel/item/content:encoded</tt></li>
+<li><tt class="literal">/rss/channel/item/body</tt></li>
+<li><tt class="literal">/rss/channel/item/xhtml:body</tt></li>
+<li><tt class="literal">/rss/channel/item/fullitem</tt></li>
+<li><tt class="literal">/rdf:RDF/rdf:item/content:encoded</tt></li>
+</ul>
+</div>
+<p><tt class="literal">entries[i].xfn</tt> is a list. Each list item represents a single person and may contain the following values:</p>
+<div class="section" lang="en">
+<div class="titlepage">
+<div><div><h3 class="title">
+<a name="reference.entry.xfn.relationships" class="skip" href="#reference.entry.xfn.relationships" title="link to this section"><img src="images/permalink.gif" alt="[link]" title="link to this section" width="8" height="9"></a> entries[i].xfn[j].relationships</h3></div></div>
+<div></div>
+</div>
+<p>A list of relationships for this person. Each list item is a string, either one of the constants defined in the <a href="http://gmpg.org/xfn/11"><acronym title="XHTML Friends Network">XFN</acronym> 1.1 profile</a> or <a href="microformats.html#advanced.microformats.xfn" title="XFN">one of these variations</a>.</p>
+</div>
+<div class="section" lang="en">
+<div class="titlepage">
+<div><div><h3 class="title">
+<a name="reference.entry.xfn.href" class="skip" href="#reference.entry.xfn.href" title="link to this section"><img src="images/permalink.gif" alt="[link]" title="link to this section" width="8" height="9"></a> entries[i].xfn[j].href</h3></div></div>
+<div></div>
+</div>
+<p>The <acronym title="Uniform Resource Identifier">URI</acronym> for this person.</p>
+<p>If this is a relative <acronym title="Uniform Resource Identifier">URI</acronym>, it is <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">
+<div class="titlepage">
+<div><div><h3 class="title">
+<a name="reference.entry.xfn.name" class="skip" href="#reference.entry.xfn.name" title="link to this section"><img src="images/permalink.gif" alt="[link]" title="link to this section" width="8" height="9"></a> entries[i].xfn[j].name</h3></div></div>
+<div></div>
+</div>
+<p>The name of this person, a string.</p>
+</div>
+</div>
+<div style="float: left">← <a class="NavigationArrow" href="reference-entry-license.html">entries[i].license</a>
+</div>
+<div style="text-align: right">
+<a class="NavigationArrow" href="reference-entry-vcard.html">entries[i].vcard</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/reference-entry.html
==============================================================================
--- trunk/www/docs/reference-entry.html (original)
+++ trunk/www/docs/reference-entry.html Mon Mar 10 13:01:14 2008
@@ -31,7 +31,7 @@
<li><tt class="literal">/rdf:RDF/rdf:item</tt></li>
</ul>
</div>
-<a name="id306108"></a><table class="tip" border="0" summary="">
+<a name="id306376"></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>

Modified: trunk/www/docs/reference-etag.html
==============================================================================
--- trunk/www/docs/reference-etag.html (original)
+++ trunk/www/docs/reference-etag.html Mon Mar 10 13:01:14 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="id312361"></a><table class="tip" border="0" summary="">
+<a name="id313068"></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>

Modified: trunk/www/docs/reference-feed-rights.html
==============================================================================
--- trunk/www/docs/reference-feed-rights.html (original)
+++ trunk/www/docs/reference-feed-rights.html Mon Mar 10 13:01:14 2008
@@ -24,7 +24,7 @@
<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="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="id302589"></a><table class="note" border="0" summary="">
+<a name="id302857"></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>

Modified: trunk/www/docs/reference-feed-tags.html
==============================================================================
--- trunk/www/docs/reference-feed-tags.html (original)
+++ trunk/www/docs/reference-feed-tags.html Mon Mar 10 13:01:14 2008
@@ -34,7 +34,7 @@
<li><tt class="literal">/rdf:RDF/rdf:channel/dc:subject</tt></li>
</ul>
</div>
-<a name="id305644"></a><table class="note" border="0" summary="">
+<a name="id305911"></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>

Modified: trunk/www/docs/reference-feed-textinput.html
==============================================================================
--- trunk/www/docs/reference-feed-textinput.html (original)
+++ trunk/www/docs/reference-feed-textinput.html Mon Mar 10 13:01:14 2008
@@ -66,7 +66,7 @@
<div class="section" lang="en">
<div class="titlepage">
<div><div><h3 class="title">
-<a name="id305090" class="skip" href="#id305090" title="link to this section"><img src="images/permalink.gif" alt="[link]" title="link to this section" width="8" height="9"></a> Annotated example</h3></div></div>
+<a name="id305357" class="skip" href="#id305357" title="link to this section"><img src="images/permalink.gif" alt="[link]" title="link to this section" width="8" height="9"></a> Annotated example</h3></div></div>
<div></div>
</div>
<p>This is a text input in a feed:</p>

Modified: trunk/www/docs/reference-feed.html
==============================================================================
--- trunk/www/docs/reference-feed.html (original)
+++ trunk/www/docs/reference-feed.html Mon Mar 10 13:01:14 2008
@@ -31,7 +31,7 @@
<li><tt class="literal">/rdf:RDF/rdf:channel</tt></li>
</ul>
</div>
-<a name="id301007"></a><table class="tip" border="0" summary="">
+<a name="id301274"></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 dictionary.</td></tr>
</table>

Modified: trunk/www/docs/reference-headers.html
==============================================================================
--- trunk/www/docs/reference-headers.html (original)
+++ trunk/www/docs/reference-headers.html Mon Mar 10 13:01:14 2008
@@ -27,7 +27,7 @@
</div>
<div></div>
</div>
-<a name="id312482"></a><table class="tip" border="0" summary="">
+<a name="id313189"></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">headers</tt> will only be present if the feed was retrieved from a web server. If the feed was parsed from a local file or from a string in memory, <tt class="varname">headers</tt> will not be present.</td></tr>

Modified: trunk/www/docs/reference-href.html
==============================================================================
--- trunk/www/docs/reference-href.html (original)
+++ trunk/www/docs/reference-href.html Mon Mar 10 13:01:14 2008
@@ -28,7 +28,7 @@
<div></div>
</div>
<p>If the feed was redirected from the original requested address, <tt class="varname">href</tt> will contain the final (redirected) address.</p>
-<a name="id312300"></a><table class="tip" border="0" summary="">
+<a name="id313007"></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">href</tt> will only be present if the feed was retrieved from a web server. If the feed was parsed from a local file or from a string in memory, <tt class="varname">href</tt> will not be present.</td></tr>

Modified: trunk/www/docs/reference-modified.html
==============================================================================
--- trunk/www/docs/reference-modified.html (original)
+++ trunk/www/docs/reference-modified.html Mon Mar 10 13:01:14 2008
@@ -28,7 +28,7 @@
<div></div>
</div>
<p>The purpose of <tt class="varname">modified</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="id312428"></a><table class="tip" border="0" summary="">
+<a name="id313135"></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">modified</tt> will only be present if the feed was retrieved from a web server, and only if the web server provided a Last-Modified <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">modified</tt> will not be present.</td></tr>

Modified: trunk/www/docs/reference-namespaces.html
==============================================================================
--- trunk/www/docs/reference-namespaces.html (original)
+++ trunk/www/docs/reference-namespaces.html Mon Mar 10 13:01:14 2008
@@ -27,11 +27,11 @@
</div>
<div></div>
</div>
-<a name="id312082"></a><table class="note" border="0" summary="">
+<a name="id312789"></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 prefixes listed in the <tt class="varname">namespaces</tt> dictionary may not match the prefixes defined in the original feed. See <a href="namespace-handling.html" title="Namespace Handling">Namespace Handling</a> for more details.</td></tr>
</table>
-<a name="id312101"></a><table class="tip" border="0" summary="">
+<a name="id312808"></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 dictionary if the feed does not define any namespaces (such as an RSS 2.0 feed with no extensions).</td></tr>
</table>

Modified: trunk/www/docs/reference-status.html
==============================================================================
--- trunk/www/docs/reference-status.html (original)
+++ trunk/www/docs/reference-status.html Mon Mar 10 13:01:14 2008
@@ -30,7 +30,7 @@
<p>If the feed was redirected from its original <acronym title="Uniform Resource Locator">URL</acronym>, <tt class="varname">status</tt> will contain the redirect status code, not the final status code.</p>
<p>If <tt class="varname">status</tt> is <tt class="constant">301</tt>, the feed was permanently redirected to a new <acronym title="Uniform Resource Locator">URL</acronym>. Clients should update their address book to request the new <acronym title="Uniform Resource Locator">URL</acronym> from now on.</p>
<p>If <tt class="varname">status</tt> is <tt class="constant">410</tt>, the feed is gone. Clients should stop polling the feed.</p>
-<a name="id312246"></a><table class="tip" border="0" summary="">
+<a name="id312953"></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">status</tt> will only be present if the feed was retrieved from a web server. If the feed was parsed from a local file or from a string in memory, <tt class="varname">status</tt> will not be present.</td></tr>

Modified: trunk/www/docs/reference-version.html
==============================================================================
--- trunk/www/docs/reference-version.html (original)
+++ trunk/www/docs/reference-version.html Mon Mar 10 13:01:14 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="reference.html" title="Reference">
-<link rel="prev" href="reference-entry-license.html" title="entries[i].license">
+<link rel="prev" href="reference-entry-vcard.html" title="entries[i].vcard">
<link rel="next" href="reference-namespaces.html" title="namespaces">
</head>
<body id="feedparser-org" class="docs">
@@ -66,12 +66,12 @@
<dd><a href="http://diveintomark.org/archives/2004/04/14/hot-rss">Hot <acronym title="Rich Site Summary">RSS</acronym></a></dd>
</dl></div>
<p>If the feed type is completely unknown, <tt class="varname">version</tt> will be an empty string.</p>
-<a name="id312042"></a><table class="tip" border="0" summary="">
+<a name="id312749"></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 version can not be determined.</td></tr>
</table>
</div>
-<div style="float: left">← <a class="NavigationArrow" href="reference-entry-license.html">entries[i].license</a>
+<div style="float: left">← <a class="NavigationArrow" href="reference-entry-vcard.html">entries[i].vcard</a>
</div>
<div style="text-align: right">
<a class="NavigationArrow" href="reference-namespaces.html">namespaces</a> →</div>

Modified: trunk/www/docs/reference.html
==============================================================================
--- trunk/www/docs/reference.html (original)
+++ trunk/www/docs/reference.html Mon Mar 10 13:01:14 2008
@@ -113,7 +113,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#id305090">Annotated example</a></span></li>
+<li><span class="section"><a href="reference-feed-textinput.html#id305357">Annotated example</a></span></li>
</ul>
</li>
<li>
@@ -249,6 +249,14 @@
</li>
<li><span class="section"><a href="reference-entry-comments.html">entries[i].comments</a></span></li>
<li><span class="section"><a href="reference-entry-license.html">entries[i].license</a></span></li>
+<li>
+<span class="section"><a href="reference-entry-xfn.html">entries[i].xfn</a></span><ul>
+<li><span class="section"><a href="reference-entry-xfn.html#reference.entry.xfn.relationships">entries[i].xfn[j].relationships</a></span></li>
+<li><span class="section"><a href="reference-entry-xfn.html#reference.entry.xfn.href">entries[i].xfn[j].href</a></span></li>
+<li><span class="section"><a href="reference-entry-xfn.html#reference.entry.xfn.name">entries[i].xfn[j].name</a></span></li>
+</ul>
+</li>
+<li><span class="section"><a href="reference-entry-vcard.html">entries[i].vcard</a></span></li>
<li><span class="section"><a href="reference-version.html">version</a></span></li>
<li><span class="section"><a href="reference-namespaces.html">namespaces</a></span></li>
<li><span class="section"><a href="reference-encoding.html">encoding</a></span></li>

Modified: trunk/www/docs/resolving-relative-links.html
==============================================================================
--- trunk/www/docs/resolving-relative-links.html (original)
+++ trunk/www/docs/resolving-relative-links.html Mon Mar 10 13:01:14 2008
@@ -117,7 +117,7 @@
<p>If no <tt class="literal">Content-Location</tt> <acronym title="Hypertext Transfer Protocol">HTTP</acronym> header is present, the <acronym title="Uniform Resource Locator">URL</acronym> used to retrieve the feed itself is the default base <acronym title="Uniform Resource Identifier">URI</acronym> for all relative links within the feed. If the feed was retrieved via an <acronym title="Hypertext Transfer Protocol">HTTP</acronym> redirect (any <acronym title="Hypertext Transfer Protocol">HTTP</acronym> 3xx status code), then the final <acronym title="Uniform Resource Locator">URL</acronym> of the feed is the default base <acronym title="Uniform Resource Identifier">URI</acronym>.</p>
<p>For example, an <tt class="sgmltag-attribute">xml:base</tt> on the root-level element sets the base <acronym title="Uniform Resource Identifier">URI</acronym> for all <acronym title="Uniform Resource Identifier">URI</acronym>s in the feed.</p>
<div class="example">
-<a name="id295072" class="skip" href="#id295072" 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: <tt class="sgmltag-attribute">xml:base</tt> on the root-level element</h3>
+<a name="id295284" class="skip" href="#id295284" 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: <tt class="sgmltag-attribute">xml:base</tt> on the root-level element</h3>
<pre class="screen"><tt class="prompt">&gt;&gt;&gt; </tt><span class="userinput"><font color='navy'><b>import</b></font> feedparser</span>
<tt class="prompt">&gt;&gt;&gt; </tt><span class="userinput">d = feedparser.parse("<a href="http://feedparser.org/docs/examples/base.xml">http://feedparser.org/docs/examples/base.xml</a>")</span>
<tt class="prompt">&gt;&gt;&gt; </tt><span class="userinput">d.feed.link</span>
@@ -127,7 +127,7 @@
</div>
<p>An <tt class="sgmltag-attribute">xml:base</tt> attribute on an <tt class="sgmltag-element">&lt;entry&gt;</tt> overrides the <tt class="sgmltag-attribute">xml:base</tt> on the parent <tt class="sgmltag-element">&lt;feed&gt;</tt>.</p>
<div class="example">
-<a name="id295160" class="skip" href="#id295160" 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: Overriding <tt class="sgmltag-attribute">xml:base</tt> on an <tt class="sgmltag-element">&lt;entry&gt;</tt>
+<a name="id295372" class="skip" href="#id295372" 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: Overriding <tt class="sgmltag-attribute">xml:base</tt> on an <tt class="sgmltag-element">&lt;entry&gt;</tt>
</h3>
<pre class="screen"><tt class="prompt">&gt;&gt;&gt; </tt><span class="userinput"><font color='navy'><b>import</b></font> feedparser</span>
<tt class="prompt">&gt;&gt;&gt; </tt><span class="userinput">d = feedparser.parse("<a href="http://feedparser.org/docs/examples/base.xml">http://feedparser.org/docs/examples/base.xml</a>")</span>
@@ -138,7 +138,7 @@
</div>
<p>An <tt class="sgmltag-attribute">xml:base</tt> on <tt class="sgmltag-element">&lt;content&gt;</tt> overrides the <tt class="sgmltag-attribute">xml:base</tt> on the parent <tt class="sgmltag-element">&lt;entry&gt;</tt>. In addition, whatever the base <acronym title="Uniform Resource Identifier">URI</acronym> is for the <tt class="sgmltag-element">&lt;content&gt;</tt> element (whether defined directly on the <tt class="sgmltag-element">&lt;content&gt;</tt> element, or inherited from the parent element) is used as the base <acronym title="Uniform Resource Identifier">URI</acronym> for the embedded <acronym title="HyperText Markup Language">HTML</acronym> or <acronym title="Extensible HyperText Markup Language">XHTML</acronym> markup within the <tt class="sgmltag-element">content</tt>.</p>
<div class="example">
-<a name="id295281" class="skip" href="#id295281" 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: Relative links within embedded <acronym title="HyperText Markup Language">HTML</acronym>
+<a name="id295492" class="skip" href="#id295492" 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: Relative links within embedded <acronym title="HyperText Markup Language">HTML</acronym>
</h3>
<pre class="screen"><tt class="prompt">&gt;&gt;&gt; </tt><span class="userinput"><font color='navy'><b>import</b></font> feedparser</span>
<tt class="prompt">&gt;&gt;&gt; </tt><span class="userinput">d = feedparser.parse("<a href="http://feedparser.org/docs/examples/base.xml">http://feedparser.org/docs/examples/base.xml</a>")</span>
@@ -149,7 +149,7 @@
</div>
<p>The <tt class="sgmltag-attribute">xml:base</tt> affects other attributes in the element in which it is declared.</p>
<div class="example">
-<a name="id295343" class="skip" href="#id295343" 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: <tt class="sgmltag-attribute">xml:base</tt> and sibling attributes</h3>
+<a name="id295555" class="skip" href="#id295555" 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: <tt class="sgmltag-attribute">xml:base</tt> and sibling attributes</h3>
<pre class="screen"><tt class="prompt">&gt;&gt;&gt; </tt><span class="userinput"><font color='navy'><b>import</b></font> feedparser</span>
<tt class="prompt">&gt;&gt;&gt; </tt><span class="userinput">d = feedparser.parse("<a href="http://feedparser.org/docs/examples/base.xml">http://feedparser.org/docs/examples/base.xml</a>")</span>
<tt class="prompt">&gt;&gt;&gt; </tt><span class="userinput">d.entries[0].links[1].rel</span>
@@ -159,7 +159,7 @@
</div>
<p>If no <tt class="sgmltag-attribute">xml:base</tt> is specified on the root-level element, the default base <acronym title="Uniform Resource Identifier">URI</acronym> is given in the <tt class="literal">Content-Location</tt> <acronym title="Hypertext Transfer Protocol">HTTP</acronym> header. This can still be overridden by any child element that declares an <tt class="sgmltag-attribute">xml:base</tt> attribute.</p>
<div class="example">
-<a name="id295440" class="skip" href="#id295440" 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: <tt class="literal">Content-Location</tt> <acronym title="Hypertext Transfer Protocol">HTTP</acronym> header</h3>
+<a name="id295652" class="skip" href="#id295652" 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: <tt class="literal">Content-Location</tt> <acronym title="Hypertext Transfer Protocol">HTTP</acronym> header</h3>
<pre class="screen"><tt class="prompt">&gt;&gt;&gt; </tt><span class="userinput"><font color='navy'><b>import</b></font> feedparser</span>
<tt class="prompt">&gt;&gt;&gt; </tt><span class="userinput">d = feedparser.parse("<a href="http://feedparser.org/docs/examples/http_base.xml">http://feedparser.org/docs/examples/http_base.xml</a>")</span>
<tt class="prompt">&gt;&gt;&gt; </tt><span class="userinput">d.feed.link</span>
@@ -169,7 +169,7 @@
</div>
<p>Finally, if no root-level <tt class="sgmltag-attribute">xml:base</tt> is declared, and no <tt class="literal">Content-Location</tt> <acronym title="Hypertext Transfer Protocol">HTTP</acronym> header is present, the <acronym title="Uniform Resource Locator">URL</acronym> of the feed itself is the default base <acronym title="Uniform Resource Identifier">URI</acronym>. Again, this can still be overridden by any element that declares an <tt class="sgmltag-attribute">xml:base</tt> attribute.</p>
<div class="example">
-<a name="id295548" class="skip" href="#id295548" 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: Feed <acronym title="Uniform Resource Locator">URL</acronym> as default base <acronym title="Uniform Resource Identifier">URI</acronym>
+<a name="id295760" class="skip" href="#id295760" 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: Feed <acronym title="Uniform Resource Locator">URL</acronym> as default base <acronym title="Uniform Resource Identifier">URI</acronym>
</h3>
<pre class="screen"><tt class="prompt">&gt;&gt;&gt; </tt><span class="userinput"><font color='navy'><b>import</b></font> feedparser</span>
<tt class="prompt">&gt;&gt;&gt; </tt><span class="userinput">d = feedparser.parse("<a href="http://feedparser.org/docs/examples/no_base.xml">http://feedparser.org/docs/examples/no_base.xml</a>")</span>

Modified: trunk/www/docs/uncommon-atom.html
==============================================================================
--- trunk/www/docs/uncommon-atom.html (original)
+++ trunk/www/docs/uncommon-atom.html Mon Mar 10 13:01:14 2008
@@ -70,7 +70,7 @@
'href': u'http://www.example.com/movie.mp4',
'length': u'42301'}</span></pre>
</div>
-<a name="id287042"></a><table class="note" border="0" summary="">
+<a name="id287037"></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 accessing Atom elements, see the annotated examples <a href="annotated-atom10.html" title="Atom 1.0">Atom 1.0</a> and <a href="annotated-atom03.html" title="Atom 0.3">Atom 0.3</a>.</td></tr>
</table>

Modified: trunk/www/docs/uncommon-rss.html
==============================================================================
--- trunk/www/docs/uncommon-rss.html (original)
+++ trunk/www/docs/uncommon-rss.html Mon Mar 10 13:01:14 2008
@@ -74,7 +74,7 @@
'registerprocedure': u'pingMe',
'protocol': u'soap'}</span></pre>
</div>
-<a name="id286759"></a><table class="note" border="0" summary="">
+<a name="id286754"></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 accessing <acronym title="Rich Site Summary">RSS</acronym> elements, see the annotated examples: <a href="annotated-rss10.html" title="RSS 1.0">RSS 1.0</a>, <a href="annotated-rss20.html" title="RSS 2.0">RSS 2.0</a>, and <a href="annotated-rss20-dc.html" title="RSS 2.0 with Namespaces">RSS 2.0 with Namespaces</a>.</td></tr>
</table>
Reply all
Reply to author
Forward
0 new messages