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
-~----------~----~----~----~------~----~------~--~---

Reply via email to