Avant-propos

L’harmonisation des pratiques dans l’échange des données relatives aux offres de transport est essentielle :

  • pour l’usager, aux fins d’une présentation homogène et compréhensible de l’offre de transport et de l’engagement sous-jacent des organisateurs (autorités organisatrices et opérateurs de transports) ;

  • pour les AO, de manière à fédérer des informations homogènes venant de chacun des opérateurs de transports qui travaillent pour elle. L’harmonisation des échanges, et en particulier le présent profil, pourra le cas échéant être imposé par voie contractuelle. Cette homogénéité des formats d’information permet d’envisager la mise en place de systèmes d’information multimodaux, produisant une information globale de l’offre de transports sur un secteur donné, et garantir le fonctionnement des services d’information, en particulier des calculateurs d’itinéraires, et la cohérence des résultats, que ces services soient directement intégrés dans ces systèmes d’information multimodaux ou qu’ils puisent leurs informations sur des bases de données réparties ;

  • pour les opérateurs, qui pourront utiliser ce format d’échange pour leurs systèmes de planification, les systèmes d’aide à l’exploitation, leurs systèmes billettiques et leurs systèmes d’information voyageur (information planifiée et information temps réel)

  • pour les industriels et développeurs pour pérenniser et fiabiliser leurs investissements sur les formats d’échanges implémentés par les systèmes qu’ils réalisent, tout en limitant fortement l’effort de spécification lié aux formats d’échange

Ce document est le fruit de la collaboration entre les différents partenaires des autorités organisatrices de transports, opérateurs, industriels et développeurs de solutions et de systèmes informatiques ayant pour objet l’aide à l’exploitation du transport public et l’information des voyageurs. Il a pour objet de présenter les éléments communs aux différents Profil de NeTEx: “format de référence pour l’échange de données de description des arrêts” (issu des travaux NeTEx, Transmodel et IFOPT) qui aujourd’hui fait consensus dans les groupes de normalisation (CN03/GT7 – Transport public / information voyageur).

Introduction

Le présent format d’échange est un profil de NeTEx.

NeTEx (CEN/TS 16614-1, 16614-2 et 16614-3) propose un format et des services d’échange de données de description de l’offre de transport planifiée, basé sur Transmodel (EN 12896) et l’ancienne normeIFOPT (EN 28701). NeTEx permet non seulement d’assurer les échanges pour les systèmes d’information voyageur mais traite aussi l’ensemble des concepts nécessaires en entrée et sortie des systèmes de planification de l’offre (graphiquage, etc.) et des SAE (Systèmes d’Aide à l’Exploitation).

NeTEx se décompose en trois parties:

  • Partie 1 : topologie des réseaux (les réseaux, les lignes, les parcours commerciaux les missions commerciales, les arrêts et lieux d’arrêts, les correspondances et les éléments géographiques en se limitant au strict minimum pour l’information voyageur)

  • Partie 2 : horaires théoriques (les courses commerciales, les heures de passage graphiquées, les jours types associés ainsi que les versions des horaires)

  • Partie 3 : information tarifaire (uniquement à vocation d’information voyageur)

NeTEx a été développé dans le cadre du CEN/TC 278/WG 3/SG 9 piloté par la France. Les parties 1 et 2 ont été publiées en tant que spécification technique début 2014. Les travaux pour la partie 3, quant à eux, se sont terminés en 2016.

Il faut noter que NeTEx a été l’occasion de renforcer les liens du CEN/TC 278/WG 3 avec le secteur ferrovaire, en particulier grâce à la participation de l’ERA (Agence Européen du Rail, qui a intégré NeTEx dans la directive Européenne 454/2011 TAP-TSI ) et de l’UIC (Union International des Chemins de fer).

Les normes, dans leur définition même, sont des « documents établis par consensus ». Celles du CEN/TC278 sont de plus établies à un niveau européen, en prenant donc en compte des exigences qui dépassent souvent le périmètre national.

Il en résulte des normes qui sont relativement volumineuses et dont le périmètre dépasse souvent largement les besoins d’une utilisation donnée. Ainsi, à titre d’exemple, SIRI propose toute une série d’options ou de mécanismes dont la vocation est d’assurer la compatibilité avec les systèmes développés en Allemagne dans le contexte des VDV 453/454. De même, SIRI propose des services dédiés à la gestion des correspondances garanties, services qui, s’ils sont dès aujourd’hui pertinents en Suisse ou en Allemagne, sont pratiquement inexistants en France.

De plus, un certain nombre de spécificités locales ou nationales peuvent amener à préciser l’usage ou la codification qui sera utilisée pour certaines informations. Par exemple, les Anglais disposant d’un référentiel national d’identification des points d’arrêts (NaPTAN), ils imposeront naturellement que cette codification soit utilisée dans les échanges SIRI, ce que ne feront pas les autres pays européens.

Enfin, certains éléments proposés par ces normes sont facultatifs et il convient, lors d’une implémentation, de décider si ces éléments seront ou non implémentés.

L’utilisation des normes liées à l’implémentation de l’interopérabilité pour le transport en commun passe donc systématiquement par la définition d’un profil (local agreement, en anglais). Concrètement, le profil est un document complémentaire à la norme et qui en précise les règles de mise en œuvre dans un contexte donné. Le profil contient donc des informations comme :

  • détail des services utilisés,

  • détails des objets utilisés dans un échange,

  • précisions sur les options proposées par la norme,

  • précision sur les éléments facultatifs,

  • précision sur les codifications à utiliser,

  • etc.

Les principaux profils actuellement utilisés en France sont NEPTUNE (profil de TRIDENT) et le profil de SIRI défini par le CEREMA et le STIF. Ces deux profils ont une vocation nationale.

Il est envisagé de produire différents profils de NeTEx avec des objectif métiers et fonctionnels spécialisés. Il est en particulier prévu :

  • un profil pour les arrêts,

  • un profil pour les réseaux et leur topologie,

  • un profil pour les horaire (distinguant horaires et calendriers),

  • un profil pour les tarifs,

  • un profil complémentaire pour les arrêts (parking, cheminements, équipements, détail de l’accessibilité),

Tous ces profils utiliseront toutefois tous certains concepts génériques mis à disposition par NeTEx (ENTITÉ, VERSION, etc.). Ce document a pour vocation de regrouper tous ces éléments communs afin d’en éviter de multiples descriptions.

Ce document sera donc naturellement référencé par tous les autres profils.

NOTE : Ce document étant un profil d’échange de NeTEx, il ne se substitue en aucun cas à NeTEx, et un minumm de connaissance de NeTEx sera nécessaire à sa bonne compréhension.

Domaine d’application

Le profil français de la CEN/ TS 16614 (NeTEx) pour les éléments communs à l’ensemble des profils décrit les concepts génériques mis à disposition par NeTEx dont il est fait usage dans plusieurs des profils spécialisés.

Il contient essentiellement des objets techniques (ENTITÉ, VERSION, etc.) mais aussi quelques objets fonctionnels utilisés par plusieurs profils (MODE DE TRANSPORT, INSTITUTION, information de CONTACT, etc.).

Références normatives

Les documents de référence suivants sont indispensables pour l’application du présent document. Pour les références datées, seule l’édition citée s’applique. Pour les références non datées, la dernière édition du document de référence s’applique (y compris les éventuels amendements).

CEN/ TS 16614-1, Network and Timetable Exchange (NeTEx) — Part 1: Public transport network topology exchange format

EN 12896, Road transport and traffic telematics - Public transport - Reference data model (Transmodel)

Termes et définitions

Pour les besoins du présent document, les termes et définitions suivants s’appliquent. Une grande partie d’entre eux est directement issue de Transmodel, IFOPT et NeTEx.

NOTE Les définitions ci-dessus sont des traductions littérales du document normatif.

AFFECTATION DE NOTE (NOTICE ASSIGNEMENT)

(TRANSMODEL)

Affectation d’une NOTE à un objet pour signaler une exception sur une COURSE, un PARCOURS. L’AFFECTATION DE NOTE permet de préciser les points ou les sections d’un parcours concerné par la NOTE

AFFECTATION DE RÔLE (RESPONSIBILITY ROLE ASSIGNMENT)

(NeTEx)

Affectation d’un ou plusieurs RÔLEs à une INSTITUTION (ou une de ses sous-organisation) vis-à-vis des responsabilités à assurer concernant une donnée spécifique (comme la propriété, la planification, etc.) et de la gestion de cette donnée (diffusion, mise à jour, etc.).

ALIAS (ALTERNATIVE NAME)

(NeTEx)

Nom alternatif pour un objet.

ACCESSIBILITÉ (ACCESSIBILITY ASSESSMENT)

(IFOPT)

L’ACCESSIBILITÉ représente les caractéristiques d’accessibilité, pour les passagers, d’un SITE (comme un LIEU D’ARRÊT, un COMPOSANT DE LIEU D’ARRÊT, etc.). Elle est décrite par des limitations d’ACCESSIBILITÉ et/ou un ensemble de prise en compte d’exigences d’accessibilités.

CONDITION DE VALIDITÉ (VALIDITY CONDITION)

(TRANSMODEL)

Condition concourant à caractériser une VERSION donnée appartenant à un CADRE DE VERSIONS. Une CONDITION DE VALIDITÉ est constituée d’un paramètre (ex : une certaine date, un certain événement déclencheur, etc.) et de son type d’application (Ex : « pour », « depuis », « jusqu’à », etc.).

CONTACT (CONTACT DETAILS)

(NeTEx)

Information des contacts permettant au public de joindre une INSTITUTION (téléphone, mail, etc.).

DÉCLENCHEMENT DE VALIDITÉ (VALIDITY TRIGGER)

(TRANSMODEL)

Un événement extérieur définissant une CONDITION DE VALIDITÉ. Par exemple : crue exceptionelle, mauvais temps, route barrée pour travaux.

ENTITE (ENTITY)

(TRANSMODEL)

Une occurrence d’entité qui est gérée par un système de gestion de versions. Quand des données de sources différentes coexistent dans un système (multimodal ou multi-opérateur), une ENTITÉ doit être associée à un SYSTÈME DE DONNÉES particulier qui l’a définie.

ENTITÉ PAR VERSION (ENTITY IN VERSION)

(TRANSMODEL)

Les ENTITÉs associées à une VERSION spécifique.

FINALITÉ DE GROUPEMENT (PURPOSE OF GROUPING)

(TRANSMODEL)

Un but fonctionnel pour lequel des GROUPEMENTs d’éléments sont définis. La FINALITÉ DE GROUPEMENT peut être limitée à un ou plusieurs types d’un objet donné.

GROUPE D’ENTITES (GROUP OF ENTITIES)

(TRANSMODEL)

Un regroupement d’ENTITÉs, connu souvent des usagers par un nom spécifique ou un numéro.

INSTITUTION (ORGANISATION)

(NeTEx)

Une instance légale impliquée dans certains aspects du transport public.

MODE DE TRANSPORT (VEHICLE MODE)

(TRANSMODEL)

Le MODE DE TRANSPORT est une caractérisation du transport public correspondant au moyen (véhicule) de transport (bus, tram, métro, train, ferry, bateau, etc.).

NOTE (NOTICE)

(TRANSMODEL)

Un texte à vocation informationnelle, en général concernant des exceptions d’utilisation (sans que cela ne soit une limitation), et rattaché à une LIGNE, un PARCOURS, etc*.*

POINT

(TRANSMODEL)

Un nœud de dimension 0 servant à la description spatiale du réseau. Les POINTs peuvent être localisés par la LOCALISATION dans un SYSTÈME DE LOCALISATION donné.

SOURCE DE DONNEES (DATA SOURCE)

(TRANSMODEL)

La SOURCE DE DONNEES identifie le système qui a produit la donnée. La connaissance de la SOURCE DE DONNÉES est particulièrement utile dans le contexte de l’interopérabilité des systèmes d’information.

SOUS MODE (SUB-MODE)

(NeTEx)

Le SOUS MODE est un complément d’information au MODE DE TRANSPORT, permettant généralement de caractériser le type d’exploitation (par exemple “bus interurbain” dans le cas d’un MODE DE TRANSPORT “bus”).

(TRANSMODEL)

Une suite ordonnée de POINTs ou TRONÇONs définissant un chemin à travers le réseau.

(TRANSMODEL)

Un objet défini dans l’espace, orienté et de dimension 1, utilisé pour décrire la structure du réseau, définissant la connexion entre deux POINTs.

VARIANTE DE DIFFUSION (DELIVERY VARIANT)

(TRANSMODEL)

Variante d’une NOTE pour une utilisation sur un média spécifique (texte lu, imprimé, etc.).

VERSION (VERSION)

(TRANSMODEL)

Un ensemble de données opérationnelles qui sont caractérisées par les mêmes CONDITIONs DE VALIDITÉ. Une version appartient à un seul CADRE DE VERSIONS et est caractérisée par un unique TYPE DE VERSION, par exemple VERSION du réseau pour la ligne 12 à partir du 01-01-2000.

ZONE (ZONE)

(TRANSMODEL)

Espace de dimension 2 (surface) au sein de la zone de couverture d’un opérateur de transport public (zone administrative, zone tarifaire, zone d’accès, etc.).

Symboles et abréviations

  • AO : Autorité Organisatrice de Transports

  • PMR : Personne à Mobilité Réduite

Exigences minimum liées à la LOM et la réglementation Européenne

