The schema location is AFAIK only necessary if I want to provide extra info for validating parsers, but not mandatory. But when registering the namespace with a defined prefix in advance (gpx.setPrefix some lines above) the same prefix is used for all occurrences of the namespace, so its easier to read for humans.