It’s just data

Google Base Format Review

I’ve started implementing Feed Validator support for the Google Base Bulk Upload formats, initial support is already online, more is committed and should go online overnight, and work will continue into next week, including better error messages.

I sent an initial set of questions on Thursday night using the Contact Us form, but I’ve not heard back.  So I made a number of assumptions, and have included some more questions below.

Feedback on the Feed Validator can be sent to usual places: bugs, patches, and questions/comments.


The documentation contains typos like “numerice”, and punctuation issues like

Accepted values are “starting” or “negotiable;” The default is “starting at.”

Listing_type has lowercase values defined, but the examples not only have a case mismatch, but the name of the element itself has changed. 

For location “Anytown, CA, 12345, USA” is listed as not acceptable, but many of the examples have even less: “Anytown, CA, USA”

Is it event_date_range, event_dateTime or even eventdateTime?

Dates in expiration_date and expiration_date_time are not formatted correctly.

In products-atom.xml, you will find


... but definition for service states:

Acceptable values are ‘FedEx’, ‘UPS’, ‘DHL’, ‘Mail’, and ‘Other’

None of the feed examples contain a g:id element.  Will the rss guid, rdf:about, and atom:id attributes be used if this element is not present?

The gender and image_link examples don't contain a namespace prefix.

Wellformedness errors can be found in age, delivery_radius, event_date_range, name_of_item_being_reviewed, and shipping

None of the complex types are valid RDF/XML, and therefore can’t be used in RSS 1.0 — also personals and news are incomplete.  None of the guids in the RSS 2.0 feeds are valid permalinks.  Several of the Atom feeds — in addition to being in the Atom 0.3 format despite the prominent warning — contain a illegal issued element at the feed level, and the documentation refers to item elements in Atom feeds.


People who propose extensions should try to validate them first.