[uf-discuss] hAtom look-see
rbach at rbach.priv.at
Wed Mar 22 09:36:22 PST 2006
Thanks for your feedback.
Please note that feed title, feed updated, feed id and feed link
aren't covered by hAtom 0.1.
So we (the stylesheet authors) needed to come up with our own extraction
methods, which I'll outline with some pseudo-code.
Chris Casciano wrote:
> In Example 1:
> Error 1: Field Feed-updated is an empty tag -- TOOL error
> Error 2: Field Feed-id is an enpty tag -- TOOL error
# $source-uri is an <xsl:param> for the stylesheet
FEED-ID = $feed-level/a:[@rel="bookmark"]/@href
ELSE IF $hfeed-element[@id != ""]
FEED-ID = $source-uri + "#" + @id
FEED-ID = $source-uri
Note: The proxy had a bug, it didn't pass $source-uri to the XSL - this
is fixed now.
> Error 3: Fields Entry-id is an empty tag -- AUTHOR error
> Error 4: Fields entry-author is an empty tag -- AUTHOR error (must use
> ADDRESS outside of entries)
> Warning 1: Field Feed-Title is empty -- would be TOOL
FEED-TITLE = $hfeed-level/*[@class="feed-title"]
ELSE IF $hfeed-level/h1|h2|h3|h4|h5|h6
FEED-TITLE = $hfeed-level/h1|h2|h3|h4|h5|h6
FEED-TITLE = ""
I think this could be extended to
ELSE IF nearest-in-parent(*[@class="feed-title"])
FEED-TITLE = nearest-in-parent(*[@class="feed-title"])
ELSE IF nearest-in-parent(h1|h2|h3|h4|h5|h6)
FEED-TITLE = nearest-in-parent(h1|h2|h3|h4|h5|h6)
FEED-TITLE = /html/head/title
> Warning 2: Feed Missing atom:link with rel="self" -- would be TOOL
So what should that link look like?
> In Example 2:
> Error 2: Field Feed- id must be a full and valid URL -- TOOL error
> Error 3: Field entry - id must be a full and valid URL -- TOOL error
This was caused by the bug mentioned above.
> Error 4: field entry updated must be an RFC-3339 date-time -- TOOL error
Currently we just do copy the string from the input to the output.
Future versions will try to re-format (and add needed extra specificity)
to the input, for example:
20031213 -> 2003-12-13T18:30:00-00:00
2003-12-13 -> 2003-12-13T18:30:00-00:00
2003-12-13 18:30+01 -> 2003-12-13T18:30:00+01:00
2003-12-13 18:30:02+01 -> 2003-12-13T18:30:02+01:00
> Things the hatom
> parser should do but isn't:
> * Value the feed - updated timestamp based off document statistics
Future versions will perhaps do something like this
A = array();
FOR EACH $d IN $entry-updated
A.add( pad-datetime($d) )
FOR EACH $d IN $entry-published
A.add( pad-datetime($d) )
A.sort_by ( datetime-to-utc($element) )
FEED-TITLE = A;
Robert Bachmann <rbach at rbach.priv.at> (OpenPGP KeyID: 0x4A5CCF10)
More information about the microformats-discuss