enRoute Blog
enRoute Blog

Innovation & Mobility blog by af83

Langue


Catégories


Suivez-nous


Comment valider un fichier NeTEx ?

Luc DonnetLuc Donnet

This post is also available in: enEnglish

Un fichier NeTEX c’est quoi ?

NeTEx (Network Exchange) est un format de référence pour les échanges de données pour les transports publics, défini au niveau européen. Il décrit la topologie d’un réseau, les horaires, les données billetique et l’accès au service d’information.

Un fichier NeTEx est simplement un unique ou un groupe de fichiers XML, qui doit être conforme avec un schéma (complexe) XSD.

Pour les lecteurs français vous trouverez de nombreuses ressources sur cette page.

Vous pouvez lire le profil Européen NeTEx qui vous donne une bonne vue d’ensemble de ce que contient un fichier NeTEx ici.

Valider le schéma NeTEx en ligne de commande

Nous avons bénéficié d’un énorme travail effectué par l’équipe NeTEx CEN. Ils maintiennent une version de la XSD à jour dans Github : https://github.com/NeTEx-CEN/NeTEx.

Ils mettent à disposition à la fois une XSD pour le format NeTEx et un grand nombre d’exemples.

Notre outil interne utilise la XSD pour valider un fichier NeTEx. Cet outil basique en ligne de commande Ruby vous donne un retour direct sur la validité de votre fichier XML :

$ bundle exec ruby netex-cli-validator.rb netex_full20190212.xml
1060:27: ERROR: Element '{http://www.netex.org.uk/netex}CompanyCode': This element is not expected. Expected is one of ( {http://www.netex.org.uk/netex}validityConditions, {http://www.netex.org.uk/netex}ValidBetween, {http://www.netex.org.uk/netex}alternativeTexts, {http://www.netex.org.uk/netex}keyList, {http://www.netex.org.uk/netex}Extensions, {http://www.netex.org.uk/netex}BrandingRef, {http://www.netex.org.uk/netex}PublicCode, {http://www.netex.org.uk/netex}PrivateCode, {http://www.netex.org.uk/netex}CompanyNumber, {http://www.netex.org.uk/netex}ExternalOperatorRef ).
1078:22: ERROR: Element '{http://www.netex.org.uk/netex}stopPlaces': This element is not expected. Expected is one of ( {http://www.netex.org.uk/netex}validityConditions, {http://www.netex.org.uk/netex}ValidBetween, {http://www.netex.org.uk/netex}alternativeTexts, {http://www.netex.org.uk/netex}keyList, {http://www.netex.org.uk/netex}Extensions, {http://www.netex.org.uk/netex}BrandingRef, {http://www.netex.org.uk/netex}Name, {http://www.netex.org.uk/netex}Description, {http://www.netex.org.uk/netex}TypeOfFrameRef, {http://www.netex.org.uk/netex}BaselineVersionFrameRef ).
38934:84: ERROR: Element '{http://www.netex.org.uk/netex}LineRef': This element is not expected. Expected is one of ( {http://www.netex.org.uk/netex}DirectionRef, {http://www.netex.org.uk/netex}pointsInSequence, {http://www.netex.org.uk/netex}InverseRouteRef ).
38998:28: ERROR: Element '{http://www.netex.org.uk/netex}stopAssignements': This element is not expected. Expected is one of ( {http://www.netex.org.uk/netex}serviceLinks, {http://www.netex.org.uk/netex}servicePatterns, {http://www.netex.org.uk/netex}stopAreas, {http://www.netex.org.uk/netex}connections, {http://www.netex.org.uk/netex}tariffZones, {http://www.netex.org.uk/netex}stopAssignments, {http://www.netex.org.uk/netex}timingPoints, {http://www.netex.org.uk/netex}timingLinks, {http://www.netex.org.uk/netex}timingPatterns, {http://www.netex.org.uk/netex}journeyPatterns ).

Vous avez besoin uniquement d’un environnement avec Ruby et Bundler. Vous pouvez lire les instructions d’installation dans les source du netex-cli-validator : https://github.com/af83/netex-cli-validator.

Exporter un fichier NeTEx dans Chouette

L’arrivée d’un export NeTEx “Full” donnera aux utilisateurs Chouette une solution simple pour exporter toutes vos données dans ce format. N’hésitez pas à regarder notre roadmap  pour avoir plus de détail sur cette importante fonctionnalité. Un fichier d’exemple NeTEx full est disponible sur notre wiki de développement.

 

Commentaires 0
Aucun commentaire pour l'instant