Checking Schemas
There are tree ways to check if a GPX file follows the XML schemas.
In all cases, the GPX file will be checked for the relevant Topographix GPX schema (either version 1.0 or 1.1).
If the extensions_schemas is set to True, then the GPX file will be tested for all schemas that are listed.
During Parsing
It is possible to check during parsing, in which case an invalid GPX file will raise an error.
import ezgpx
# Check GPX schema when parsing file
gpx = ezgpx.GPX("file.gpx", xml_schemas=True, extensions_schemas=False)
Checking a GPX Object
A GPX object can directly be checked.
import ezgpx
gpx = GPX("file.gpx", xml_schemas=False)
# Check GPX schema from GPX instance
gpx.check_xml_schema()
# Check extensions schemas from GPX instance
gpx.check_xml_extensions_schemas()
After Writting
It is possible to check whether a written GPX file follows XML schemas.
import ezgpx
gpx = GPX("file.gpx", xml_schemas=False)
# Check if written file follow GPX schema
if gpx.to_gpx("new_file.gpx", xml_schemas=True, extensions_schemas=False) == False:
print("new_file.gpx does not follow the GPX 1.1 schema!!")