Hello,
I am experimenting with the GData protocol and I wrote a small server
that exposes GData feeds.
My server works well with normal Atom feed readers, but I get an
abnormal behavior when I test it with the Google client library. My
feed has 5 entries and the Google client library only finds 1 entry.
The problem seems to be in the parser and is related to the fact that
my feed is formatted as follows:
<feed>
<id .../>
<!-- standard Atom feed stuff ... -->
<entry>
<id .../>
<!-- standard Atom entry stuff ... -->
<link href=... />
<link href=... />
</entry>
<entry>
<id .../>
<!-- standard Atom entry stuff ... -->
<link href=... />
<link href=... />
</entry>
The parser gets confused by the fact that the <link> elements are at
the end of the entry. Instead of closing the entry and creating a new
one, it jumps to the <id> tag of the following entry and it thinks
that all the entries are collapsed into one (the id of which is the
last id in my feed).
I did not investigate in great details but I have the impression that
the BaseFeedParser.NextChildElement method does not handle this case
correctly. Instead of returning false after the last <link> of the
entry, it jumps to the <id> of the next entry and returns true.
AtomFeedParser.ParseEntry is then completely confused.
I worked around the problem by moving the <author> element at the end
of the entries (after the <link> elements) and then my client works
ok.
So, beware, this parser seems to be a bit flaky in places.
--~--~---------~--~----~------------~-------~--~----~
You received this message because you are subscribed to the Google Groups
"Google Data API" group.
To post to this group, send email to [email protected]
To unsubscribe from this group, send email to [EMAIL PROTECTED]
For more options, visit this group at
http://groups.google.com/group/google-help-dataapi?hl=en
-~----------~----~----~----~------~----~------~--~---