We maintain an open-source feed validator designed to provide specific, actionable feedback beyond simple XML validation. The validator is available through the standard Python package management tool:
bash:~$ pip install civics_cdf_validator
The following example shows how to use it:
bash:~$ civics_cdf_validator validate your_feed.xml --xsd civics_cdf_specx.xsd --rule_set=RULE_SET
For a list of common commands, see README.
Supported feed types
The validator supports the following feed types:
- Pre-election data
- Election results
- Officeholder
To make sure you don't miss some validation rules, specify your feed type with
RULE_SET
:
Feed type | RULE_SET value |
---|---|
Officeholder | OFFICEHOLDER |
Pre-election data / Election results | ELECTION |
Levels of validation checks
The feed validation tool runs three classes of checks:
Error: If you see any errors, Google can't parse the file. Eliminate all error messages from your feeds before you send your data. If you need assistance to address your error messages, file a bug in your component.
Warning: Warnings flag scenarios that aren't supposed to happen, aren't great user experiences, or are likely errors that need to be fixed. For example, a warning is given if you provide candidate names in ALL CAPITAL LETTERS. Try to fix all of the warnings given, and expect for us to ask follow-up questions if the validator identifies warnings in a feed.
Info: Info messages indicate scenarios that don't affect the automated ingestion of a feed or the user experience but that help someone read and understand the layout of your data. Fixing info messages is optional.