La LOI n° 2019-1428 du 24 décembre 2019 d’orientation des mobilités (LOM : https://www.legifrance.gouv.fr/dossierlegislatif/JORFDOLE000037646678) et, au niveau Européen, le Règlement Délégué (UE) 2017/1926 De La Commission du 31 mai 2017 (complétant la directive 2010/40/UE du Parlement européen et du Conseil en ce qui concerne la mise à disposition, dans l’ensemble de l’Union, de services d’informations sur les déplacements multimodaux) rendent obligatoire la mise à disposition, quand elles existent, de certains types de données.

Le tableau ci-dessous résulte de l’analyse de la LOM et du règlement délégué et fournit la liste des concepts concernés dans le présent profil. Il sera donc nécessaire de fournir ces données pour être conforme à la législation (il s’agit bien de mettre à disposition toutes les données existantes dans les SI transport, et non de créer des données qui n’existeraient pas encore sous forme informatique).

Notez que les concepts présents dans les tableaux sont les ceux qui sont directement référencés par l’annexe du règlement européen (https://eur-lex.europa.eu/legal-content/FR/TXT/HTML/?uri=CELEX:32017R1926&from=FR), mais que pour beaucoup d’entre eux, cela impliquera d’autres concepts (soit par héritage soit par relation, au s sens UML des termes). Ces éléments d’héritage et de relations sont présentés dans les profils, mais pas dans ce tableau.

Le profil Élément Commun n’est naturellement pas le premier concerné par la réglementation, car, contrairement aux autres profils qui sont plus métier, il propose essentiellement des éléments de construction (qui seront référencés par héritage ou par relation par les autres profils). Toutefois il décrit certains éléments réutilisables directement visés par la réglementation : ce sont ces éléments qui présentés dans le tableau ci-dessous.

Les noms des catégories (colonnes Catégorie et Détail) ont été conservés dans la langue originale du document (l’anglais) pour éviter tout risque de confusion. Pour la même raison, les noms des concepts concernés sont ceux de la version originale de Transmodel.

Pour certaines catégories de données, il peut arriver que les concepts correspondants soient multiples, mais aussi qu’ils soient différents suivant le niveau de précision porté par la donnée. La colonne « Concepts à minima » correspond alors au minimum à fournir pour répondre à la catégorie en question et les colonnes « Autres concepts » décrit des informations complémentaires qui, si elles sont utiles, ne sont pas indispensables pour répondre à cette catégorie (notez que dans certains cas, ces concepts additionnels peuvent relever d’autres profils : ceci est précisé dans le tableau quand c’est le cas). Il faut toutefois garder à l’esprit que toute information existante est supposée être mise à disposition (que cela relève de la première ou de la seconde colonne).

La première colonne reprend la notion de niveau tel qu’il est décrit et utilisé par le règlement européen et a notamment une incidence sur le calendrier de mise à disposition de la donnée (voir le règlement pour plus de détails).

Les différents concepts présentés ne sont bien sûr pas détaillés dans ce tableau, mais dans le profil lui-même. C’est aussi dans la description du profil que l’on trouvera les détails concernant les attributs (obligatoire/facultatif, règles de remplissage, codification, etc.). Pour ce qui est des attributs facultatifs, la règle reste que, pour les objets ci-dessous, toute information disponible est supposée être fournie (mais on ne crée pas d’information si elle n’est pas disponible).

Concepts relatifs à la LOM et à la Règlementation Européenne
NiveauCatégorieDétailConcepts à minima

Autres

concepts

Commentaire
1Trip plansOperational Calendar, mapping day types to calendar datesUicOperatingPeriod
DAY TYPE
SERVICE CALENDAR
OPERATING DAY
DAY TYPE ASSIGNMENT
PROPERTY OF DAY
OPERATING PERIOD
 
1Trip plan computation — scheduled modes transportTransport operatorsOPERATORORGANISATION
GROUP OF OPERATORS
AUTHORITY
 
1Trip plan computation — scheduled modes transportHours of operation

AVAILABILITY CONDITIONS

(Profil Horaire)

SERVICE JOURNEY
TIMETABLE PASSING TIME

  

Description des éléments communs des profils d’échange

Conventions de représentation

Tableaux d’attributs

NOTE les choix de conventions présentées ici ont pour vocation d’être cohérents avec celles réalisées dans le cadre du profil SIRI (STIF et CEREMA). De plus tous les profils NeTEx partagent les mêmes conventions.

Les messages constituant ce profil d’échange sont décrits ci-dessous selon un double formalisme: une description sous forme de diagrammes XSD (leur compréhension nécessite une connaissance préalable de XSD: XML Schema Definition) et une description sous forme tabulaire. Les tableaux proposent ces colonnes:

Classifi­cationNomTypeCardin­alitéDescription
  • Classification : permet de catégoriser l’attribut. Les principales catégories sont:

    • PK (Public Key) que l’on peut interpréter comme Identifiant Unique: il permet à lui seul d’identifier l’objet, de façon unique, pérenne et non ambiguë. C’est l’identifiant qui sera utilisé pour référencer l’objet dans les relations.

    • AK (Alternate Key) est un identifiant secondaire, généralement utilisé pour la communication, mais qui ne sera pas utilisé dans les relations.

    • FK (Foreign Key) indique que l’attribut contient l’identifiant unique (PK) d’un autre objet avec lequel il est en relation.

    • GROUP est un groupe XML nommé (ensemble d’attributs utilisables dans différents contextes) (cf: )##

  • Nom : nom de l’élément ou attribut XSD

  • Type : type de l’élément ou attribut XSD (pour certains d’entre eux, il conviendra de se référer à la XSD NeTEx)

  • Cardinalité : cardinalité de l’élément ou attribut XSD exprimée sous la forme “minimum:maximum” (“0:1” pour au plus une occurrence; “1:*” au moins une occurrence et sans limites de nombre maximal; “1:1” une et une seule occurrence; etc.).

  • Description : texte de description de l’élément ou attribut XSD (seul les attributs retenus par le profil ont un texte en français; les textes surlignés en jaune indiquent une spécificité du profil par rapport à NeTEx).

Les textes surlignés en Jaune sont ceux présentant une particularité (spécialisation) par rapport à NeTEx: une codification particulière, une restriction d’usage, etc.

La description XSD utilisée est strictement celle de NeTEx, sans aucune modification (ceci explique notamment que tous les commentaires soient en anglais).

Les attributs et éléments rendus obligatoires dans le cadre de ce profil restent facultatifs dans l’XSD (le contrôle de cardinalité devra donc être réalisé applicativement). Valeurs de code de profil

Dans la mesure du possible, le profil sélectionne les valeurs de code à utiliser pour caractériser des éléments et les limite à un ensemble de valeurs documentées. NETEX propose plusieurs mécanismes différents pour spécifier les valeurs de code autorisées;

  • Une énumérations fixes définies dans le cadre du schéma XSD NeTEx. Le profil impose alors un sous-ensemble des codes NeTEx.

  • Spécialisations de TYPE OF VALUE, utilisées pour définir des ensembles de codes ouverts pouvant être ajoutés au fil du temps sans modifier le schéma, par exemple, pour enregistrer des classifications d’entités héritées. Le profil lui-même utilise le mécanisme TYPE OF VALUE dans quelques cas pour spécifier des codes normalisés supplémentaires : ceux-ci sont affectés à un CODESPACE «FR_IV_metadata» (https://netex-cen.eu/FR_IV) indiqué par un préfixe «FR_IV». (par exemple, «FR_IV: monomodal».

  • Instances TypeOfFrame: le profil utilise plusieurs TYPES DE FRAME pour spécifier l’utilisation de VERSION FRAME dans le profil.

Indication des classes abstraites

NeTEx, et Transmodel, utilisent largement l’héritage de classe; cela simplifie considérablement la spécification en évitant les répétitions puisque les attributs partagés sont déclarés par une superclasse et que des sous-classes viennent ensuite les spécialiser sans avoir à répéter ces attributs et en n’ajoutant que ceux qui lui sont spécifiques. La plupart des superclasses sont «abstraites» - c’est-à-dire qu’il n’en existe aucune instance concrète; seules les sous-classes terminales sont «concrètes».

Un inconvénient de l’héritage est que si l’on veut comprendre les propriétés d’une classe concrète unique, il faut également examiner toutes ses super-classes. Pour cette raison, le profil EPIP inclut les classes abstraites nécessaires pour comprendre les classes concrètes, même si ces classes concrètes ne sont jamais directement instanciées dans un document NeTEx.

  • Les super-classes sont signalées dans les en-têtes par le suffixe «(abstrait)»

  • Dans les diagrammes UML (comme pour NeTEx et Transmodel), les noms des classes abstraites sont indiqués en italique et les classes abstraites sont de couleur gris clair.

  • Certaines super-classes ne sont techniquement pas abstraites dans NeTEx, mais ne sont pas utilisées comme classes concrètes dans le profil : elles sont signalées avec la même convention que les classes abstraites.

Classes de sous-composants

Un certain nombre de classes ont des sous-composants qui constituent leur définition. Celles-ci fournissent des détails auxiliaires (par exemple, AlternativeText, AlternativeName, TrainComponent) et sont signalées dans les en-têtes par le suffixe «(objet inclus)».

DataManagedObject

DataManagedObject est le type d’objet générique de NeTEx, dont tous les autres objets héritent : il est défini par un type XSD abstrait, et ne peut être instancié que dans un contexte d’héritage.

Le DataManagedObject est l’implémention des EntityInVersion, Version (plus le lien avec les Codespace) directement issus de Transmodel.

image Entity et Version – Modèle conceptuel

Dans Transmodel, une ENTITY représente un objet réel dont une instance est présente dans un ensemble de données échangées. Plusieurs versions, généralement successives, d’une ENTITY peuvent être définies ; normalement un ensemble de données donné contiendra une version particulière (mais il est également possible d’avoir plusieurs versions présentes dans le même ensemble de données si nécessaire).

Les données exportées vers un document XML à partir d’un référentiel représentent un instantané de l’état d’une version particulière des données à un moment donné dans le temps. NeTEx s’intéresse principalement aux ENTITY IN VERSION de Transmodel. C’est-à-dire que les éléments de données d’un document XML NeTEx représentent une version particulière de chaque ENTITY. Même si une base de données ne contient généralement qu’une unique représentation de l’état actuel d’une ENTITY (plutôt que de tout son historique de versions), chaque fois qu’elle effectue un export, elle crée en fait une ENTITY IN VERSION correspondant à l’état courant : si la version est modifiée, deux exports successifs donneront lieu à des états différents, c’est-à-dire à différentes ENTITY IN VERSION.

L’EntityInVersion est spécialisé sous le nom de DataManagedObject qui reunit également certains autres concepts Transmodel distincts en une seule classe abstraite XML. Il fournit un moyen pratique de réunir les caractéristiques communes de version, de responsabilité et de condition de validité de Transmodel, uniforme pour tous les objets NeTEx et est donc plus simple à mettre en œuvre.

NeTEx utilise les Codespaces pour s’assurer que les identifiants des instances d’éléments dans un document XML sont uniques, même s’ils proviennent de nombreuses sources différentes – voir 7.3 - CODESPACE et codification des identifiants-.

Une condition de validité est utilisée pour indiquer la période ou les circonstances dans lesquelles un objet peut être utilisé (par exemple « En hiver » ou entre deux dates spécifiées). Par le biais des VERSION FRAMEs (voir plus loin), les conditions de validité peuvent être associées à des ensembles d’objets.

Le DataManagedObject permet l’attribution d’une version, des informations de responsabilité (et rôles associés) à une EntityInVersion ainsi qu’une ou plusieurs instances de ValidityCondition.

DataManagedObject – Element (Abstrait)
Classifi­cationNomTypeDescription
::>::>EntityInVersion::>DATA MANAGED OBJECT hérite de ENTITY IN VERSION.
«FK»responsibilitySetRefResponsibilitySetIdType1:1Pointe les roles et responsabilités associés au LIEU D'ARRÊT, à la ZONE D'EMBARQUEMENT ou à l'ACCÈS (généralisable à tous les objets, voir le modèle en 6.18).
KeyListKeyList0:1

Ensemble de couples clé-valeur utilisé pour décrire les identifiants secondaires de l'objet (LIGNE, LIEU D'ARRÊT, ZONE D'EMBARQUEMENT, POINT D’ARRET PLANIFIÉ, COURSE, etc.): c’est-à-dire tel qu'il peut être identifié dans des systèmes tiers: billettique, information voyageur, etc. La clé permet de nommer l'identifiant (et donc de faire référence au système tiers), la valeur étant l'identifiant lui-même.

Cette identification servira principalement d'identification croisée, permettant au fournisseur de retrouver facilement, dans ses systèmes, l'origine de l'objet.

La liste des identifiants secondaires est spécifique à chaque fournisseur.

Voir aussi PrivateCode du GroupOfEntities pour les identifiants alternatifs: les KeyList ne sont à utiliser que s'il y a plusieurs identifiants alternatifs, et si elles sont utilisées, le PrivateCode doit impérativement être aussi renseigné.

Il est interdit, dans le profil, d’utiliser le système de clé/valeur pour décrire des informations qui pourraient être fournies avec des attributs NeTEx existants (même s’ils ne sont pas retenus par le profil).

BrandingRefBrandingRefStructure0:1Référence à une marque (comme par exemple Navigo, Destineo, OùRA, etc.).
alternativeTextsAlternativeText0:*Additional Translations of text elements.
Entity – Element (Abstrait)
Classifi­cationNomTypeDescription
NameOfClassNameOfClass::>Nom de la classe de l'ENTITÉ.
«PK»idObjectIdType1:1

Identifiant unique (et pérenne autant que possible) de l'objet.

Tous les objets métiers "racine" (c’est-à-dire les objets situés au niveau members des FRAME: voir ) doivent impérativement être identifiés. Par contre les objets inclus (au sens XML) dans un un autre objet ne seront généralement pas identifiés (l'identification n'est toutefois pas interdite).

Cette remarque est valable pour la totalité des attributs du DataManagedObject (version, validité, etc. ne sont nécessaires que pour les objets racines).

EntityInVersion – Element (Abstrait)
Classifi­cationNomTypeDescription
::>::>Entity::>ENTITY ON VERSION hérite de ENTITY.
«FK»dataSourceRefDataSourceIdType0:1Identifiant de la source des données (voir INSTITUTION pour la description détaillée d'une source).
createdxsd:dateTime0:1Date et heure de création de l'ENTITÉ
changedxsd:dateTime0:1Date et heure de la dernière modification de l'ENTITÉ
modificationModificationEnum0:1

Nature de la dernière modification:

new (création)

revise (mise à jour)

delete (suppression)

«PK»versionVersionIdType0:1Identifiant de version (généralement un numéro)
statusVersionStatusEnum0:1

Statut de la version:

active (objet actif)

inactive (objet non actif, de façon à pouvoir "désactiver" un objet pendant un certain temps sans pour autant le supprimer, par exemple pour un arrêt qui ne sera plus utilisé pendant quelques mois).

«FK»derivedFromObjectRefObjectIdType0:1

Identifiant d'une ENTITÉ dont celle-ci est dérivée.

Dans le contexte du profil, ce champ est utilisé uniquement pour lier des objets pour lesquels on a réalisé une variante fonctionnelle. Typiquement, dans le cas d'une ligne de substitution (voir Profil Réseau) on pourra utiliser le derivedFromObjectRef pour la relier à la ligne qu'elle remplace temporairement.

«FK»compatibleWith­VersionRefVersionIdType0:1

Cet attribut est utilisé uniquement pour les CADREs DE VERSION (VERSION FRAME).

Indique alors la version de l'instance de CADRE DE VERSION avec laquelle cette version d'objet est compatible. Ce CADRE DE VERSION porte le même identifiant que celui du cadre impliqué dans l'échange courant, mais avec un numero de version différent.

(choice)validityConditionsValidityCondition0:*CONDITIONs DE VALIDITÉ de l’ENTITÉ.
ValidBetweenValidBetweenStructure0:*Optimisation : version simplifiée de CONDITIONs DE VALIDITÉ (simple période entre deux dates)
KeyList – Element (Abstrait)
Classifi­cationNomTypeDescription
typeOfKeyxsd:normalizedString0:1

Type de clé.

Seule la valeur "ALTERNATE_IDENTIFIER" est reconnue dans le cadre du profil. Tout autre type de type de clé devra être ignoré (sans toutefois générer d'erreur).

Keyxsd:normalizedString1:1Nom de la clé .
Valuexsd:normalizedString1:1Valeur associée à la clé

Attributs de GroupOfEntities

GroupOfEntities est défini par un type XSD abstrait, et ne peut être instancié que dans un contexte d’héritage. Il existe toutefois une version concrète du GroupOfEntities : le GeneralGroupOfEntities qui a pour vocation de permettre la formation de groupe avec n’importe quels types d’objets, en particulier ceux pour lesquels des spécialisations n’ont pas été prévues.

GroupOfEntities – Element (Abstrait)
Classifi­cationNomTypeDescription
::>::>DataManagedObject::>GROUP OF ENTITies hérite de DATA MANAGED OBJECT.
NameMultilingualString

0:1

1:1

Nom du groupe d'entité (du LIEU D'ARRÊT, de la ZONE D'EMBARQUEMENT, de l'ACCÈS, etc.)

Attribut rendu obligatoire dans le cadre de ce profil

ShortNameMultilingualString0:1Nom court du groupe d'entité (du LIEU D'ARRÊT, de la ZONE D'EMBARQUEMENT, de l'ACCÈS, etc.)
DescriptionMultilingualString0:1Texte libre de description
«FK»PurposeOfGroupingRefPurposeOfGroupingRef0:1

But fonctionnel pour lequel des GROUPEMENTs d'éléments sont définis. La FINALITÉ DE GROUPEMENT peut être limitée à un ou plusieurs types d'un objet donné.

Le champ PurposeofGroupingRef devra systématiquement valoir "groupOfStopPlace" pour les GROUPEs DE LIEUX D'ARRÊT.

Dans le cas des groupes de lignes (GROUP OF LINES, voir Profil Réseau) le PurposeofGroupingRef pourra être utilisé pour qualifier les lignes administratives en utilisant la valeur "administrativeLine"

«AK»PrivateCodePrivateCode0:1

Code "privé" permettant de gérer une identification spécifique indépendante de l'identification partagée. Si plusieurs identifiants alternatifs sont nécessaires, on pourra recourir au keyList de DataManagedObject, mais dans cette hypothèse le champ PrivateCode devra impérativement être aussi renseigné (avec l'un des identifiants alternatifs).

Ce champ est utilisé de différente façon suivant le contexte. C'est un simple identifiant alternatif pour les LIEU D'ARRÊT, ZONE D'EMBARQUEMENT, GROUPE DE LIEU et ACCÈS.

Dans le cadre des zones administratives (LIEU TOPOGRAPHIQUE) ce code est utilisé de la façon suivante:

  • Région : code NUTS

  • Département : code NUTS

  • Groupement de communes: code Postal

  • Ville : code INSEE

  • Arrondissement : code INSEE

Note: les codes NUTS peuvent être trouvés ici.

«ctd»(members)VersionOfObjectRef | GroupMember

0:1

spécial

Ce champ est apporté par GeneralGroupOfEntities et n'est utilisé que dans certains cas particuliers :

  • Dans le cadre des GROUPEs DE LIEUX D'ARRÊT, et il est alors obligatoire. Il contient la liste des identifiants des membres des GROUPEs DE LIEUX D'ARRÊT (ce sont donc des identifiants de LIEU D'ARRÊT)

Attributs de Zone

Zone – Element (Abstrait)
Classifi­cationNomTypeDescription
::>::>GroupOfPoints::>

ZONE hérite de GROUP OF POINTs (note : le GroupOfPoint n’apporte pas d’autres ajouts au GroupOfEntities que l’attribut members spécialisé pour ne référencer que des points).

Le champ members n’est utilisé que dans le cas particulier du transport à la demande, pour permettre d’identifier les arrêts (POINT D’ARRÊT PLANIFIÉs) d’une zone dans le cas de TAD zonal avec arrêt.

«cntd»membersPointRef0:*Liste des POINT contenus dans la ZONE.
«cntd»CentroidPoint0:1

Point représentatif de la ZONE (LIEU D'ARRÊT, ZONE D'EMBARQUEMENT, LIEU TOPOGRAPHIQUE, ACCES, POINT D’ARRÊT PLANIFIÉ, etc.).

Ce point n'a pas à être le centre, ou le barycentre, de la zone, mais un point qui la localisera de façon satisfaisante (sur un fond de carte par exemple).

Gml:Polygongml:Polygon0:*

Polygone de contour de la zone.

C'est une séquence ordonnée de points représentant une surface fermée et permettant de décrire le contour géographique de la ZONE.

«cntd»projectionsProjection0:*

Liste des PROJECTIONs de la ZONE.

La PROJECTION n’est utilisée que pour permettre de mettre en lien l’offre de transport en commun et une description de l’infrastructure (route, rail, etc.). On référencera donc typiquement un jeu de données OSM, NavTeQ Here, etc.

Attributs de Point

Point – Element (Abstrait)
Classifi­cationNomTypeCardinalitéDescription
::>::>DataManagedObject::>POINT hérite de DATA MANAGED OBJECT.
NameMultilingualString0:1Nom du POINT.
LocationLocation

0:1

1 :1

Localisation du POINT (obligatoire dans le profil)
«»PointNumberxsd:normalizedString0:1

Identifiant alternatif du point POINT.

On utilisera le champ PointNumber pour ordonner des points (par exemple les POINTs D’ARRÊT PLANIFIÉs d’une ligne que l’on veut ordonner sur une fiche horaire), avec la convention suivante :

  • On privilégiera une valeur purement numérique pour ce champ (avec un classement classique du plus petit au plus grand)

  • Si ce n’était pas le cas le classement sera réalisé de façon alphanumérique (et non alphabétique), aussi appelé classement naturel, en intégrant donc une reconnaissance de l’éventuelle partie numérique. (voir http://rosettacode.org/wiki/Natural_sorting par exemple)

«cntd»projectionsProjection0:*

Projections du POINT.

La PROJECTION n’est utilisée que pour permettre de mettre en lien l’offre de transport en commun et une description de l’infrastructure (route, rail, etc.). On référencera donc typiquement un jeu de données OSM, NavTeQ Here, etc.

Attributs de Tronçon

Link est défini par un type XSD abstrait, et ne peut être instancié que dans un contexte d’héritage. De plus, les spécialisations concrètes de Link ajoutent systématiquement les attributs FromPointRef et ToPointRef (avec des types de point spécialisés et adaptés : par exemple des RoutePoints pour les RouteLink).

Link – Element (Abstrait)
Classifi­cationNomTypeCardinalitéDescription
::>::>DataManagedObject::>LINK hérite de DATA MANAGED OBJECT.
NameMultilingualString0:1Nom du TRONÇON.
DistanceDistanceType0:1

Longueur du TRONÇON (unité en cohérence avec l’unité par défaut des frames, en mètre pour la France naturellement).

Il ne s'agit pas de la simple distance "à vol d'oiseau" entre les deux extrémités, mais de la distance opérationnelle que l'on souhaite faire porter au TRONÇON, comme la distance qui sera parcourue par un véhicule sur ce TRONÇON par exemple.

«cntd»LineStringgmlLineString0:1Géométrie du TRONÇON sous forme d’une linestring GML (la géométrie d’un TRONÇON n’est donc pas limitée à un simple couple de point, mais est décrite par une séquence de points).
«cntd»projections

La PROJECTION n’est utilisée que pour permettre de mettre en lien l’offre de transport en commun et une description de l’infrastructure (route, rail, etc.). On référencera donc typiquement un jeu de données OSM, NavTeQ Here, etc.

Dans le cas des TRONÇONs la projection n’est généralement pas simple un TRONÇON ne se projetant généralement pas sur un unique autre TRONÇON (on aura presque systématiquement un TRONÇON TC à cheval sur N tronçon routier, ou encore l’inverse) : il a donc été fait le choix de ne projeter que les point extrémités du TRONÇON (ces point peuvent se projeter sur un autre point, ou sur un segment, voir ).

«cntd»passingThroughLe besoin de points intermédiaires est lié soit à une géométrie complexe (on utilisera alors l’attribut LineString) soit au fait que, par exemple, un TRONÇON sur un PARCOURS passe par un arrêt sans s’y arrêter, mais on utilisera dans ce cas les éléments du PARCOURS dédiés à la description de cette situation.
uniquement dans les spécialisations concrètes de LinkFromPointRefxxxPoint (spécialisation de Point)1:1Point de depart du segment (uniquement dans les spécialisations concrètes de Link)
ToPointRefxxxPoint (spécialisation de Point)1:1Point de fin du segment (uniquement dans les spécialisations concrètes de Link)

Attributs des Séquences de Tronçons

Les SÉQUENCEs DE TRONÇONS sont des éléments de base pour la construction d’objets plus complexes comme les ITINÉRAIREs (voir Profil Réseau).

LinkSequence – Element (Abstrait)
Classifi­cationNameTypeCardin­alityDescription
::>::>DataManagedObject::>LINK SEQUENCE hérite de DataManagedObject.
NameMultilingualString0:1Nom de la SÉQUENCE DE TRONÇON.
DistanceDistanceType1:1Longueur totale (en mètre) de la SÉQUENCE DE TRONÇON.

Attributs des Points d’une Séquence de Tronçons

Les POINTs DE SÉQUENCE DE TRONÇONS (POINT IN LINK SEQUENCE) permettent essentiellement d’indiquer les numéros d’ordre des POINTs au sein d’une SÉQUENCE DE TRONÇONS.

PointInLinkSequence – Element (Abstrait)
ClassificationNameTypeCardinalityDescription
::>::>VersionedChild::>POINT IN LINK SEQUENCE hérite de VERSIONED CHILD.
«atr»order*xsd:*positiveInteger1:1Ordre du POINT au sein de la séquence (la valeur de début est sans importance seules comptent les valeurs relatives entre elles).
«FK»LinkSequenceRefLinkSequenceRef1:1Référence de la LINK SEQUENCE contenant le POINT IN LINK SEQUENCE.
DescriptionMultilingualString0:1Description du POINT in LINK SEQUENCE. +v1.1

Conditions de validité

La validité se définit comme la période pendant laquelle, ou les conditions en fonction desquelles l’ENTITÉ peut être utilisée par les voyageurs.

NOTE : le LIEU D’ARRÊT ou l’ACCÈS peut aussi être sujet à des heures d’ouverture, mais ces plages d’ouverture sont potentiellement multiples au sein d’une journée, et variable selon le type de jour : même si les AVAILABILITY CONDITIONs (voir plus bas) permettent de modéliser cette information, il a été décidé de ne pas retenir ce niveau de finesse dans ce profil (on ne conserve donc que de simples date de début et fin de validité). Une NOTE pourra éventuellement être utilisée pour ce type de situation (associée au LIEU D’ARRÊT ou à l’ACCÈS dans ce cas).

La figure ci-dessous montre que les conditions de validité peuvent être exprimées de façon simplifiée au travers du ValidBetween ou de façon détaillée : c’est, autant que possible, la version simplifiée du ValidBetween qui sera préférée.

ValidBetween – Element (objet inclus)
Classifi­cationNomTypeDescription
FromDatexsd:dateTime0:1Date et heure de début de validité (inclusif)
Le FromDate est obligatoire dans le cadre du profil (le ToDate ne l’est pas, et s’il n’est pas rempli, la validété débute au FromDate sans limite de fin.
ToDatexsd:dateTime0:1Date et heure de fin de validité (inclusif)
ValidityCondition – Element (objet inclus)
Classifi­cationNomTypeCardinalitéDescription
::>::>DataManagedObject::>

Inherits from DATA MANAGED OBJECT.

L’héritage reste naturellement valable, mais aucun des attributs qu’il apporte ne sera utilisé.

«FK»ConditionedObjectRefObjectRef0:1

Référence de l’objet sur lequel porte la CONDITION DE VALIDITÉ.

Cet attribut n’est utilisé que si la condition de validité est fournie comme un objet indépendant au sein d’une FRAME (voir ). Dans tous les autre cas (la CONDITION DE VALIDITÉ est dans l’arborescence XML d’un objet) c’est le contexte qui fournit cette information, et ce champ sera ignoré. On n’utilisera les conditions de validité comme un objet indépendant que pour pouvoir les référencer avec un WithConditionRef (champ suivant)

«FK»WithConditionRefValidityConditionRef0:1

Cet attribut permet de chaîner plusieurs CONDITIONs DE VALIDITÉ qui seront alors logiquement combinées par l’opérateur logique ET.

On pourra ainsi gérer une période combinée à des exclusions, combiner des périodes et des évènements déclencheurs, etc.

Pour la gestion des exceptions, on exprimera toujours une CONDITION DE VALIDITÉ « principale » et on y associera des exceptions par WithConditionRef et non l’inverse. Pour toutes les combinaisons on procédera de même si une CONDITION DE VALIDITÉ « principale » peut être identifiée.

Deux spécialisations des conditions de validité sont utilisées dans le cadre des profils NeTEx : les conditions de disponibilité qui sont les conditions temporelles, et les déclencheurs de validité qui sont des événements rendant l’ENTITÉ disponibles (pour, par exemple, les itinéraires en cas de crue, la modification de service ou d’ouverture en cas de match ou d’évènement sportif autour d’un lieu comme un stade, etc.)

AvailabilityCondition – Element (objet inclus)
Classifi­cationNomTypeCardinalitéDescription
::>::>ValidityCondition::>AVAILABILITY CONDITION hérite de VALIDITY CONDITION.
FromDatexsd:dateTime0:1Date et heure de début de validité (inclusif)
ToDatexsd:dateTime0:1Date et heure de fin de validité (inclusif)
IsAvailablexsd:boolean1:1

Indique si la CONDITION DE VALIDITÉ correspond à une disponibilité (VRAI) ou une indisponibilité (FAUX).

Ce champ sert principalement à exprimer les exceptions (par exemple : sauf le 1er avril) par combinaison de CONDITIONs DE VALIDITÉ avec WithConditionRef (voir plus haut).

«FK»dayTypesDayTypeRef0:*

TYPE DE JOUR pendant lesquels la CONDITIONs DE VALIDITÉ s’applique.

On n’utilisera pas simultanément et operatingDays dans une même CONDITION DE VALIDITÉ.

«cntd»timeBandsTimeBand0:*

TRANCHEs HORAIREs pendant lesquelles la CONDITIONs DE VALIDITÉ s’applique.

Permet essentiellement d’exprimer les heures d’ouverture.

«cntd»operatingDaysOperatingDay0:*

Jours d’exploitation pendant lesquels la CONDITIONs DE VALIDITÉ s’applique.

On n’utilisera pas simultanément et operatingDays dans une même CONDITION DE VALIDITÉ.

ValidityTrigger – Element (objet inclus)
Classifi­cationNomTypeCardinalitéDescription
::>::>ValidityCondition::>VALIDITY TRIGGER hérite de VALIDITY CONDITION.
«FK»TriggerObjectRefObjectRef0:1

Référence (identifiant) de l’objet déclencheur de la validité.

De façon pratique, plutôt que de réel identifiant d’objet, on utilisera ici des valeurs codifiées dont les valeurs possibles seront précisées dans les spécifications d’interface du système producteur. Par convention on utilisera autant que possible les codes reason, subreason et PublicEvent proposés par le service SIRI Situation Exchange.

Accessibilité

Les informations concernant l’ACCESSIBILITÉ sont utilisées de la même façon pour les LIEUx D’ARRÊT, les LIGNEs et les COURSEs. L’information d’accessibilité présentée correspond à une information minimale : le profil NeTEx pour l’accessibilité propose une version beaucoup plus détaillée de cette information (incluant les cheminements, les équipements, etc.).

AccessibilityAssessment – Element (objet inclus)
Classifi­cationNomTypeCardinalitéDescription
::>::>DataManagedObject::>ACCESSIBILITY ASSESSMENT hérite de DATA MANAGED OBJECT.
MobilityImpaired­AccessAccessibility­Enumeration1:1

Indication globale d'accessibilité (de la LIGNE ou du LIEU).

Il peut valoir true (accessible), false (non accessible), partial ou unknown

«cntd»limitationsAccessibilityLimitation0:1Limitations d'accessibilité
CommentMultilingualString0:1

Commentaire complémentaire sur l'accessibilité.

Ce champ a pour vocation à compléter, en termes d'information voyageur, l'information générale de la structure . Il a donc pour vocation à être affiché avec les informations d'accessibilité.

NOTE L’attribut MobilityImpairedAccess n’a pas été retenu dans le cadre des travaux sur le modèle d’arrêt partagé (car considéré comme trop générique). Toutefois, ce champ étant obligatoire dans NeTEx, il devra être présent dans les échanges. Les valeurs qu’il peut prendre étant true/false/unknow/partial, il est recommandé (pour des raisons de cohérence) que sa valeur soit:

  • true si tous les champs de AccessibilityLimitation sont à true

  • false si tous les champs de AccessibilityLimitation sont à false

  • partial si seulement certains champs de AccessibilityLimitation sont à true

  • unknow dans tous les autres cas

AccessibilityLimitation – Element (objet inclus)
Classifi­cationNomTypeDescription
WheelchairAccessLimitationStatusEnum1:1Indique si l’accès est possible sans fauteuil roulant (codification: true/false/unknow/partial).
StepFreeAccessLimitationStatusEnum0:1Indique si l’accès est possible sans franchissement de marche ou d’escalier (codification: true/false/ unknow/partial).
EscalatorFreeAccessLimitationStatusEnum0:1Indique si l’accès est possible sans utiliser d’escalator (codification: true/false/unknow/ partial).
LiftFreeAccessLimitationStatusEnum0:1Indique si l’accès est possible sans utiliser d’ascenseur (codification: true/false/unknow/ partial).
AudibleSignsAvailableLimitationStatusEnum0:1Indique si une signalétique auditive est disponible (codification: true/false/unknow/partial).
VisualSignsAvailableLimitationStatusEnum0:1Indique si une signalétique visuelle est disponible (codification: true/false/unknow/partial).

Chaque fois que pour LimitationStatus la valeur “partial” est utilisée, une “ValidityCondition-> Description” (dans l’objet AccessibilityAssessment) doit être fournie en conséquence pour expliquer pourquoi l’accessibilité n’est que partielle (notez que seule la Description de la ValidityCondition peut être remplie). Les informations textuelles contenues doivent pouvoir être présentées au public sans autre modification.

Nom alternatif

AlternativeName – Element
Classifi­cationNomTypeDescription
«FK»NamedObjectRefVersionOfObjectRef0:1

Référence de l’objet pour lequel on fourni un nom alternatif.

Cet attribut n’est utilisé que si le nom alternatif est fourni comme un objet indépendant au sein d’une FRAME (voir ). Dans tous les autre cas (le NOM ALTERNATIF est dans l’arborescence XML d’un objet) c’est le contexte qui fournit cette information, et ce champ sera ignoré.

LangLanguage0:1Langue utilisée pour ces alias (codification RFC 1766)
NameTypeNameTypeEnum0:1

Type de nom alternatif:

  • alias: Alias

  • translation: Traduction

  • other: Autre

Il existe deux autres possibilités qui ne sont pas utilisées dans le cadre du profil: copy et label

TypeOfNameNormalizedString0:1Description de type de nom (ex: " Libellé de la synthèse vocale ")
NameMultilingualString1:1Texte du nom alternatif
ShortNameMultilingualString0:1Version courte du nom alternatif
AbbreviationMultilingualString0:1Abréviation du nom alternatif
QualifierNameMultilingualString0:1Texte utilisé pour qualifier le nom ("gare de", "mairie de", etc.)

Texte Alternatif (AlternativeText)

Il est parfois nécessaire de fournir plusieurs variantes d’un nom ou un autre texte descriptif, en particulier si les informations sont requises dans plusieurs langues. AlternativeText est un moyen générique de fournir de telles variantes pour tout attribut textuel d’un DataManagedObject. Il peut être considéré comme un complément au mécanisme AlternativeName (décrit plus ci-dessus) et peut être utilisé pour n’importe quel nom, description ou autre texte.

Note: l’élément ***AlternativeName (***en comparaison à AlternativeText) sera préféré pour les alias de nom propre (par exemple “Bercy”; POPB”, ”AccorHotels Arena”, ”Palais omnisports de Paris-Bercy”), alors qu’AlternativeText servira essentiellement pour les traductions (par exemple. “en.London”, “fr.Londres”, “it.Londra”, “cn.倫敦”, “ge.ლონდონი”, etc).

Dans le profil, AlternativeText sera toujours utilisé comme balise incluse (et non comme élément racine).

  1. AlternativeText – XML Element
ClassificationNomTypeDescription
::>::>VersionedChild::>AlternativeText hérite de VERSIONED CHILD.
«PK»attributeNamexsd:NCName0:1Nom de l'attribut de texte pour lequel il s'agit du texte de remplacement. Doit être un nom d'attribut existant.
«PK»useForLanguagexsd:language0:1

Langage utilisé pour cette variante

« fr » n’est pas accepté dans le profil, AlternativeText étant réservé aux traductions.

TextMultilingualString (Language + Text)1:1Variante du texte original, dans le langage spécifié

Localisation (Location)

Location – Element (abstrait)
Classifi­cationNomTypeDescription
«FK»srsNameLocatingSystemNameType0:1

Référentiel géographique: il s'appliquera aux Latitude et Longitude (permettant ainsi d'utiliser d'autres référentiels géodésiques que WGS84).

À utiliser au format GML (ex urn:ogc:def:crs:EPSG::4326 pour WGS84, voir http://www.epsg.org et http://www.opengeospatial.org/ogcUrnPolicy )

LongitudeLongitudeType1:1Latitude du centroïd (point "central" du lieu d'arrêt) – WGS84 par défaut (-180 à +180)
LatitudeLatitudeType1:1Longitude du centroïd (point "central" du lieu d'arrêt) – WGS84 par défaut (-90 à +90)
AltitudeAltitudeType0:1Altitude du centroïd (mètres au-dessus du niveau de la mer)
CoordinatesCoordinateString gml:pos0:1

Localisation dans un référentiel géographique quelconque (format ISO/OGC) exprimé sous forme d'une chaine de caractère, contenant éventuellement le référentiel de projection (si différent du champ suivant SrsName).

Exemple: -59.478340 -52.226578

Precisionxsd:decimal0:1Précision de localisation (en mètres).

Cas des surfaces

Les ZONEs, en plus d’être géolocalisés par un point représentatif (centroïd) peuvent être représentées par une surface d’emprise. Cette surface s’exprime sous la forme d’un polygone dont la structure est décrite ci-dessous (il s’agit de la structure GML permettant de décrire les polygones gml :PolygonType).

image Polygon – XSD

Seul le contour extérieur de ce polygone (exterior) est retenu dans le cadre du présent profil.

EXEMPLE un polygone de contour de LIEU D’ARRÊT pourra donc, par exemple, prendre la forme ci-dessous

<gml:Polygon gml:id="12323">
<gml:exterior>
<gml:LinearRing>
<gml:pos>-120.000000 65.588264\</gml:pos>
<gml:pos>-120.003571 65.590782\</gml:pos>
<gml:pos>-120.011292 65.590965\</gml:pos>
<gml:pos>-120.022491 65.595215\</gml:pos>
<gml:pos>-120.031212 65.592880\</gml:pos>
<gml:pos>-120.019363 65.586121\</gml:pos>
<gml:pos>-120.030350 65.585365\</gml:pos>
</gml:LinearRing>
</gml:exterior>
</gml:Polygon>

Attributs d’Addresse

Address – Element (objet inclus)
Classifi­cationNomTypeDescription
«FK»CountryRefCountryEnum0:1Code ISO 3166 du pays (deux caractères)
CountryNameMultilingualString0:1Nom du pays
PostalAddress – Element (objet inclus)
Classifi­cationNomTypeDescription
::>::>Address::>

POSTAL ADDRESS hérite de ADDRESS.

NOTE : les éléments hérités au dessus d’ADDRESS ne sont pas à prendre en compte dans le profil (en particulier le nom hérité de GroupOfEntities n’est pas obligatoire)

HouseNumberxsd:normalizedString0:1Numéro du bâtiment sur la voie
BuildingNamexsd:normalizedString0:1Nom du bâtiment
AddressLine1xsd:normalizedString0:1Complément d'adresse hors numéro, type et nom de voie.
Streetxsd:normalizedString0:1Nom et type de voie
Townxsd:normalizedString0:1Nom de la ville.
PostCodePostCodeType0:1Code Postal
PostCode­Extensionxsd:normalizedString0:1Extension du code postal (avec éventuel cedex ou boite postale)
PostalRegionxsd:normalizedString0:1

Code INSEE

NOTE le code INSEE permet aussi de faire la liaison avec la ville ou l'arrondissement (en tant que zone administrative) d'appartenance.

NOTE si l'on souhaite mieux formaliser la relation à la commune, l'Adresse Postale, la ZONE NeTEx dispose du "ParentZoneRef" que l'on peut utiliser à cet effet.

RoadAddress – Element (objet inclus)
Classifi­cationNomTypeDescription
::>::>Address::>ROAD ADDRESS hérite de ADDRESS.
GisFeatureRefnormalizedString

Identification de l'objet correspondant à la voie dans une base spatiale (type PostGIS par exemple) ou dans un SIG.

Cet attribut permettra par exemple d'établir le lien avec une base IGN, Open Street Map, NavTeq, Teleatlas, etc.

RoadNumberxsd:normalizedString0:1Nom de la voie sous forme codifiée (exemple: N20, A1, E11, D75, etc.)
RoadNamexsd:normalizedString0:1Nom de la voie.
BearingDegreesxsd:integer0:1Orientation de la voie, en degrés (au niveau du LIEU d'ARRÊT, de la ZONE D'EMBARQUEMENT ou de l'ACCÈS).
OddNumber­Rangexsd:normalizedString0:1Plage de numéros impairs dans laquelle se situe le LIEU
EvenNumber­Rangexsd:normalizedString0:1

Plage de numéros pairs dans laquelle se situe le LIEU

NOTE si la parité, droite-gauche, n'est pas respectée, c'est la zone paire qui sera renseignée.

Locale (contexte local du lieu)

Si cette information peut être portée par chaque objet, il est généralement plus pertinent de l’utiliser de façon générique au niveau Frame (voir FrameDefaults en 7-Entêtes NeTEx) ce qui en évite la répétition. Si elle est présente au niveau Frame et sur un objet particulier, la version de l’objet particulier sera utilisée pour celui-ci.

Locale – Type (objet inclus)
Classifi­cationNomTypeDescription
TimeZoneOffsetTimeZoneOffset0:1Décalage horaire (positif ou négatif) par rapport à l’heure GMT
TimeZoneTimeZoneOffset0:1Nom de la zone horaire
SummerTimeZoneOffsetTimeZoneOffset0:1Décalage horaire (positif ou négatif) par rapport à l’heure GMT, pour l’heure d’été
DefaultLanguagexsd:language1:1Langue principale (codification RFC 1766)
languagesLanguageUsage0:*Autres langues utilisées (codification RFC 1766)

Projections

Les projections sont exclusivement utilisées pour projeter les objets du transport public sur leur infrastructure (voirie, rail, voies navigables et câbles).

Les attributs de la structure abstraite de projection (présentés par la figure ci-dessous), ne sont pas retenus dans les profils NeTEx : seuls certains attributs proposés par les spécialisations (voir ci-dessous) seront utilisés.

Seules les PointProjection (projection d’un Point sur un point ou un tronçon) et les ZoneProjection (projection de zone sur une zone ou un point) sont retenues. La projection de tronçon n’est pas retenue, car difficile à mettre en œuvre opérationnellement (on doit généralement faire face à des projections 1-N ou N-1, et la gestion de plusieurs tronçons peut induire des difficultés de reconstruction topologique ; en particulier dans le cas de cible disposant de structure non topologique ou spaghetti : http://www.gitta.info/DigitModel/fr/html/Topologies_learningObject1.html). Pour projeter un tronçon on se cantonnera donc à en projeter les points extrémités (qui eux peuvent être projetés sur des tronçons).

Les projections, telles qu’utilisées dans le contexte du profil, feront des références vers des données externes (OSM, Nokia Here (ex Navteq), Tomtom TeleAtlas, IGN, INSPIRE, etc.). Pour réaliser ces références de façon non ambiguë, on utilisera conjointement deux mécanismes proposés par NeTEx: les CODESPACE (voir 7.3) et les attributs associés aux références.

Le CODESPACE permettra de référencer le jeu de données, par exemple en décrivant un jeu de données OSM comme ci-dessous

<Codespace id="*osm*">
<Xmlns>*osm*\</Xmlns>
<XmlnsUrl> *http://planet.openstreetmap.org/planet/2014/*\</XmlnsUrl>
<Description>Open Street Map through Planet OSM\</Description>
</Codespace>

Une référence à un objet OSM pourra alors avoir la forme ref=osm:4701234567

Mais cela ne sera souvent pas suffisant et il faudra compléter cette référence par d’éventuelles informations de classe, de version et de date proposé par le mécanisme de référence de NeTEx.

Attributs pour les références externes (objet inclus)
Classifi­cationNomTypeCardinalitéDescription
NameOfRefClassNameOfClass0:1Nom de la classe de l'objet référencé
createdxsd:dateTime0:1Date à laquelle la référence a été créée: ATTENTION il ne s'agit pas ici de la date de création de l'objet, mais bien de la date à laquelle la référence a été créée. Cela permettra, en cas d'absence de mécanisme de version, de retrouver la version de l'objet considérée (dernière version à la date du…).
«FK»versionVersionRef0:1

Version de l'objet référencé.

Si les objets n'ont pas de version, mais que le jeu de donnée en a, on utilisera le CODESPACE en prefixe (ainsi versionRef='TeleAtlas:MapMarker_USA_v04_Data/USA_TPT_2014_09' pourra référer un jeu de données TeleAtlas (en ayant pris soin de créer le CODESPACE TeleAtlas au préalable, sur le principe indiqué ci-dessus).

Le référencement de la version de l'objet n'est naturellement pas obligatoire: si elle est absente on considère qu'il s'agit de la version courante.

Pour les références externe, on procèdera comme indiqué en 7.5 - Version des objets et références en precisant la version pointée grace à l’attribut versionRef (par exemple versionRef="1.01:FR-NETEX_COMMUN-1.0">)

«FK»refObjectRefObjectIdType1:1Identifiant de l'objet référencé précédé de son CODESPACE.
PointProjection – Element
Classifi­cationNomTypeCardinalitéDescription
«FK»ProjectedPointRefPointRef0:1

POINT projeté.

Cet attribut n’est utile que si la projection est fournie comme un objet indépendant au sein d’une FRAME (voir ). Dans tous les autres cas (la PROJECTION est dans l’arborescence XML d’un objet) c’est le contexte qui fournit cette information, et ce champ sera ignoré.

«FK»ProjectToPointRefPointRef0:1

POINT sur lequel on se projette.

Dans le contexte des profils NeTEx, il s'agit là d'une référence vers une donnée externe (OSM, Nokia Here (ex Navteq), Tomtom TeleAtlas, IGN, INSPIRE, etc.).

La codification respectera les règles décrites ci-dessus pour les références externes.

«FK»ProjectToLinkRefLinkRef0:1TRONÇON sur lequel on se projette (un POINT peut être projeté sur un TRONÇON).
DistanceLengthType1:1Distance entre le POINT projeté et le début du TRONÇON (ce champ n'est renseigné que si le précédent l'est aussi).
ZoneProjection – Element
Classifi­cationNomTypeCardinalitéDescription
«FK»ProjectedZoneRefZoneRef0:1

ZONE that is being projected.

Cet attribut n’est utile que si la projection est fournie comme un objet indépendant au sein d’une FRAME (voir ). Dans tous les autre cas (la PROJECTION est dans l’arborescence XML d’un objet) c’est le contexte qui fournit cette information, et ce champ sera ignoré.

«FK»ProjectedToZoneRefZoneRef0:1

ZONE sur lequel on se projette.

Dans le contexte des profils NeTEx, il s'agit là d'une référence vers une donnée externe (OSM, Nokia Here (ex Navteq), Tomtom TeleAtlas, IGN, INSPIRE, etc.).

La codification respectera les règles décrites ci-dessus pour les références externes.

«FK»ProjectToPoint­RefLinkRef0:1POINT sur lequel on se projette (une ZONE peut être projeté sur un POINT: centroïde de ZONE, pictogramme, etc.).

Enumérations pour les modes et sous-modes

Les modes

La liste des modes utilisés est la suivante (version anglaise d’origine et traduction):

image Modes

Les sous modes

Le mode peut de plus être complété d’une caractéristique appelée “sous mode” qui, plus que le type du véhicule, caractérise le type d’exploitation qui est mis en place (navette, train régional, etc.). La figure ci-dessous présente l’ensemble des modes normalisés.

image Sous modes

Par souci de clarté, les sous-modes ont été classés en relation avec un mode, toutefois le sous-mode “tramTrain” peut être utilisé indifféremment avec un mode Tram ou un mode Train (Ferré, auquel cas il faut l’interprété “trainTram”).

BusSubmodeEnum
NomDescription
localBusBus local
regionalBusBus régional
expressBusBus express
nightBusBus de nuit
specialNeedsBusBus pour besoins spéciaux
mobilityBusBus pour handicapé
sightseeingBusBus panoramique
shuttleBusBus navette
highFrequencyBusBus à haute fréquence
dedicatedLaneBusBus en site propre
schoolBusBus scolaire
schoolAndPublicServiceBusBus scolaire et service régulier
railReplacementBusBus de substitution
demandAndResponseBusBus transport à la demande
airportLinkBusBus de terminal aéroportuaire
CoachSubmodeEnum
NomDescription
internationalCoachCar international
nationalCoachCar national
shuttleCoachNavette
regionalCoachCar régional
touristCoachCar touristique
MetroSubmodeEnum
NomDescription
metroMétro
RailSubmodeEnum
NomDescription
localTrain locall
highSpeedRail

Train à grande vitesseTrain à grande vitesse

Voir ERA B.4.7009 - 8 high speed train: Long distance train formed by a unit capable for high speed running on high speed or normal lines most modern train unit.

suburbanRailway

Train de banlieue

Voir ERA B.4.7009 - 12 subUrban: Regional train organised by the regional government public transport in and around cities, running on its own freeways underground or overground, operational running with signals.

regionalRail

Train régional

See ERA B.4.7009 - 11 Regional: Regional train organised by the regional government even if formed by a unit capable for high speed running on high speed lines.

interregionalRail

Train interrégional

Voir ERA B.4.7009 - 10 Interregional: Regional train running in more than one region.

longDistance

Train longue distance

See ERA B.4.7009 - 9 Intercity: Long distance train formed by a unit capable for high speed or not running on high speed or normal lines modern train unit high quality service restricted stopping pattern.

intermationalTrain international
nightTrain

Train de nuit

Voir ERA B.4.7009 - 13 Night train: Long distance train running overnight offering sleeping facilities (beds and or couchettes).

sleeperRailServiceService de train couchette
carTransportRailService

Service de train de transport de voiture

Voir ERA B.4.7009 - 14 Motor rail: Service transporting passenger's motor vehicle passengers are admitted either with vehicle only or with or without vehicle. Service mode.

touristRailway

Train touristique

Voir ERA B.4.7009 - 16 Historic train.

railShuttleTrain navette
rackAndPinionRailway

Train à crémallière

Voir ERA B.4.7009 - 15 Mountain train: Local train adapted for running in mountain railway lines.

TramSubmodeEnum
NomDescription
cityTramTram urbain
localTramTram local
sightseeingTramTram panoramique
shuttleTramTram navette
tramTrainTramTrain: Tram pouvant circuler d’un réseau de tramway urbain vers des voies de chemin de fer partagées avec des trains conventionnels.
TelecabinSubmodeEnum
NomDescription
telecabinTélécabine
cableCarTéléphérique
FunicularSubmodeEnum
NomDescription
funicularFuniculaire
AirSubmodeEnum
NomDescription
internationalFlightVol international
domesticFlightVol national
intercontinentalFlightVol intercontinental
WaterSubmodeEnum
NomDescription
internationalCarFerryFerry international
nationalCarFerryFerry national
regionalCarFerryFerry régional
localCarFerryFerry local
internationalPassengerFerryFerry de transport de passager international (pas de véhicules)
nationalPassengerFerryFerry de transport de passager national (pas de véhicules)
regionalPassengerFerryFerry de transport de passagers régional (pas de véhicules)
localPassengerFerryFerry de transport de passagers local
riverBusBateaubus sur fleuve ou rivière

Institutions

L’INSTITUTION (ORGANISATION) représente une entreprise impliquée dans la planification, la collecte ou la fourniture d’informations sur les transporet en commun. Par exemple, une entreprise fournissant un service d’informations sur les transports publics, une autorité, un opérateur ou une entreprise fournissant un service de collecte d’informations.

Dans le profil elle est essentiellment utile en tant que superclass d’OPÉRATEUR et d’AUTORITÉ.

image ORGANISATIONs et responsabilité – Modèle conceptuel

Organisation – Element
Classifi­cationNomTypeDescription
::>::>DataManagedObject::>ORGANISATION hérite de DATA MANAGED OBJECT.
«AK»PublicCodexsd:normalizedString0:1Identifiant (code) public de l'INSTITUTION (exemples: STIF, SNCF, etc.)
«AK»CompanyNumberxsd:normalizedString0:1Numéro d'enregistrement de l'institution (type code transporteur affecté par l'AO, NAO de la norme 99-502 pour les AOT, etc.)
Namexsd:normalizedString0:1Nom de l'organisation
ShortNameMultilingualString0:1Nom court de l'ORGANISATION
LegalNameMultilingualString0:1Nom légal de l'ORGANISATION
«cntd»alternativeNamesAlternativeName0:*

Nom alternative pour l’ORGANISATION.

Note: les éventuelles traductions utiliseront AlternativeText et non alternativeNames.

DescriptionMultilingualString0:1Texte descriptif associé à l'INSTITUTION.
ContactDetailsContactDetails0:1Contact details for ORGANISATION for public use.
«FK»OrganisationTypeTypeOfOrganisationEnum

0:1

1:1

Type d'organisation codifié:

  • authority : Autorité organisatrice

  • operator : Exploitant

  • railOperator : Exploitant Ferré

  • railFreightOperator : Exploitant fret

  • statutoryBody : Collectivité

  • facilityOperator : Société de service

  • travelAgent : Agence de voyage

  • servicedOrganisation : Etablissement de service public

  • other : Autre

«cntd»partsOrganisationPart0:*

Ensemble des entités constituant ou faisant partie de l'INSTITUTION (UNITÉ ORGANISATIONELLE ou DÉPARTEMENT).

Seules les UNITÉs ORGANISATIONELLEs seront utilisées dans le cadre des profils NeTEx.

ContactDetails – Element (objet inclus)
Classifi­cationNomTypeDescription
ContactPersonxsd:normalizedString0:1Nom de la personne de contact.
EmailEmailAddressType0:1Email de contact au format ISO.
PhonePhoneNumberType0:1Numéro de téléphone de contact
FaxPhoneNumberType0:1Numéro de fax
Urlxsd:anyURI0:1Site web de contact et d’information
FurtherDetailsxsd:string0:1Information en texte libre

Unités organisationnelles

Une unité organisationnelle est un sous ensemble d’une Institution à laquelle est attribué un ensemble de responsabilités de planification et de contrôle.

OrganisationalUnit – Element
Classifi­cationNameTypeCardin­alityDescription
::>::>OrganisationPart::>ORGANISATIONAL UNIT hérite de ORGANISATION PART.
OrganisationPart – Element (abstrait pour le profil)
Classifi­cationNameTypeCardin­alityDescription
::>::>DataManagedObject::>ORGANISATION PART hérite de DATA MANAGED OBJECT.
NameMultilingualString0:1Nom du SOUS ENSEMBLE ORGANISATIONEL
DescriptionMultilingualString0:1Description du SOUS ENSEMBLE ORGANISATIONEL.
ContactDetailsContactDetails0:1Informations de contact du SOUS ENSEMBLE ORGANISATIONEL.
«cntd»LocationLocation0:1Localisation du SOUS ENSEMBLE ORGANISATIONEL.
«FK»OrganisationRefOrganisationRef0:1INSTITUTION à laquelle appartient le SOUS ENSEMBLE ORGANISATIONEL.
«FK»Typeof­OrganisationPartRefTypeOfOrganisation­PartRef0:1

Référence le type d'UNITÉ ORGANISATIONNELLE.

On utilisera la reference comme type, mais sans obligation de créer le TYPE DE VALEUR correspondant.

«cntd»Administrative­ZonesOn passera par le ResponsibilityRoleAssignment si une ZONE ADMINISTRATIVE doit être référencée.

Exploitants

L’OPÉRATEUR hérite de l’INSTITUTION, on utilisera un champ OrganisationType instancié avec operator ou railOperator.

Operator – Element
Classifi­cationNameTypeCardin­alityDescription
::>::>Organisation::>OPERATOR hérite ORGANISATION.
CountryRefCountryRef0:1Code ISO 3166-1 correspondant à la nationalité de l’exploitant
AddressPostalAddress0:1Postal ADDRESS of ORGANISATION.
PrimaryModeVehicleModeEnum0:1Mode de tranport principal de l’opérateur (s’il en a un)
CustomerService­ContactDetailsVoir ContactDetails d’ORGANISATION.
departmentsVoir Parts d’ORGANISATION.

Autorités

De même pour décrire une AUTORITÉ ORGANISATRICE, on utilisera une INSTITUTION avec un champ OrganisationType instancié avec authority.

Groupes d’operateurs

Les GROUPEMENTs D’OPÉRATEURS sont aussi des objets à décrire. Toutefois, le GROUPEMENT D’OPÉRATEURS n’apporte aucun attribut spécifique par rapport au GROUP OF ENTITIES, on se réfèrera donc à ce dernier pour le détail des attributs.

Rôles et affectation de responsabilités

Un ensemble de responsabilités peut être spécifié pour un objet DataManagedObject, notament afin de spécifier les institutions responsables de différents rôles de gestion des données, telles que la création, la maintenance, la distribution ou l’octroi de licence aux données.

Dans le profil, un ResponsibilitySet est normalement utilisé au niveau VERSION FRAME pour s’appliquer à tous les éléments du cadre, plutôt qu’à des objets individuels (bien que cela reste possible).

Un ResponsibilitySet est composé d’une ou de plusieurs instances de ResponsibilityRoleAssignment. Chaque attribution de rôle de responsabilité attribue un ou plusieurs rôles à une organisation ou à une partie d’organisation, en ce qui concerne la responsabilité qui lui incombe relativement aux objjets décrits (propriété, planification, exploitation, etc.) ou la gestion de ces données (distribution, mises à jour, etc.).

ResponsibilitySet – Element
Classifi­cationNameTypeCardin­alityDescription
::>::>DataManagedObject::>RESPONSIBILITY SET hérite de DATA MANAGED OBJECT.
«cntd»rolesResponsibilityRoleAssignment1:*AFFECTATIONs de ROLE constituant l’ENSEMBLE DE RESPONSABILITÉ.
ResponsibilityRoleAssignment – Element (objet inclus)
Classifi­cationNomTypeDescription
::>::>VersionedChild

RESPONSIBILITY ROLE hérite de VERSIONED CHILD.

Non utilisé quand inclus comme roles de ResponsabilitySet (l’inclusion est la solution retenue par le profil)

DescriptionMultilingualString0:1Description textuelle du rôle
«PK»DataRoleTypeDataRoleTypeEnum0:1

Rôle(s) attribué(s) dans la gestion des données. Les valeurs possibles sont :

collects

validates

aggregates

distributes

redistributes

creates

«PK»StakeholderRoleTypeStakeholderRoleTypeEnum0:1

Rôle(s) opérationel(s) attribué(s). Les valeurs possibles sont :

planning

operation

control

reservation

entityLegalOwnership

fareManagement

securityManagement

dataRegistrar

other

TypeOfResponsibilityRoleRefTypeOfResponsibility RoleRef

Référence à un type de responsabilité.

On utilisera notamment ce champ pour référencer un type de contrat quand cela est nécessaire.

«FK»Responsible­OrganisationRefOrganisationRef0:1Référence l'institution concernée
«FK»ResponsibleAreaRefAdministrativeZoneRef0:1Référence la zone administrative concernée

Notes (NOTICEs)

Notice – Element
Classifi­cationNomTypeCardinalitéDescription
::>::>DataManagedObject::>NOTICE hérite de DATA MANAGED OBJECT.
NameMultilingualString0:1Nom de la NOTE.
TextMultilingualString0:1Texte de la NOTE
«AK»PublicCodexsd:normalizedString1:1Code publique de la NOTE (numéro de renvoi sur la fiche horaire par exemple)
«FK»TypeOfNoticeRefTypeOfNoticeRef1:1

Type de NOTE.

On pourra ainsi catégoriser les NOTEs, par exemple:

  • Exception de circulation (sauf…)

  • Restriction de circulation (ne circule que …..)

  • Etc.

Ces codes sont ouverts et sont définis par le producteur des données qui en précisera les valeurs possibles dans sa spécification d'interface.

CanBeAdvertisedDans le cadre des profils NeTEx, toutes les notes sont à vocation d'information voyageur et donc publiques.
«cntd»variantsDeliveryVariant0:*VARIANTEs DE DIFFUSION pour la note (rédaction adaptée à différents type de médias).
DeliveryVariant – Element (objet inclus)
Classifi­cationNomTypeCardinalitéDescription
::>::>DataManagedObject::>DELIVERY VARIANT hérite de DATA MANAGED OBJECT.
«FK»ParentRefLes variantes seront toujours exprimées au sein de la NOTE elle-même.
DeliveryVariant­MediaTypeDeliveryMediaEnum1:1

Type de média donnant lieu à la VARIANTE DE DIFFUSION de la NOTE. Les valeurs possibles sont:

  • printed

  • textToSpeech

  • web

  • mobile

  • other

VariantTextMultilingualString0:1Texte de la VARIANTE DE DIFFUSION (qui remplacera donc la NOTE pour les médias indiqués).

Le tableau ci-dessous présente l’affectation de NOTE: seul les deux attributs retenus y sont présentés (l’affectation est très paramétrable, mais la grande majorité des attributs ne sont pas retenus dans le profil).

Les NoticeAssignments doivent être intégré en ligne à l’élément annoté et non placé séparément. Ils peuvent faire référence à une NOTICE déjà défini dans un NOTICE ASSIGNMENT antérieur.

Notice Assignment – Element
ClassificationNameTypeCardinalityDescription
::>::>DataManagedObject::>NOTICE ASSIGNMENT inherits from DATA MANAGED OBJECT.
«PK»idTypeOfNotice­AssignmentIdType1:1Identifiant du NOTICE ASSIGNMENT.
«FK»aNoticeRefNoticeRef0:1Reference à une NOTE
cNoticeNotice0:1

Description de la NOTE elle même.

On préférera toujours Notice à NoticeRef (utilisez uniquement NoticeRef pour les NOTEs partagés).

«FK»NoticedObjectRefVersionOfObjectRef0:1Objet auquel la NOTE est associée. Si donné par le contexte peut être omis.
«FK»StartPointInPatternRefPointInSequenceRef0:1POINT à partir duquel la NOTE devient applicatble (dans un PARCOURS).
«FK»EndPointInPatternRefPointInSequenceRef0:1POINT à partir duquel la NOTE n’est plus applicatble (dans un PARCOURS).

Jour d’exploitation

image OPERATING DAY et DAY TYPE – Model conceptuel

OperatingDay – Element
Classifi­cationNomTypeCardinalitéDescription
::>::>DataManagedObject::>OPERATING DAY hérite de DATA MANAGED OBJECT.
CalendarDatexsd:date1:1

Date calendaire de la JOURNÉE D'EXPLOITATION.

Il s'agit ici du jour calendaire où démarre la JOURNÉE D'EXPLOITATION, l'heure de début et la durée de la journée étant précisées par les autres paramètres.

«FK»ServiceCalendar­RefCalendarRef0:1

CALENDRIER DE SERVICE auquel appartient la JOURNÉE D'EXPLOITATION.

Note: une même journée calendaire peut être couverte par différentes JOURNÉE D'EXPLOITATION (pour différents exploitants, ou différentes modalités d'exploitation, comme par exemple NOCTILIEN (bus de nuit à Paris) et bus RATP). On recommandera toutefois dans ce cas d'affecter ces jours "redondants" à différents CALENDRIERs DE SERVICE.

NameMultilingualString0:1Nom de la JOURNÉE D'EXPLOITATION
EarliestTimexsd:time1:1Heure de début de la JOURNÉE D'EXPLOITATION
DayLengthxsd:duration1:1

Durée de la JOURNÉE D'EXPLOITATION.

Une JOURNÉE D'EXPLOITATION peut durer plus de 24h (pas de limite supérieure).

Type de Jour

Note: si le TYPE DE JOUR n’est valable que pour une période de temps limitée, on le précisera grâce au ValidBetween (FromDate, ToDate) disponible au travers de son héritage de DataManagedObject.

DayType – Model Element
Classifi­cationNomTypeCardinalitéDescription
::>::>DataManagedObject::>

DAY TYPE hérite de DATA MANAGED OBJECT.

On utilisera le ValidBetween pour une éventuelle limitation de période

NameMultilingualString0:1Nom du TYPE DE JOUR.
DescriptionMultilingualString0:1Description du TYPE DE JOUR.
EarliestTimexsd:time0:1

Heure de début de validité dans le TYPE DE JOUR.

Excusif avec

DayLengthxsd:duration0:1

Durée du TYPE DE JOUR.

Excusif avec

«cntd»propertiesPropertyOfDay0:*

PROPRIÉTÉ du TYPE DE JOUR.

Note: sous un même PropertyOfDay les caracterisques s'associent par un ET, sinon elles s'associent par un OU.

Ainsi pour désigner l'été et les samedis:

Saturday

Summer

Mais pour désigner les samedis d'été:

Saturday

Summer

«cntd»timebandsTimeband0:*

TRANCHEs HORAIREs du TYPE DE JOUR

On utilisera ces TRANCHEs HORAIREs uniquement si elles sont multiples (par exemple "de 9h à 12h30 et de 14h à 18h30") sinon on utilisera les et . Si l'information alors et ne seront pas remplis.

PropertyOfDay – Element (objet inclus)
Classifi­cationNomTypeCardinalitéDescription
NameMultilingualString0:1Nom de la PROPRIÉTÉ DE JOUR.
DescriptionMultilingualString0:1Description de la PROPRIÉTÉ DE JOUR.
«FK»DaysOfWeekDayOfWeekEnum0:7

Jours de la semaine affectés à la PROPRIÉTÉ DE JOUR.

Tous les jours par défaut.

WeeksOfMonthWeekOfMonthEnum0:5

Numéros de semaine dans le mois (1-5) affectés à PROPRIÉTÉ DE JOUR.

Toutes les semaines par défaut.

ChoiceMonthOfYearmonth0:1Mois de la PROPRIÉTÉ DE JOUR.
DayOfYearmonthDay0:1Jour dans l'année affecté à la PROPRIÉTÉ DE JOUR (par exemple "tous les 1er avril")
CountryRefCountryEnum0:*Pays pour lequel les jours de vacances doivent-être considérés.
HolidayTypesHolidayTypeEnum0:5Type de vacance de la PROPRIÉTÉ DE JOUR (voir liste ci-dessous).
SeasonsSeasonEnum0:4Saison de la PROPRIÉTÉ DE JOUR.
TidesTideEnum0:4

Type de marée de la PROPRIÉTÉ DE JOUR.

Attention, cette classification restreint à une partie de la journée (marée haute, etc.).

DayEventDayEventEnumeration0:1Événement particulier associé à la PROPRIÉTÉ DE JOUR. .
CrowdingCrowdingEnumeration0:1

Niveau de charge pour le jour concerné :

  • veryQuiet

  • quiet

  • normal

  • busy

  • veryBusy

Les énumérations correspondantes sont les suivante (noter que l’on n’utilisera pas les valeurs anyXxx ou everyXxx, qui sont les valeurs par défaut quand le champ est absent).

DayOfWeekEnum – valeurs autorisée
NomDescription
MondayLundi
TuesdayMardi
WednesdayMercredi
ThursdayJeudi
FridayVendredi
SaturdaySamedi
SundayDimanche
WeekOfMonthEnum – valeurs autorisée
NomDescription
1Première semaine du mois
2Seconde semaine du mois
3Troisième semaine du mois
4Quatrième semaine du mois
5Cinquième semaine du mois
HolidayTypeEnum – valeurs autorisée
NomDescription
SchoolDayJour d’école
NotHolidayJour hors vacances
AnyHolidayN’importe quel type de jour de vancances.
LocalHolidayJour de vancance local
NationalHolidayJour de vancance national
RegionalHolidayJour de vancance régional
HolidayDisplacementDayJour de départ ou retour en vacances
EveOfHolidayVeille de vacances
SeasonEnum – valeurs autorisée
NomDescription
SpringPrintemps
SummerÉté
AutumnAutomne.
WinterHiver.
TideEnum – AllowedValues
NomDescription
HighTideMarée haute
LowTideMarée basse
NeapTideGrande marée
DayEventEnumeration – valeurs autorisée
NomDescription
marketDayJour de marché
matchDayJour de match (ou évènement sportif)
eventDayJour d’évènement (préciser dans la description du type de jour)

Dans un certain nombre de situation, les PROPRIÉTÉ DE JOUR ne permettent pas de décrire précisément un TYPE DE JOUR, qui en final ne sera défini que par un ensemble de JOURs D’EXPLOITATION: on réalise alors une affectation entre le TYPE DE JOUR et les JOURs D’EXPLOITATION correspondants.

DayTypeAssignment – Element
Classifi­cationNomTypeCardinalitéDescription
::>::>VersionedChild::>DAY TYPE ASSIGNMENT hérite de VERSIONED CHILD.
«FK»ServiceCalendarRefCalendarRef0:1CALENDRIER DE SERVICE auquel l'affectation de TYPE DE JOUR appartient.
«FK»

Choice

(seul un de ces éléments est obligatoire)

OperatingPeriodRefOperatingDayRef1:1Référence à une PÉRIODE D'EXPLOITATION assignée: noter que tous les jours de la période s'applique (de ce fait on l'utilisera le plus souvent pour les exclusions de périodes en combinaison avec le champ isAvailable=false)
«FK»OperatingDayRefOperatingDayRef1:1Référence au JOUR D'EXPLOITATION correspondant.
Datexsd:date1:1Une date calendaire peut être utilisée à la place du JOUR D'EXPLOITATION correspondant (si l'on n'utilise aucune caractéristique propre au jour d'exploitation)
«FK»DayTypeRefDayTypeRef1:1Référence le TYPE DE JOUR concerné
isAvailableboolean0:1Vrai (disponible par défaut) : cet attribut permet d'exprimer les exceptions (sauf le 1er avril…).

Le CALENDIER DE SERVICE permet de grouper des JOURs D’EXPLOITATION et des AFFECTATIONs DE JOUR d’exploitation. On pourra ainsi, en conservant le même TYPE DE JOUR, faire des mises à jour de calendrier en transmettant uniquement une mise à jour du CALENDRIER DE SERVICE (ou un nouveau CALENDRIER DE SERVICE).

ServiceCalendar – Element
Classifi­cationNomTypeCardinalitéDescription
::>::>DataManagedObject::>SERVICE CALENDAR hérite de DATA MANAGED OBJECT.
NameMultilingualString0:1Nom du CALENDRIER DE SERVICE.
FromDatexsd:date0:1Date (inclusive) du début du CALENDRIER DE SERVICE.
ToDatexsd:date0:1Date (inclusive) de fin du CALENDRIER DE SERVICE.
«cntd»dayTypesDayType0:*TYPEs DE JOURs du CALENDRIER DE SERVICE.
«cntd»operatingDaysOperatingDay0:*TYPEs DE JOUR. du CALENDRIER DE SERVICE.
«cntd»operatingPeriodsOperatingPeriod0:*AFFECTATIONs des PÉRIODEs D’EXPLOITATION du CALENDRIER DE SERVICE.
«cntd»dayTypeAssignmentsDayTypeAssignment0:*AFFECTATIONs DE JOUR du CALENDRIER DE SERVICE.
OperatingPeriod – Element
Classifi­cationNomTypeCardinalitéDescription
::>::>DataManagedObject::>OPERATING PERIOD hérite de DATA MANAGED OBJECT.
«FK»ServiceCalendar­RefCalendarRef0:1CALENDRIER DE SERVICE auquel la période appartient.
bFromDatedateTime1:1Date calendaire de début
bToDatedateTime1:1Date calendaire de fin

Note : UicOperatingPeriod sera toujours utilisé dans le contexte du profil, afin de rendre le ValidDayBits obligatoire (chaîne de bits, une pour chaque jour de la période: qu’elle soit valide ou non le jour).

UicOperatingPeriod – Element
ClassificationNameTypeCardinalityDescription
::>::>OperatingPeriod::>UIC OPERATING PERIOD inherits from OPERATING PERIOD.
ValidDayBitsxsd:normalizedString1:1String of bits (built of “0” and “1”), one for each day in the period: whether valid or not valid on the day. Normally there will be a bit for every day between start and end date. If bit is missing, assume available.
DaysOfWeekDaysOfWeek0:1Days of week to which correspond. (up to first seven) bits

Tranche horaire

Timeband – Element (objet inclus)
Classifi­cationNomTypeCardinalitéDescription
::>::>DataManagedObject::>TIME BAND hérite de DATA MANAGED OBJECT.
StartTimexsd:time1:1heure de début (inclusif).
EndTimexsd:time1:1heure de fin (inclusif).
DayOffsetxsd:integer0:*

Décalage de jour si l'heure de fin n'est pas le même jour que l'heure de début (1=le lendemain, 2=le surlendemain, etc.)

Valeur par défaut: 0.

Type de Valeur

Les types de valeur sont utiles pour préciser et personnaliser toutes les codifications ouvertes (TypeOfXxxxx, comme les TypeOfNoticeRef par exemple).

TypeOfValue – Element (abstrait)
Classifi­cationNomTypeDescription
::>::>DataManagedObject::>TYPE OF VALUE hérite de DATA MANAGED OBJECT.
NameMultilingualString0:1Nom du TYPE DE VALEUR.
DescriptionMultilingualString0:1Description du TYPE OF VALUE.
ImageanyURI0:1Image associée au TYPE OF VALUE.
UrlanyURI0:1URL associée au TYPE OF VALUE.

Presentation

La Présentation fournit des informations de graphisme et de style de représentation associés à un objet (couleurs, police de caractère, etc.).

Presentation – Type (objet inclus)
Classifi­cationNameTypeCardin­alityDescription
ColourColourValue0:1Couleur (format RVB)
ColourNamexsd:normalizedString0:1Nom de la couleur
BackGroundColourColourValueType0:1Valeur RVB de la couleur de fond (par exemple la couleur de la ligne de transport)
BackgroundColour­Namexsd:String0:1Nom de la couleur de fond dans le ColourSystem.
TextColourColourValue0:1Couleur du texte (format RVB)
TextColourNamexsd:normalizedString0:1Nom de la couleur du texte
TextFontxsd:normalizedString0:1Identifiant de la police de caractère
TextFontNamexsd:normalizedString0:1Nom de la police de caractère
InfoLinkInfoLink0:1URL d’un élément graphique de représentation (généralement une icône).

## Branding

Le Branding corresponf aux informations permettant la descriptrion des marques.

Branding – Element (objet inclus)
Classifi­cationNomTypeDescription
::>::>DataManagedObject::>BRANDING hérite de TYPE OF VALUE.
PresentationPresentationStructure0:1Iinformations de graphisme et de style de représentation associés à la marque.

Entêtes NeTEx

PublicationDelivery

Les données échangées avec NeTEx sont systématiquement accompagnées d’un entête qui permet de décrire le contenu du jeu de données et précise le contexte de leur publication (on peut parler de « métadonnées » à ce niveau).

L’entête lui-même (PublicationDelivery présenté ci-dessous) est directement suivi des données (payload), ces données étant généralement regroupées dans un CADRE DE VERSION (VERSION FRAME). Ce CADRE DE VERSION permet de grouper un ensemble de versions des données : on n’échange en effet pas la donnée (ENTITY) elle-même, mais une version particulière de ces données (ENTITY IN VERSION). Il convient donc, lors d’un échange, de fournir des données dans des versions cohérentes les unes avec les autres. Ce CADRE DE VERSION peut naturellement être soumis à des CONDITIONs de VALIDITÉ. On pourra par la suite effectuer des mises à jour mineures de versions d’objets individuelles (ne remettant pas en question la cohérence globale de l’ensemble) ou fournir une nouvelle version de ce CADRE DE VERSION, en particulier quand les relations entre les objets sont impactées par les modifications apportées.

NeTEx fournit un certain nombre de CADREs DE VERSION prédéfinis, mais permet aussi de définir des CADREs DE VERSION spécifiques. C’est cette seconde option qui est retenue pour le présent profil. Ces CADREs spécifiques sont décrits dans les lignes ci-dessous.

PublicationDelivery
Classifi­cationNomTypeDescription
versionxsd:NMTOKEN

Identifiant de la version de NeTEx utilisée.

Voir 7.5

Public­ation­Header­GroupPublication­Timestampxsd:dateTime1:1Date et heure de publication des données
ParticipantRefParticipantCodeType1:1Identifiant du système ayant produit la donnée. De manière générale il sera identique au DATA SOURCE, mais il arrive que plusieurs systèmes soient constitutifs d’une même source de données: il est alors utile de pouvoir les différencier.
Publication­RequestPublicationRequestStructure0:1Description de la requête ayant donné lieu à la publication. Ce champ ne sera utilisé que dans le cadre d’une réponse dans le contexte d’un appel de web service (voir ).
Publication­RefreshIntervalxsd:duration0:1Période normale de rafraichissement des données (espace normal entre deux mises à jour) pour les CADREs DE VERSION contenus dans le jeu de données.
Descriptionxsd:normalizedString0:1Texte décrivant les données contenues
PayloadGroupdataObjectsdataObjects_RelStructure0:1Données échangées dans un contexte de CADRE DE VERSION.

Frames (CADRE DE VERSION)

Une VersionFrame fournit un conteneur versionnable qui permet d’échanger un ensemble cohérent d’éléments connexes correspondant, par exemple aux horaires d’une ligne, ou aux gares d’un pays. La VersionFrame garantit notament la coherence des versions des objets en relation les uns avec les autres.

image FRAMEs – Modèle conceptuel

Formant un ensemble cohérent d’éléments connexes (c’est-à-dire un ensemble complet d’éléments tous de version compatible), les FRAMEs sont fortement liés à la gestion des versions. Chaque instance VERSION FRAME a également une ou plusieurs VALIDITY CONDITION qui lui sont attachées (puisqu’il s’agit d’un DataManagedObject à part entière*)* qui est utilisé pour exprimer la validité du cadre et de son contenu dans son ensemble.

Notez que ces conditions de validité du VERSION FRAME ne doivent pas être confondues avec contentValidityConditions qui sont des conditions de validité plus spécifiques qui s’appliquent à plusieurs éléments dans le cadre (condition de validité partagées qui seront référencées par les objets eux même). Dans le cadre du profil, les conditions de validité du VERSION FRAME viennent limiter la validité des objets (un objet n’est plus considéré comme valide avant ou après la période de la FRAME qui le contient).

VersionFrame lui-même est abstrait : NeTEx fournit un ensemble de cadres « spécifiques » spécialisés à des fins spécifiques (ServiceFrame, SiteFrame, etc.) couvrant chacun un sous-ensemble fonctionnel des éléments de données NeTEx; ainsi qu’un GeneralFrame qui peut contenir n’importe quel type d’ENTITY IN VERSION.

Une VersionFrame peut se voir attribuer une TypeOfFrame; une classification arbitraire définie par l’utilisateur (et qui est ici utilisée pour identifier le profil).

La figure ci-dessous présente l’ensemble des CADREs DE VERSION prédéfini dans NeTEx ainsi que le GeneralFrame qui est utilisé ici avec un type de CADRE spécifique pour les profils NeTEx utilisés en France: NeTEx COMMUN, NeTEx ARRET, NeTEx LIGNE, NeTEx RESEAU, NeTEx HORAIRE, NeTEx CALENDRIER et NeTEx TARIF.

image predefined Frames– XSD

VersionFrame – Element
Classifi­cationNomTypeDescription
::>::>DataManagedObject::>VERSION FRAME hérite de DATA MANAGED OBJECT.
NameMultilingualString0:1Nom du VERSION FRAME.
DescriptionMultilingualString0:1Description du VERSION FRAME.
«FK»TypeOfFrameRefTypeOfFrameRef0:1

Référence au TYPE OF VERSION FRAME utilisé.

Imposé à NETEX_COMMUN, NETEX_ARRET, NETEX_LIGNE, NETEX_RESEAU, NETEX_HORAIRE, NETEX_CALENDRIER, NETEX_TARIF pour les GeneralFrame et pour les CompositeFrame on utilisera NETEX_FRANCE, NETEX_LIGNE ou NETEX_N_LIGNE.

«FK»BaselineVersion­FrameRefVersionRef0:1

Identifiant du CADRE DE VERSION précédemment échangé et nécessaire pour utiliser celui-ci.

Cet attribut permet de faire des mises à jour d’un cadre de version sans avoir à l’échanger dans son intégralité.

«cntd»codespacesVersion0:*

CODESPACEs utilisé dans le CADRE DE VERSION. Normallement il y en a au moins un. Une valeur par défaut peut être précisée par le FrameDefaults.

NOTE Le codespace est utilisé par le profil, et il est spécifié par le FrameDefaults.

Voir

«cntd»FrameDefaultsFrameDefaults0:1Ensemble de valeurs par défaut qu’il sera inutile de répéter pour chaque élément (un élément particulier garde toutefois la possibilité de définir ses propres valeurs, qui sont alors prioritaires sur celles du FrameDefaults).
«cntd»prerequisitesVersionFrameRef0:*References à d’autre VERSION FRAME dont dépend celle-ci (typiquement contenant des objets référencès par cette FRAME).
«cntd»content­ValidityConditionsValidityCondition0:*CONDITONS DE VALIDITE partagées par les différents éléments contenus dans le CADRE. On utilisera uniquement le ValidBetween comme indiqué en )
GeneralFrame
Classifi­cationNomTypeCardinalitéDescription
::>::>VersionFrame::>GENERAL FRAME hérite de VERSION FRAME
membersEntityInFrame0:*Contenu du GENERAL FRAME
VersionFrameDefaults – Element (objet inclus)
Classifi­cationNomTypeDescription
«FK»Default­CodeSpaceRefCodeSpaceRef0:1Codespace par défaut (voir 7.3) qui sera utilisé pour tous les éléments qui ne le précisent pas.
«FK»Default­DataSourceRefDataSourceRef0:1Source de données par défaut (pour tous les éléments qui ne le précisent pas)
«FK»Default­ResponsibilitySetRefResponsibilitySetRef0:1RESPONSIBILITY SET par défaut (pour tous les éléments qui ne le précisent pas)
DefaultLocaleLocale0:1Valeur de LOCALE par défaut (pour tous les éléments qui ne le précisent pas)
Default­LocationSystemxsd:normalizedString0:1Système de localisation par défaut (pour tous les éléments qui ne le précisent pas)

Dans le cadre du profil les distance sont par défaut exprimées en système métrique et les sommes d’argent en Euros.

CODESPACE et codification des identifiants

NeTEx propose un mécanisme de CODESPACE (à mettre en parallèle avec les Namespace XML) qui permet de qualifier les identifiants et d’en assurer ainsi l’unicité même si plusieurs sources de données non coordonnées sont mises à contributions. En général, un CODESPACE est associé à un fournisseur de données.

Un CODESPACE est défini comme une expression de chemin d’accès conforme à la description d’un domaine internet, suivant la recommandation du IANA (Internet Assigned Numbers Authority) qui permet d’assurer un enregistrement de domaine garantissant l’unicité. À titre d’exemple, on peut citer: tfl.gov.uk, bahn.de, ratp.fr, foo.com, ou sbb.de.

À chaque CODESPACE est attribué un identifiant qui sera utilisé dans le document XML après avoir été déclaré dans les CODESPACEs du CADRE DE VERSION.

EXEMPLE de définition de CODESPACE

<CompositeFrame version="any" id="mybus:CompositeFrame:CF1">
<!--- ======= CODESPACEs======== -->
<codespaces>
<Codespace id=" *era* ">
<Xmlns>*era*\</Xmlns>
<XmlnsUrl>*http://era.org.eu/*\</XmlnsUrl>
<Description>European Rail AUthority\</Description>
</Codespace>
</codespaces>

EXEMPLEd’utilisation de CODESPACE pour les identifiants id=napt:4701234567

ref=napt:4701234567
id=era:4501234345
Codespace – Element (objet inclus)
Classifi­cationNomTypeDescription
::>::>Entity::>CODESPACE hérite de ENTITY.
«AK»Xmlnsxsd:NMTOKEN1:1Préfixe du CODESPACE, unique au sein du document XML (exemple : ‘ratp’,’transilien’,’tisseo’, etc.)
XmlnsUrlxsd:anyURI0:1

URI du CODESPACE.

Par exemple : http://naptan.org.uk/naptan ou http:/vdv.de/vdv/haltstelle/

Descriptionxsd:string0:1Description du CODESPACE.

Cette utilisation du CODESPACE est générique pour l’ensemble des objets. Certains objets comme les arrêts peuvent disposer d’une codification particulière (utilisée en lieu et place de la partie numérique dans les exemples ci-dessus).

Codification des identifiants

L’objectif d’une codification étant de s’assurer de l’unicité (au niveau national) et de la pérennité de l’identifiant. Toute solution autre, permettant d’assurer une unicité et une pérennité de l’identifiant est valable. En particulier, si un réfentiel de données (arrêts, lignes, etc.) propose des identifiants uiques et pérennes mais avec une structure très différente, cela est tout à fait acceptable ! Il est par contre impératif que l’identifiant d’un objet soit strictement le même quel que soit le flux de données utilisé (SIRI, NeTEx, tous profils confondus, et même GTFS ou tout autre format qui pourrait être utilisé pour l’échange de données).

NOTE IMPORTANTE : la technique de construction proposée ici à pour vocation d’assurer la l’unicité de l’identifiant, mais en aucun cas l’identifiant ne peut être considéré comme porteur de sémantique. En conséquence toute analyse (segmentation, parsing, extraction d’information, etc.) de l’identifiant est à proscrire !

Pour mémoire, le profil SIRI Ile-de-France propose la codification suivante pour tous les identifiants:

[Fournisseur]:[type d'objet]:\[typeObjetDétaillé]:[identifiantTechnique]:LOC

Si un objet a déjà été identifié dans le cadre d’un échange SIRI, on censervera naturellement son identifiant.

Si l’objet n’a encore jamais été échangé, dans le contexte des profils NeTEx, en dehors des arrêt (présenté ci-dessous) la codification suivante est proposée :

  • [Fournisseur] : est remplacé par le CODESPACE (et peut être complété par le DataSourceRef de EntityInVersion)

  • [type d'objet] : classe de l’objet sous la forme du nom du tag XML qui le porte

  • [identifiantTechnique]: est naturellement conservé

  • LOC : est conservé pour permettre de préciser que l’identifiant a été défini de façon locale entre les parties engagées dans l’échange, et qu’il ne fait donc pas partie du référentiel partagé (régional, national, etc.) L’utilisation de ce qualificatif est obligatoire quand l’identifiant est local. Pour les objets faisant partie de référentiels partagés on peut le remplacer par un [NomAttributaire] qui le nom (ou code) du système référentiel utilisé pour attribuer l’identifiant.

La codification retenue est donc:

[CODESPACE]:[type d'objet]:[identifiantTechnique]:[LOC ou Nom attributaire]

Exemple RATP-I2V:JourneyPattern:2354345:LOC ou IDFM:Line:345:CODIFLIGNE ou STIF-CODIFLIGNE:Line:C00001:

Note : par convention, on conserve les “:” de fin même s’il n’y a pas de valeur [NomAttributaire] ou LOC (même encore une fois, l’analyse du contenu d’un identifiant est plus que fortement déconseillée, et d’autres structures peuvent être utilisée, en fonction des système attributaire, pour peut que l’unicité soit conservée au niveau national.

Codification des identifiants d’arrêt

Les arrêts sont un cas particulier et donneront lieu à une codification spécifique. La forme actuellement envisagéee étant [Code PAYS]:[Code commune INSEE]:[Type d’objet]:[Code arrêt spécifique]:[Code émetteur du code technique ou LOC], on aura donc :

  • [Code PAYS]: Identifiant du Pays en respectant la norme ISO 3166-1 (voir: www.iso.org/iso/country_codes/iso_3166_code_lists.htm, FR pour la France ).

  • [Code commune INSEE]: 5 caractères (exemple : 78297 pour Guyancourt), 2 caractères pour le département et 3 pour la commune elle-même en France métropolitaine et 3 2 caractères pour le département et 2 pour la commune elle-même pour l’outre-mer.
    Ce code commune pourra, de façon optionnelle, être complété par le numéro d’arrondissement de commune précédé d’un «-» (tiret, ASCII code 45) codé sur un ou deux caractères numériques.
    En cas de mise à jour du code commune par l’INSEE, par souci de pérennité de l’identifiant, on conservera le code attribué initialement (pas de suivi d’un éventuel changement de codification INSEE donc).

  • [Type d’objet]: ZE (ZONE D’EMBARQUEMENT), LMO(LIEU D’ARRET MONOMODAL), PM (POLE MONOMODAL), LMU(LIEU D’ARRET MUTIMODAL), AC (ACCES)

  • [Code arrêt spécifique]: code technique libre

  • [Code émetteur du code technique ou LOC] : Identifiant de l’attributeur de code technique centralisé s’il y en a un et LOC sinon. Ci-dessous quelques pistes pour identifier l’attributaire

    • Si c’est une région : code NUTS (https://eur-lex.europa.eu/eli/reg/2003/1059/2018-01-18) sans le FR, précédé de NUTS (NUTS714 pour Isère par exemple)

    • Si c’est une AOT : code NAO de la norme NF-9950 précédé de NAO (NAO17 pour Blefort par exemple)

    • Si un attributeur national est national est créé, il prendra le code FR

    • si le code technique est attribué par le système local : code LOC (comme pour le profil SIRI) . Note : une code LOC est a considérer comme à priori temporaire, en attente de la mise en place d’un système centralisé d’attribution des identifiants

    • pour le mode ferré, le code sera ERA (pour European Rail Agency) pour les identifiant issue de la STI-TAP (à priori les codes UIC ne seront pas utilisés, mais si c’était le cas, le code serait UIC).

Examples :

  • Gare ferré “PARIS MONTPARNASSE 1 2” : FR:75114:LMO:39100:ERA
  • Arrêt de bus sur la commune de Guyancourt, attribué par un système transporteur : FR:78297:ZE:110E8400-E29B-11D4-A716-446655440000:LOC
  • Station de métro parisienne, avec identifiant STIF (REFLEX) : FR:75105:LMO:43289:NUTS10

Encore une fois si l’arrêt a déjà été identifié dans le cadre d’un échange et que l’identifiant utilisé et unique au niveau national et pérenne, on conservera naturellement son identifiant et la codification ci-dessus ne s’applique plus.

TypeOfFrame : types spécifiques

Le présent profil utilise un TypeOfFrame spécifique, identifié NETEX_COMMUN, NETEX_ARRET, NETEX_RESEAU, NETEX_HORAIRE, NETEX_CALENDRIER, NETEX_TARIF. Il apparaitra systématiquement et explicitement dans les éléments members du GeneralFrame.

Le présent document ne présente que les TypeOfFrame NETEX_COMMUN et NETEX_CALENDRIER. Les autres seront présentés par les documents spécifiques de chacun des profils.

Dans la majorité des cas on aura besoin de plusieurs CADREs DE VERSION pour un échange complet (par exemple NETEX_COMMUN et NETEX_ARRET): on utilisera donc un CompositeFrame pour les grouper au sein d’un unique échange.

Trois types spécifiques sont attribués à ces CompositeFrame:

  • NETEX_FRANCE peut contenir n’importe quelle autres Frames et n’importe quel jeu de données

  • NETEX_LIGNE contient des GeneralFrame de type *NETEX_COMMUN, NETEX_RESEAU, NETEX_HORAIRE et **NETEX_CALENDRIER ***permettant la description complète d’une unique ligne (une et une seule, avec toutes les informations nécessaires à l’information voyageur). Le champ Name des CompositeFrame de type NETEX_LIGNE contient le nom de la ligne.

  • NETEX_N_LIGNES contient des GeneralFrame de type *NETEX_COMMUN, NETEX_RESEAU, NETEX_HORAIRE et **NETEX_CALENDRIER ***permettant la description complète d’un ensemble de lignes (toutes les informations nécessaires à l’information voyageur pour les lignes concernées). Le champ Name des CompositeFrame de type NETEX_N_LIGNE contient le nom des lignes concernées, séparés par des virgules.

TypeOfFrame pour NETEX_COMMUN et NETEX_CALENDRIER – Element (objet inclus)
Classifi­cationNomTypeDescription
::>::>TypeOfValueDataManagedObject::>

TYPE OF FRAME hérite de TYPE OF VALUE.

L'Id est imposé à NETEX_COMMUN ou NETEX_CALENDRIER

«cntd»classesClassInContextRef0:*

Liste des classes pouvant être contenues dans ce TYPE OF FRAME.

La liste est fixe pour NETEX_COMMUN:

  • VALIDITY CONDITION (AVAILABILITY CONDITION et VALIDITY TRIGGER)

  • ALTERNATIVE NAME

  • NOTICE

  • NOTICE ASSIGNMENT

  • RESPONSIBILITY ROLE ASSIGNMENT

  • ORGANISATION

  • POINT PROJECTION

  • ZONE PROJECTION

  • TYPE OF FRAME

  • TYPE OF VALUE spécifiques

La liste est fixe pour NETEX_CALENDRIER:

  • DAY TYPE

  • OPERATING DAY

  • SERVICE CALENDAR

  • DAY TYPE ASSIGNMENT

TypeOfFrame pour NETEX_FRANCE, NETEX_LIGNE et NETEX_N_LIGNES – Element (objet inclus)
Classifi­cationNomTypeDescription
::>::>TypeOfValueDataManagedObject::>

TYPE OF FRAME hérite de TYPE OF VALUE.

L'Id est imposé à NETEX_FRANCE, NETEX_LIGNE ou NETEX_N_LIGNES

FKtypesOfFrameTypeOfFrameRef0:*

TYPES OF FRAME contenu dans ce TYPE OF FRAME. Ne dois pas être récursif.

On trouve ici les TYPES OF FRAME autorisés au sein de la CompositeFrame NETEX_FRANCE, à savoir:

  • NETEX_COMMUN,

  • NETEX_ARRET,

  • NETEX_RESEAU,

  • NETEX_HORAIRE,

  • NETEX_CALENDRIER,

  • NETEX_TARIF

TypeOfValue (pour le TypeOfFrame) – Element (objet inclus)
Classifi­cationNomTypeDescription
::>::>DataManagedObject::>

TYPE OF VALUE hérite de DATA MANAGED OBJECT.

L’attribut version portera la version du profil.

L'Identifiant du TYPE OF VALUE est imposé à NETEX_COMMUN ou NETEX_CALENDRIER ou NETEX_FRANCE, NETEX_LIGNE ou NETEX_N_LIGNES

NameMultilingualString1:1

Nom du TYPE OF VALUE.

Imposé à « NETEX_COMMUN», « NETEX_CALENDRIER» ou « NETEX_FRANCE», «NETEX_LIGNE» ou «NETEX_N_LIGNES»

DescriptionMultilingualString1:1

Description du TYPE OF VALUE.

Imposé à « Profil d’échange français NETEX_COMMUN», « Profil d’échange français NETEX_CALENDRIER». Ou « Profil d’échange français «NETEX_FRANCE», «NETEX_LIGNE» ou «NETEX_N_LIGNES».

Version des objets et références

NeTEx porpose naturellement une possibilité de gestion des versions des objets (voir EntityInVersion et tous les attributs associés) et met aussi met en place un mécanisme de contrôle d’unicité des identifiants relativement sophistiqué. Il est basé sur l’utilisation de la contrainte xsd:key (http://www.w3schools.com/schema/el_key.asp) qui permettra aussi, par la suite, de gérer les contraintes de référence vers les objets.

La contrainte d’unicité des identifiants permet de vérifier qu’au sein d’un jeu de données, on n’a pas deux objets portant le même identifiant ET la même version (pour deux objets de même type ou de types différents). Cette vérification d’unicité impose qu’un attribut version soit présent (dans le cas contraire une erreur sera signalée): si l’on ne dispose pas de versionnage des objets, il suffira d’indiquer version=“any"(par convention).

Rappelons que la codification des identifiants est imposée par le profil.

De façon à systématiquement activer ce contrôle de cohérence, le profil rend obligatoire de toujours mettre une version associée aux identifiants, en offrant toutefois la convention d’utilisation du “any” si la version est indéfinie ou indifférente. De même, dans un souci de qualité des données, il est obligatoire de faire figurer l’indication de version dans toutes les références (éventuellement positionné à “any") et ce pour tous les objets figurant dans le même document XML.

Pour les objets externes (c’est-à-dire ne figurant pas dans le même document XML, ou étant définis dans un référentiel), il reste utile de préciser le numéro de version. Si l’on précise un attribut de version, la vérification produit une erreur car, par définition, un objet externe ne sera pas présent dans le jeu de données. Pour pallier cette difficulté, NeTEx permet de précise le numéro de version en utilisant l’attribut versionRef (et non plus version) comme indiqué dans l’exemple ci-dessous:

<TypeOfFrameRef ref="FR:TypeOfFrame:NETEX_COMMUN" versionREf="1.01:FR-NETEX_COMMUN-1.0"/>

Toutefois, contrairement aux références internes, la précision du numéro de versionRef n’est pas obligatoire pour les références externes (on pourra cependant considérer comme une bonne pratique de systématiquement la fournir en indiquant “any” quand elle n’est pas connue ou pas utile).

De plus, pour simplifier l’utilisation de données et ne pas imposer de systèmatiquement rechercher et charger l’objet référencé, le profil recommande, pour les objets externes uniquement, de faire figurer le nom (l’information portée par sa balise name quand il y en a une) en tant que contenu de la balise référence.

<StopPlaceRef ref="FR:78297:LMO:110E8400:LOC" versionRef="8.3">Le Corbusier</StopPlaceRef>

Note : l’une des conclusions des point ci-dessus est que toute référence ne portant pas l’attribut version correspond forcément à une référence vers un objet externe.

VersionOfObjectRef (abstrait)
Classifi­cationNomTypeDescription
NameOfRefClassNameOfClass0:1Nom de la classe d’objet référencée.
«FK»ref(ObjectIdType)+1:1Identifiant de l’objet référencé
CHOIX ENTRE DEUX OPTIONS (choice)
«FK»versionVersionIdType0:1

Version de l’objet référencé dans le jeu de données courant.

Doit systématiquement être instancié pour un objet présent dans le jeu de donnée (mettre « any » si la version n’est pas connue).

«FK»versionRefVersionRef0:1

Version de l’objet référencé dans un jeu de données externe.

Mettre « any » si la version n’est pas connue.

Version du profil

Dans le temps, il pourra exister plusieurs versions des profils qui s’appuieront éventuellement sur différentes versions de NeTEx (en fonction des évolutions à venir).

Une compatibilité ascendante est assurée entre les versions de NeTEx et devra aussi l’être entre les versions de profils.

Il n’y a par contre aucune garantie de compatibilité “descendante” : on peut assurer qu’un client de version antérieure puisse toujours s’adresser à un serveur de version postérieure, mais l’inverse ne peut être réalisé. En effet, un producteur de donnée compatible avec la version 1.0 (par exemple) du profil ne peut pas avoir été développé en prenant en compte les évolutions d’une future version 2.0 (ou plus), puisque chaque nouvelle version s’accompagne généralement de fonctionnalités additionnelles. Si un producteur peut tenir compte des versions passées, il ne peut anticiper les versions à venir.

Afin d’assurer cette compatibilité ascendante, le profil NeTEx intègre un mécanisme de gestion de version qui a plusieurs objectifs:

  • Permettre à un producteur de données de savoir suivant quel profil il doit répondre à une requête client (cas d’appel par Web service) en supportant plusieurs versions ou en redirigeant les requêtes et donc sans contraindre tous les clients à changer de version en même temps que lui ;

  • Permettre à un producteur de données de signaler à un client qu’il ne supporte pas la version demandée (plutôt que de lui répondre avec une erreur) ;

  • Permettre à un client de gérer les réponses d’un serveur d’une version antérieure.

Le principe de gestion de version est simple : il s’appuie sur les identifiants de version du CADRE DE VERSION spécifique utilisé par le profil.

La codification de la version de profil se fait de la façon suivante : .x.y:FR-NETEX_nnnn-a.b-c. Par exemple :

  • 1.0:FR-NETEX_ARRET-1.0
  • 1.1:FR-NETEX_ARRET-1.2-4
  1. x.y étant la version de NeTEx (obligatoire): il s’agit ici du numero de version XSD (et WSDL) NeTEx

  2. : est un délimiteur obligatoire

  3. FR le digramme de la France (ISO 3166-1 alpha-2) (obligatoire)

  4. NETEX_nnnnn permet d’identifier le profil (obligatoire), nnnn valant “FRANCE”, “COMMUN”, “ARRET”, “LIGNE”, “RESEAU”, “HORAIRE”, “CALENDRIER” ou “TARIF”.

  5. - est un délimiteur obligatoire

  6. a.b est la version du profil (obligatoire). a et b sont des chiffres entiers.

  7. - est un délimiteur facultatif (doit être omis si ni c ni d ne sont présents, obligatoire sinon)

  8. c est le numéro de version de l’implémentation locale. c est constitué de chiffres et de “.” uniquement

Les principales règles d’utilisation des versions sont les suivantes. Soit deux versions de profil N et N+ (N+ étant une version postérieure à N).

  • Un client en version N ne peut recevoir des données que d’un producteur version N+ (N ou supérieur). Le serveur N+ peut alors :

    • (solution non recommandée) Indiquer qu’il ne supporte pas cette version en utilisant le code d’erreur CapabilityNotSupportedError (voir 8.2) en précisant dans le champ CapabilityRef le numéro de version qui a été demandé (donc N ici)

    • adapter sa réponse pour la rendre conforme à la version N

    • Transférer la requête à un serveur en version N (le “transfert” peut, techniquement, être réalisé de différentes façons, comme l’URL Forwarding, mais ceci relève du choix d’implémentation technique).

  • Un client N+ ne peut pas s’adresser à un producteur version N en demandant la version N+ (le serveur ne supportant pas cette version N+). Si toutefois cela se produisait et que le serveur soit en mesure de décoder la requête sans générer d’erreur, il est recommandé de répondre qu’il ne supporte pas cette version en utilisant le code d’erreur CapabilityNotSupportedError en précisant dans le champ CapabilityRef le numéro de version qui a été demandé (donc N+ ici)

  • Un client N+ peut s’adresser à un serveur N en demandant la version N. La réponse lui est alors retournée en version N.

NOTE Cette gestion de version n’est en rien incompatible avec l’insertion d’un numéro de version dans l’URL d’accès au service (avec éventuellement plusieurs URL si plusieurs versions sont disponibles). Ce type de gestion des versions à travers les URL est à négocier entre les partenaires impliqués dans l’échange.

Modalités d’échange

Deux grandes typologies d’échange peuvent être envisagées : par échange de fichier (sous quelque forme que ce soit : FTP, mail, etc.) ou au travers de web service.

Fichier

L’échange par fichier est assez simple : le fichier est un fichier XML classique qui ne contiendra qu’un seul élément racine : PublicationDelivery (voir 7.1).

Le fichier XSD de plus haut niveau à utiliser est NeTEx_publication.xsd.

Web service

Partage des principes avec SIRI

L’accès au travers de Web Service est proposé par NeTEx. La structure de ce Web Service est identique à celle proposée par la norme SIRI. Il conviendra donc de se référer à la documentation SIRI (partie 2) pour disposer d’une description détaillée de ce mode d’accès : le présent chapitre ne traite que des éléments spécifiques à NeTEx et leur personnalisation dans le cadre des profils de NeTEx.

De plus SIRI dispose déjà d’un profil (élaboré à l’origine par le STIF et devenu profil national). Sauf précision contraire, l’ensemble des éléments techniques du profil SIRI sont repris dans les profils NeTEx, en particuler :

  • la supervision des connexions avec CheckStatus (chapitre - Vérification de la disponibilité des partenaires du profil SIRI version France)

  • la gestion des erreurs (chapitre - Gestion des erreurs du profil SIRI France)

  • la gestion de la sécurité et des communications (voir profil SIRI France)

Toutefois l’utilisation du mécanisme d’abonnement n’est pas retenue dans le cadre des profils NeTEx (ce mécanisme ne prend tout son intérêt que dans un contexte de forte variabilité de l’information, ce qui n’est pas le cas pour les arrêts, le réseau et les horaires planifiés).

La figure ci-dessous présente le Web Service SOAP de NeTEx. Seuls les points d’accès GetNetex et CheckStatus sont retenus dans la cadre des profils NeTEx.

image Web service SOAP de NeTEx

Requête

La figure ci-dessous présente le point d’accès GetNetexService qui permet de solliciter n’importe quel service NeTEx (à ce titre il permet aussi la sollicitation du CheckStatus, mais dans le cadre des profils NeTEx et afin d’être cohérent avec le profil SIRI, le CheckStatus sera sollicité à partir de l’accès direct proposé dans la WSDL. Seule la partie ServiceRequest est donc retenue pour le profil.

image GetNeTexService - XSD

SIRI/NeTEx ServiceRequest — Attributes
Classifi­cationNomTypeDescription
ServiceRequestContext0:1+StructurePropriétés générales de la requête.
logRequestTimestamp1:1xsd:dateTimeDatation de la requête
End­point Prop­ertiesAddress0:1Endpoint­AddressAdresse à laquelle la réponse doit être retournée (retour à RequestorRef si non précisé).
RequestorRef1:1Participant­CodeIdentifiant du demandeur
MessageIdentifier

0:1

1 :1

Message­Qualifier

Identifiant unique de la requête de souscription (utilisé dans la réponse).

Comme pour le profil SIRI, ce champ est obligatoire dans le cadre du profil NeTEx

Payl­oadAbstractFunctionalServiceRequest1:*+StructureLa ou les requête(s) elles-même

La partie Payload est de type AbstractFunctionalServiceRequest : dans le cas de NeTEx et du présent profil, un mécanisme XML de “substitution group” permettra d’utiliser un DataObjectRequestStructure (décrit plus bas) en tant que Payload.

La structure ServiceRequestContext est strictement compatible avec celle du profil SIRI (la seule différence étant que le mode abonnement n’est pas pris en charge).

ServiceRequestContext (issu du profil SIRI)
ServiceRequestContext+StructurePropriétés générales des requêtes.
Server Endpoint AddressCheckStatusAddress0:1Endpoint­AddressAdresse (URL) de destination du CheckStatus.
Client End­point AddressStatusResponseAddress0:1Endpoint­AddressAdresse (URL) de destination des réponses aux CheckStatus.
ConsumerAddress0:1Endpoint­AddressAdresse (URL) de destination des données.
LocationaWgsDecimalDegrees0:1EmptyTypeLes coordonnées géospatiales sont exprimées en latitude et longitude WGS84, en degrés décimaux d'arc.
bGmlCoordinateFormatsrsNameType

Nom du référentiel (GML) de localisation utilisé

Les deux formats (WGS 84 systèmatique et générique GML) sont autorisés. (note : il existe de nombreux outils libres permettant de convertir les coordonnées d’un référentiel à l’autre).

Temporal SpanDataHorizon0:1Positive­Duration­TypeDurée maximale de l’horizon de données des requêtes.
RequestTimeout0:1Positive­Duration­TypeDélai à partir duquel on peut considérer qu’une requête ne sera plus traitée (par défaut 1 minute).
Delivery MethodDeliveryMethod0:1fetch | direct

Delivery pattern

Abonnement à une phase (voir en début de document) uniquement : donc direct.

MultipartDespatch0:1xsd:booleanAutorisation de segmentation des messages : Non dans le profil.
ConfirmReceipt0:1xsd:booleanConfirmation des réceptions: Non dans le profil.

La requête à proprement parler est décrite ci-dessous. Elle est essentiellement constituée d’un NetworkFrameTopic (la requête) et d’une Policy (règles à appliquer pour la contraction de la réponse).

image DataObjectRequest- XSD

NetworkFrameTopic – Element
Classifi­cationNomTypeDescription
TopicGroupsourcesDataSource0:*Ce filtre permet de limiter la réponse à des données produites par une ou plusieurs sources de données spécifiées.
Object Request TopicTopic Temporal Scope (choice)CurrentEmptyType1:1 (inside a choice)Ce filtre permet de ne demander que la version courante des données (excluant donc les anciennes ou futures versions).
ChangedSincedateTime1:1 (inside a choice)Permet de demander l’ensemble des données qui ont été modifiées depuis une date donnée.
CurrentAtdateTime1:1 (inside a choice)Ce filtre permet de ne demander que la version des données dans l’état où elles étaient à une date donnée.
TypeOfFrameRefTypeOfFrame­RefStructure0:1

Permet de ne consulter que les données d’un type de cadre de version spécifique.

S’il est utilisé, ce champ ne peut valoir que NETEX_COMMUN, NETEX_ARRET, NETEX_RESEAU, NETEX_HORAIRE, NETEX_CALENDRIER, NETEX_TARIF, NETEX_FRANCE (correspondant à tous les types de CADRE définis par les profils)

Topic Frame ScopeChoiceVersionFrameRefVersionFrame­RefStructure1:* (inside a choice)Permets de ne consulter que les données d’un cadre de version spécifique.
NetworkFilter­ByValueNetworkFilter­ByValueStructure1:1 (inside a choice)Filtres additionnels pour la sélection (voir plus bas).
NetworkFilterByValue – Element
Classifi­cationNomTypeDescription
Object By ValueBoundingBoxBoundingBoxStructure0:*Ce filtre permet de ne demander que les données à l’intérieur d’un périmètre géographique spécifié.
object­ReferencesVersionOfObjectRef0:*Permet de spécifier l’identifiant de l’objet recherché. Si l’identifiant n’est pas précisé, tous les objets de la classe correspondante sont retournés.
Network Filter By ValueNetworkRefNetworkRefStructure0:1Permets de n’obtenir que les objets d’un réseau (NETWORK) ou d’un groupe de lignes (GROUP OF LINE) spécifique.
FrameRequestPolicy – Element
Classifi­cationNomTypeDescription
AbstractRequestPolicyGroupMaximumNumberOfElementsxsd:integer0:1Nombre maximal d’objets à retourner dans la réponse.
IncludeDeletedxsd:boolean0:1Indique qu’il faut aussi transmettre les indications d’objets supprimés (arrêt qui n’est plus utilisé, etc.) dans la réponse.

Réponse

La réponse retournée est très simple : naturellement, en cohérence avec la requête, seul le ServiceDelivery de la réponse sera utilisé.

image GetNeTexServiceResponse - XSD

ServiceDelivery (issu du profil SIRI) — Attributes
ServiceDelivery+StructureRéponse du producteur au consommateur pour fournir les données utiles. Répond à une requête directe ou à un abonnement de manière asynchrone.
LogResponse­Timestamp1:1xsd:dateTimeDate et heure de production de la réponse.
End­­poi­nt prop­ert­iesResponseMessage­Identifier0:1Message­QualifierIdentifiant du message de réponse
RequestMessageRef

0:1

1:1

->Message­Qualifier

Référence de la requête.

Obligatoire, en cohérence avec le profil SIRI

Stat­usStatus

0:1

1:1

xsd:booleanIndique si la requête a pu être traitée avec succès ou non.
ErrorCondition0:1See below

Signalement d’erreur (voir le paragraphe sur la gestion des erreurs).

Voir le profil SIRI pour le détail de la gestion des erreurs. Le détail des erreurs est porté par le DataObjectDelivery décrit plus bas (voir profil SIRI chapitre Gestion des Erreurs).

PayloadConcrete SIRI Service:
aDataObject­Delivery0:*+StructureCorps de la réponse (voir DataObjectDelivery ci-dessous).

image ServiceDelivery - XSD

DataObjectDelivery (issu du profil SIRI) — Attributes
DataObjectDelivery+StructureQualificateur des réponses.
LogResponseTimestamp0:1xsd:dateTimeDate de création de ce statut de réponse.
ChoiceRequestMessageRef

0:1

1:1

Message­QualifierRéférence de la requête.
Pay­loadStatus

0:1

1:1

xsd:booleanIndique si la requête a été traitée normalement ou pas.
Error­Condition0:1+StructureSignalement d’erreur (voir profil SIRI, chapitre Gestion des Erreurs).
InfoValidUntil0:1xsd:dateTimeDate de validité maximale de la réponse.
ShortestPossibleCycle0:1Positive­Duration­TypeIntervalle minimal de mise à jour de la donnée.
dataObjects0:*VersionFrameDonnées échangées dans un contexte de CADRE DE VERSION (voir 7.1).

image GetNeTexServiceResponse - XSD