AI-generated Key Takeaways
-
An open-source feed validator is available to provide specific, actionable feedback beyond simple XML validation.
-
The validator can be installed using the standard Python package management tool with the command
pip install civics_cdf_validator
. -
The validator supports pre-election data, election results, and officeholder feed types, which can be specified using the
RULE_SET
parameter. -
The feed validation tool runs three classes of checks: Errors, Warnings, and Info, each indicating different levels of issues to address.
-
Using the feed validator is recommended as the most effective and efficient way to prepare feeds for ingestion.
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.