XML Schema
All guides reference two XML schemas - wow-feeds and wow-types. These two schemas are described below:
- wow-feeds (http://xml.whatsonwhen.com/schemas/1.1/wow-feeds.xsd)
This is the schema describing the core feeds document. It describes what Whatsonwhen XML documents look like. These top-level document descriptors provide a complete specification for each of the XML documents that can be retrieved publicly. - wow-types (http://xml.whatsonwhen.com/schemas/1.1/wow-types.xsd)
This schema described all of our fundamental data types, used by all of our schema-based documents. It contains the core definitions of events, locations, and categories, as well as all of the field declarations for the contents of those fields.
Please note that developers are required to ensure that they implement either an XCatalog, allowing those URLs to be referenced locally, or Schema/Entity handlers to ensure that remote content is cached, or remove the schema references from the provided content and replace it with local references to those URLs. Failure to do so will result in slow page loads as your application fetches content from remote web sites during each page rendered by your application. This will drastically affect the performance of your website.
If schema definitions are ever scheduled to change, we will always endeavour to retain full backwards compatibility. To that end, if they will change in the future, URLs will be modified to explicitly state which schema is being requested by the feed recipient. Any modifications to schema will be provided with notice, and will not be placed into live service until such a time as all customers have reported that their feeds continue to function normally and as expected. Customers will be offered the opportunity to upgrade their feed information to the new feed formats if they so choose.
Note that without either local references to local files or an in-memory cache of the contents of the remote sites, your application will be forced to fetch these files on every parse of these documents - generally, every page render.
For more information, see the Parser HOWTO, which provides an overview of the options available and can assist you in making a decision on how to ensure good XML parser performance.
The Whatsonwhen schemas have been developed with our growth in mind; while not all documents will use all of the available fields today, these fields are reserved for our future use, and we may begin filling them with content at any time. For the users of our schema, they should be prepared for these fields to be populated at any time in the future. If you are not interested in the data, dont worry, those fields can be safely ignored.
Support for handling these fields is required of all implementers; Whatsonwhen is not responsible for implementers who fail to ignore data in the feed which is specified in the schema, but is not handled properly within their own feed processor.
- If you are not interested in a field of data, ensure that you can ignore it correctly;
- if you are, but it is not present, please ensure that feed processing will work both without these new fields present, and when those fields are provided.
It is up to implementers to ensure the correctness of their applications and that support for the schema is correctly implemented.
As always, the technical staff at Whatsonwhen will be happy to answer any questions you have about feed processing in general, or managing the feed in specific, to the best of their ability. Different technology choices on the part of the implementor provide different solutions to this problem, and there are a broad number of strategies which can be applied to minimise risk on the part of the implementor.
