diff options
| author | Marc Florisson | 2013-01-03 17:30:15 +0100 |
|---|---|---|
| committer | Marc Florisson | 2013-01-03 17:30:15 +0100 |
| commit | e75205a04d6f915bc7f2fdbe66ac2d10e1334e46 (patch) | |
| tree | a525fc9b4ac3256f35fed5ce4a72eb891de1d142 | |
| parent | 32e6dcf8c87184f73e3010e32bc76b558a92d5ed (diff) | |
| download | chouette-core-e75205a04d6f915bc7f2fdbe66ac2d10e1334e46.tar.bz2 | |
fix api v1
| -rw-r--r-- | app/views/api/v1/companies/short_description.rabl | 6 | ||||
| -rw-r--r-- | app/views/api/v1/companies/show.rabl | 5 | ||||
| -rw-r--r-- | app/views/api/v1/connection_links/show.rabl | 21 | ||||
| -rw-r--r-- | app/views/api/v1/journey_patterns/short_description.rabl | 6 | ||||
| -rw-r--r-- | app/views/api/v1/journey_patterns/show.rabl | 31 | ||||
| -rw-r--r-- | app/views/api/v1/lines/short_description.rabl | 6 | ||||
| -rw-r--r-- | app/views/api/v1/lines/show.rabl | 18 | ||||
| -rw-r--r-- | app/views/api/v1/networks/short_description.rabl | 6 | ||||
| -rw-r--r-- | app/views/api/v1/networks/show.rabl | 7 | ||||
| -rw-r--r-- | app/views/api/v1/routes/short_description.rabl | 7 | ||||
| -rw-r--r-- | app/views/api/v1/routes/show.rabl | 37 | ||||
| -rw-r--r-- | app/views/api/v1/stop_areas/short_description.rabl | 10 | ||||
| -rw-r--r-- | app/views/api/v1/stop_areas/show.rabl | 24 | ||||
| -rw-r--r-- | app/views/api/v1/time_tables/show.rabl | 18 | ||||
| -rw-r--r-- | app/views/api/v1/trident_objects/short_description.rabl | 3 | ||||
| -rw-r--r-- | app/views/api/v1/trident_objects/show.rabl | 5 | ||||
| -rw-r--r-- | app/views/api/v1/vehicle_journeys/show.rabl | 36 | ||||
| -rw-r--r-- | doc/interfaces/api_rest_v1.xsd | 937 |
18 files changed, 1101 insertions, 82 deletions
diff --git a/app/views/api/v1/companies/short_description.rabl b/app/views/api/v1/companies/short_description.rabl new file mode 100644 index 000000000..4382f1f2e --- /dev/null +++ b/app/views/api/v1/companies/short_description.rabl @@ -0,0 +1,6 @@ +object @company +extends "api/v1/trident_objects/short_description" + +[ :name, :short_name, :registration_number].each do |attr| + attributes attr, :unless => lambda { |m| m.send( attr).nil?} +end diff --git a/app/views/api/v1/companies/show.rabl b/app/views/api/v1/companies/show.rabl index b7234081c..b2b064c54 100644 --- a/app/views/api/v1/companies/show.rabl +++ b/app/views/api/v1/companies/show.rabl @@ -1,5 +1,6 @@ object @company extends "api/v1/trident_objects/show" -attributes :name, :short_name, :organizational_unit, :operating_department_name -attributes :code, :phone, :fax, :email, :registration_number +[ :name, :short_name, :organizational_unit, :operating_department_name, :code, :phone, :fax, :email, :registration_number].each do |attr| + attributes attr, :unless => lambda { |m| m.send( attr).nil?} +end diff --git a/app/views/api/v1/connection_links/show.rabl b/app/views/api/v1/connection_links/show.rabl index ad3fae7dd..ce3410f83 100644 --- a/app/views/api/v1/connection_links/show.rabl +++ b/app/views/api/v1/connection_links/show.rabl @@ -1,13 +1,16 @@ object @connection_link extends "api/v1/trident_objects/show" -attributes :connection_link_type, :name, :comment -attributes :link_distance, :link_type, :default_duration, :frequent_traveller_duration, :occasional_traveller_duration -attributes :mobility_restricted_traveller_duration, :mobility_restricted_suitability, :stairs_availability, :lift_availability, :int_user_needs +[ :name, :link_distance, :link_type, :default_duration, + :frequent_traveller_duration, :occasional_traveller_duration, :mobility_restricted_traveller_duration, + :mobility_restricted_suitability, :stairs_availability, :lift_availability, :comment].each do |attr| + attributes attr, :unless => lambda { |m| m.send( attr).nil?} +end -child :departure => :departure do - attributes :objectid, :name, :area_type, :longitude, :latitude, :long_lat_type -end -child :arrival => :arrival do - attributes :objectid, :name, :area_type, :longitude, :latitude, :long_lat_type -end +node :start_of_link_short_description do |connection| + partial("api/v1/stop_areas/short_description", :object => connection.departure) unless connection.departure.nil? +end + +node :end_of_link_short_description do |connection| + partial("api/v1/stop_areas/short_description", :object => connection.arrival) unless connection.arrival.nil? +end diff --git a/app/views/api/v1/journey_patterns/short_description.rabl b/app/views/api/v1/journey_patterns/short_description.rabl new file mode 100644 index 000000000..5932f85f7 --- /dev/null +++ b/app/views/api/v1/journey_patterns/short_description.rabl @@ -0,0 +1,6 @@ +object @journey_pattern +extends "api/v1/trident_objects/short_description" + +[ :name, :published_name, :registration_number].each do |attr| + attributes attr, :unless => lambda { |m| m.send( attr).nil?} +end diff --git a/app/views/api/v1/journey_patterns/show.rabl b/app/views/api/v1/journey_patterns/show.rabl index 60eed951c..882660360 100644 --- a/app/views/api/v1/journey_patterns/show.rabl +++ b/app/views/api/v1/journey_patterns/show.rabl @@ -1,22 +1,21 @@ object @journey_pattern extends "api/v1/trident_objects/show" -attributes :name, :comment, :registration_number -attributes :published_name - -child :route do - attributes :objectid, :name, :published_name, :number, :direction, :wayback -end -child :vehicle_journeys do |vj| - attributes :objectid +[:name, :published_name, :registration_number, :comment].each do |attr| + attributes attr, :unless => lambda { |m| m.send( attr).nil?} end -child :stop_points => :stop_areas do |stop_point| - node(:stop_area) do |n| - { :objectid => n.stop_area.objectid, :name => n.stop_area.name, - :parent => n.stop_area.parent.objectid, - :area_type => n.stop_area.area_type, - :longitude => n.stop_area.longitude, :latitude => n.stop_area.latitude, - :long_lat_type => n.stop_area.long_lat_type} - end + +node(:route_short_description) do |journey_pattern| + partial("api/v1/routes/short_description", :object => journey_pattern.route) end +node(:vehicle_journey_object_ids) do |journey_pattern| + journey_pattern.vehicle_journeys.map(&:objectid) +end unless root_object.vehicle_journeys.empty? + +child :stop_points => :stop_area_short_descriptions do |stop_points| + node do |stop_point| + partial("api/v1/stop_areas/short_description", :object => stop_point.stop_area) + end +end unless root_object.stop_points.empty? + diff --git a/app/views/api/v1/lines/short_description.rabl b/app/views/api/v1/lines/short_description.rabl new file mode 100644 index 000000000..7d42e4584 --- /dev/null +++ b/app/views/api/v1/lines/short_description.rabl @@ -0,0 +1,6 @@ +object @line +extends "api/v1/trident_objects/short_description" + +[ :name, :published_name, :number, :registration_number].each do |attr| + attributes attr, :unless => lambda { |m| m.send( attr).nil?} +end diff --git a/app/views/api/v1/lines/show.rabl b/app/views/api/v1/lines/show.rabl index 9c36d13b1..dcd497aa5 100644 --- a/app/views/api/v1/lines/show.rabl +++ b/app/views/api/v1/lines/show.rabl @@ -1,12 +1,14 @@ object @line extends "api/v1/trident_objects/show" -attributes :name, :number, :published_name, :transport_mode_name -attributes :registration_number, :comment, :mobility_restricted_suitability, :int_user_needs - -child :network do - attributes :objectid, :name, :description, :registration_number +[ :name, :number, :published_name, :transport_mode_name, :registration_number, :comment, :mobility_restricted_suitability].each do |attr| + attributes attr, :unless => lambda { |m| m.send( attr).nil?} end -child :company do - attributes :objectid, :name, :short_name, :registration_number -end +node :network_short_description do |line| + partial("api/v1/networks/short_description", :object => line.network) +end unless root_object.network.nil? + +node :company_short_description do |line| + partial("api/v1/companies/short_description", :object => line.company) +end unless root_object.company.nil? + diff --git a/app/views/api/v1/networks/short_description.rabl b/app/views/api/v1/networks/short_description.rabl new file mode 100644 index 000000000..9dc458064 --- /dev/null +++ b/app/views/api/v1/networks/short_description.rabl @@ -0,0 +1,6 @@ +object @network +extends "api/v1/trident_objects/short_description" + +[ :name, :description, :registration_number].each do |attr| + attributes attr, :unless => lambda { |m| m.send( attr).nil?} +end diff --git a/app/views/api/v1/networks/show.rabl b/app/views/api/v1/networks/show.rabl index 7869ef7ec..ae5915da2 100644 --- a/app/views/api/v1/networks/show.rabl +++ b/app/views/api/v1/networks/show.rabl @@ -1,4 +1,7 @@ object @network extends "api/v1/trident_objects/show" -attributes :version_date, :description, :name, :registration_number, :source_name -attributes :source_type, :source_identifier, :comment + +[ :version_date, :description, :name, :registration_number, :source_name, + :source_type, :source_identifier, :comment].each do |attr| + attributes attr, :unless => lambda { |m| m.send( attr).nil?} +end diff --git a/app/views/api/v1/routes/short_description.rabl b/app/views/api/v1/routes/short_description.rabl new file mode 100644 index 000000000..ae149167d --- /dev/null +++ b/app/views/api/v1/routes/short_description.rabl @@ -0,0 +1,7 @@ +object @route +extends "api/v1/trident_objects/short_description" + +[ :name, :published_name, :number, :direction, :wayback].each do |attr| + attributes attr, :unless => lambda { |m| m.send( attr).nil?} +end + diff --git a/app/views/api/v1/routes/show.rabl b/app/views/api/v1/routes/show.rabl index 2e481432d..e3a7fdffa 100644 --- a/app/views/api/v1/routes/show.rabl +++ b/app/views/api/v1/routes/show.rabl @@ -1,24 +1,29 @@ object @route extends "api/v1/trident_objects/show" -attributes :direction_code, :wayback_code, :name -attributes :comment, :opposite_route_id, :published_name, :number, :direction, :wayback - -child :line do - attributes :objectid, :name, :published_name, :number, :registration_number +[:name, :published_name, :number, :direction].each do |attr| + attributes attr, :unless => lambda { |m| m.send( attr).nil?} end +attributes :opposite_route_id => :way_back_route_id, :unless => lambda { |m| m.opposite_route_id.nil?} +attributes :comment, :unless => lambda { |m| m.comment.nil?} +attributes :wayback => :way_back, :unless => lambda { |m| m.wayback.nil?} -child :journey_patterns do |journey_pattern| - attributes :objectid, :name, :published_name, :registration_number +node :line_short_description do |route| + partial("api/v1/lines/short_description", :object => route.line) end -child :vehicle_journeys do |vj| - attributes :objectid -end +child :journey_patterns => :journey_pattern_short_descriptions do |journey_patterns| + node do |journey| + partial("api/v1/journey_patterns/short_description", :object => journey) + end +end unless root_object.journey_patterns.empty? -child :stop_areas do |stop_area| - attributes :objectid, :name, :area_type, :longitude, :latitude, :long_lat_type - glue stop_area.parent do - attributes :objectid => :parent - end -end +node(:vehicle_journey_object_ids) do |route| + route.vehicle_journeys.map(&:objectid) +end unless root_object.vehicle_journeys.empty? + +child :stop_areas => :stop_area_short_descriptions do |stop_areas| + node do |stop_area| + partial("api/v1/stop_areas/short_description", :object => stop_area) + end +end unless root_object.stop_areas.empty? diff --git a/app/views/api/v1/stop_areas/short_description.rabl b/app/views/api/v1/stop_areas/short_description.rabl new file mode 100644 index 000000000..73627c5a1 --- /dev/null +++ b/app/views/api/v1/stop_areas/short_description.rabl @@ -0,0 +1,10 @@ +object @stop_area +extends "api/v1/trident_objects/short_description" + +[ :name, :area_type, :longitude, :latitude, :long_lat_type].each do |attr| + attributes attr, :unless => lambda { |m| m.send( attr).nil?} +end +node(:parent_object_id) do |stop_area| + stop_area.parent.objectid +end unless root_object.parent.nil? + diff --git a/app/views/api/v1/stop_areas/show.rabl b/app/views/api/v1/stop_areas/show.rabl index db0f628bb..976d96342 100644 --- a/app/views/api/v1/stop_areas/show.rabl +++ b/app/views/api/v1/stop_areas/show.rabl @@ -1,11 +1,21 @@ object @stop_area extends "api/v1/trident_objects/show" -attributes :routing_stop_ids, :routing_line_ids -attributes :name, :comment, :area_type, :registration_number -attributes :nearest_topic_name, :fare_code, :longitude, :latitude, :long_lat_type, :x, :y, :projection_type -attributes :country_code, :street_name - -child :parent => :parent do - attributes :objectid, :name, :area_type, :longitude, :latitude, :long_lat_type +[ :name, :area_type,:nearest_topic_name, :fare_code, :registration_number, + :longitude, :latitude, :long_lat_type, + :country_code, :street_name, :x, :y, :projection_type, :comment +].each do |attr| + attributes attr, :unless => lambda { |m| m.send( attr).nil?} end + +node(:routing_stop_area_object_ids) do |stop_area| + stop_area.routing_stops.map(&:objectid) +end unless root_object.routing_stops.empty? + +node(:routing_line_object_ids) do |stop_area| + stop_area.routing_lines.map(&:objectid) +end unless root_object.routing_lines.empty? + +node :parent do |stop_area| + partial("api/v1/stop_areas/short_description", :object => stop_area.parent) +end unless root_object.parent.nil? diff --git a/app/views/api/v1/time_tables/show.rabl b/app/views/api/v1/time_tables/show.rabl index 90c5bc12c..ae1e6e180 100644 --- a/app/views/api/v1/time_tables/show.rabl +++ b/app/views/api/v1/time_tables/show.rabl @@ -1,14 +1,18 @@ object @time_table extends "api/v1/trident_objects/show" -attributes :version, :comment -attributes :monday,:tuesday,:wednesday,:thursday,:friday,:saturday,:sunday - -child :dates => :dates do |date| - attributes :date, :position +[ :version, :comment].each do |attr| + attributes attr, :unless => lambda { |m| m.send( attr).nil?} end -child :periods => :periods do |period| - attributes :period_start, :period_end +node(:dates) do |time_table| + time_table.dates.map(&:date) +end unless root_object.dates.empty? + +unless root_object.periods.empty? + attributes :monday,:tuesday,:wednesday,:thursday,:friday,:saturday,:sunday + child :periods => :periods do |period| + attributes :period_start, :period_end + end end diff --git a/app/views/api/v1/trident_objects/short_description.rabl b/app/views/api/v1/trident_objects/short_description.rabl new file mode 100644 index 000000000..09f829850 --- /dev/null +++ b/app/views/api/v1/trident_objects/short_description.rabl @@ -0,0 +1,3 @@ +attributes :objectid => :object_id +attributes :object_version + diff --git a/app/views/api/v1/trident_objects/show.rabl b/app/views/api/v1/trident_objects/show.rabl index 4f28ac822..7d58d9a55 100644 --- a/app/views/api/v1/trident_objects/show.rabl +++ b/app/views/api/v1/trident_objects/show.rabl @@ -1,2 +1,5 @@ -attributes :objectid, :object_version, :creation_time, :creator_id +attributes :objectid => :object_id +[ :object_version, :creation_time, :creator_id].each do |attr| + attributes attr, :unless => lambda { |m| m.send( attr).nil?} +end diff --git a/app/views/api/v1/vehicle_journeys/show.rabl b/app/views/api/v1/vehicle_journeys/show.rabl index 488fb4766..e7288fffb 100644 --- a/app/views/api/v1/vehicle_journeys/show.rabl +++ b/app/views/api/v1/vehicle_journeys/show.rabl @@ -1,24 +1,32 @@ object @vehicle_journey extends "api/v1/trident_objects/show" -attributes :comment, :status_value -attributes :transport_mode, :published_journey_name, :published_journey_identifier, :facility, :vehicle_type_identifier, :number - -child :route do - attributes :objectid, :name, :published_name, :number, :direction, :wayback -end +[ :published_journey_name, :published_journey_identifier, :transport_mode, :vehicle_type_identifier, :status_value, :facility, :number, :comment].each do |attr| + attributes attr, :unless => lambda { |m| m.send( attr).nil?} +end -child :journey_pattern do - attributes :objectid, :name, :published_name, :registration_number +node(:route_short_description) do |vehicle| + partial("api/v1/routes/short_description", :object => vehicle.route) end -child :time_tables do - attributes :objectid +node(:journey_pattern_short_description) do |vehicle| + partial("api/v1/routes/short_description", :object => vehicle.journey_pattern) end -child :vehicle_journey_at_stops do |vjas| - attributes :position, :connecting_service_id, :boarding_alighting_possibility, :arrival_time, :departure_time, :waiting_time, :elapse_duration, :headway_frequency - node(:stop_area) do |vjas| - {:objectid => vjas.stop_point.stop_area.objectid} +node(:time_table_object_ids) do |vehicle| + vehicle.time_tables.map(&:objectid) +end unless root_object.time_tables.empty? + +child :vehicle_journey_at_stops do |vehicle_stops| + node do |vehicle_stop| + node(:stop_area_object_id) { vehicle_stop.stop_point.stop_area.objectid } + + [ :connecting_service_id, :arrival_time, :departure_time, :waiting_time, :elapse_duration, + :headway_frequency, :boarding_alighting_possibility].each do |attr| + node( attr) do + vehicle_stop.send(attr) + end unless vehicle_stop.send(attr).nil? + end + attributes :order => vehicle_stop.position, :unless => lambda { |m| m.send( :position).nil?} end end diff --git a/doc/interfaces/api_rest_v1.xsd b/doc/interfaces/api_rest_v1.xsd new file mode 100644 index 000000000..a31f92ff3 --- /dev/null +++ b/doc/interfaces/api_rest_v1.xsd @@ -0,0 +1,937 @@ +<?xml version="1.0" encoding="UTF-8"?> +<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema" elementFormDefault="qualified" + xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" + targetNamespace="http://www.chouette.mobi/schema/api/v1" + xmlns="http://www.chouette.mobi/schema/api/v1"> + <xs:element name="Lines"> + <xs:annotation> + <xs:documentation>Conteneur de réponse pour les requêtes de sélection de lignes</xs:documentation> + </xs:annotation> + <xs:complexType> + <xs:sequence> + <xs:element maxOccurs="unbounded" minOccurs="0" ref="Line"/> + </xs:sequence> + </xs:complexType> + </xs:element> + <xs:element name="Line" type="LineType"> + <xs:annotation> + <xs:documentation>Conteneur de réponse pour les requêtes de sélection du détail d'une ligne</xs:documentation> + </xs:annotation> + </xs:element> + <xs:element name="Networks"> + <xs:annotation> + <xs:documentation>Conteneur de réponse pour les requêtes de sélection de réseaux</xs:documentation> + </xs:annotation> + <xs:complexType> + <xs:sequence> + <xs:element maxOccurs="unbounded" minOccurs="0" ref="Network"/> + </xs:sequence> + </xs:complexType> + </xs:element> + <xs:element name="Network" type="NetworkType"> + <xs:annotation> + <xs:documentation>Conteneur de réponse pour les requêtes de sélection du détail d'un réseau</xs:documentation> + </xs:annotation> + </xs:element> + <xs:element name="Companies"> + <xs:annotation> + <xs:documentation>Conteneur de réponse pour les requêtes de sélection de transporteurs</xs:documentation> + </xs:annotation> + <xs:complexType> + <xs:sequence> + <xs:element maxOccurs="unbounded" minOccurs="0" ref="Company"/> + </xs:sequence> + </xs:complexType> + </xs:element> + <xs:element name="Company" type="CompanyType"> + <xs:annotation> + <xs:documentation>Conteneur de réponse pour les requêtes de sélection du détail d'un transporteur</xs:documentation> + </xs:annotation> + </xs:element> + <xs:element name="StopAreas"> + <xs:annotation> + <xs:documentation>Conteneur de réponse pour les requêtes de sélection d'arrêts</xs:documentation> + </xs:annotation> + <xs:complexType> + <xs:sequence> + <xs:element maxOccurs="unbounded" minOccurs="0" ref="StopArea"/> + </xs:sequence> + </xs:complexType> + </xs:element> + <xs:element name="StopArea" type="StopAreaType"> + <xs:annotation> + <xs:documentation>Conteneur de réponse pour les requêtes de sélection du détail d'un arrêt</xs:documentation> + </xs:annotation> + </xs:element> + <xs:element name="ConnectionLinks"> + <xs:annotation> + <xs:documentation>Conteneur de réponse pour les requêtes de sélection de correspondances</xs:documentation> + </xs:annotation> + <xs:complexType> + <xs:sequence> + <xs:element maxOccurs="unbounded" minOccurs="0" ref="ConnectionLink"/> + </xs:sequence> + </xs:complexType> + </xs:element> + <xs:element name="ConnectionLink" type="ConnectionLinkType"> + <xs:annotation> + <xs:documentation>Conteneur de réponse pour les requêtes de sélection du détail d'une correspondance</xs:documentation> + </xs:annotation> + </xs:element> + <xs:element name="TimeTables"> + <xs:annotation> + <xs:documentation>Conteneur de réponse pour les requêtes de sélection de calendriers</xs:documentation> + </xs:annotation> + <xs:complexType> + <xs:sequence> + <xs:element maxOccurs="unbounded" minOccurs="0" ref="TimeTable"/> + </xs:sequence> + </xs:complexType> + </xs:element> + <xs:element name="TimeTable" type="TimeTableType"> + <xs:annotation> + <xs:documentation>Conteneur de réponse pour les requêtes de sélection du détail d'un calendrier</xs:documentation> + </xs:annotation> + </xs:element> + <xs:element name="Routes"> + <xs:annotation> + <xs:documentation>Conteneur de réponse pour les requêtes de sélection de séquences d'arrêts</xs:documentation> + </xs:annotation> + <xs:complexType> + <xs:sequence> + <xs:element maxOccurs="unbounded" minOccurs="0" ref="Route"/> + </xs:sequence> + </xs:complexType> + </xs:element> + <xs:element name="Route" type="RouteType"> + <xs:annotation> + <xs:documentation>Conteneur de réponse pour les requêtes de sélection du détail d'une séquence d'arrêts</xs:documentation> + </xs:annotation> + </xs:element> + <xs:element name="JourneyPatterns"> + <xs:annotation> + <xs:documentation>Conteneur de réponse pour les requêtes de sélection de missions</xs:documentation> + </xs:annotation> + <xs:complexType> + <xs:sequence> + <xs:element maxOccurs="unbounded" minOccurs="0" ref="JourneyPattern"/> + </xs:sequence> + </xs:complexType> + </xs:element> + <xs:element name="JourneyPattern" type="JourneyPatternType"> + <xs:annotation> + <xs:documentation>Conteneur de réponse pour les requêtes de sélection du détail d'une mission</xs:documentation> + </xs:annotation> + </xs:element> + <xs:element name="VehicleJourneys"> + <xs:annotation> + <xs:documentation>Conteneur de réponse pour les requêtes de sélection de courses</xs:documentation> + </xs:annotation> + <xs:complexType> + <xs:sequence> + <xs:element maxOccurs="unbounded" minOccurs="0" ref="VehicleJourney"/> + </xs:sequence> + </xs:complexType> + </xs:element> + <xs:element name="VehicleJourney" type="VehicleJourneyType"> + <xs:annotation> + <xs:documentation>Conteneur de réponse pour les requêtes de sélection du détail d'une course</xs:documentation> + </xs:annotation> + </xs:element> + <xs:complexType name="TridentObjectType"> + <xs:annotation> + <xs:documentation>Structure qui correspond au TridentObjectType NEPTUNE</xs:documentation> + </xs:annotation> + <xs:complexContent> + <xs:extension base="TridentShortDescription"> + <xs:sequence> + <xs:element minOccurs="0" name="CreationTime" type="xs:dateTime"> + <xs:annotation> + <xs:documentation>creationTime de la structure NEPTUNE associée</xs:documentation> + </xs:annotation> + </xs:element> + <xs:element minOccurs="0" name="CreatorId" type="xs:string"> + <xs:annotation> + <xs:documentation>creatorId de la structure NEPTUNE associée</xs:documentation> + </xs:annotation> + </xs:element> + </xs:sequence> + </xs:extension> + </xs:complexContent> + </xs:complexType> + <xs:complexType name="TridentShortDescription"> + <xs:annotation> + <xs:documentation>Structure qui rassemble les propriétés du TridentObjectType NEPTUNE qui servent à l'identification.</xs:documentation> + </xs:annotation> + <xs:sequence> + <xs:element name="ObjectId" type="TridentIdType"> + <xs:annotation> + <xs:documentation>objectid de la structure NEPTUNE associée</xs:documentation> + </xs:annotation> + </xs:element> + <xs:element minOccurs="0" name="ObjectVersion" type="xs:positiveInteger"> + <xs:annotation> + <xs:documentation>objectVersion de la structure NEPTUNE associée</xs:documentation> + </xs:annotation> + </xs:element> + </xs:sequence> + </xs:complexType> + <xs:complexType name="NetworkType"> + <xs:annotation> + <xs:documentation>Structure qui correspond au PTNetworkType NEPTUNE</xs:documentation> + </xs:annotation> + <xs:complexContent> + <xs:extension base="TridentObjectType"> + <xs:sequence> + <xs:element minOccurs="0" name="VersionDate" type="xs:date"> + <xs:annotation> + <xs:documentation>versionDate de la structure NEPTUNE associée</xs:documentation> + </xs:annotation> + </xs:element> + <xs:element minOccurs="0" name="Description" type="xs:string"> + <xs:annotation> + <xs:documentation>description de la structure NEPTUNE associée</xs:documentation> + </xs:annotation> + </xs:element> + <xs:element name="Name" type="xs:string"> + <xs:annotation> + <xs:documentation>name de la structure NEPTUNE associée</xs:documentation> + </xs:annotation> + </xs:element> + <xs:element minOccurs="0" name="RegistrationNumber" type="xs:string"> + <xs:annotation> + <xs:documentation>registrationNumber de la structure NEPTUNE associée</xs:documentation> + </xs:annotation> + </xs:element> + <xs:element minOccurs="0" name="SourceName" type="xs:string"> + <xs:annotation> + <xs:documentation>sourceName de la structure NEPTUNE associée</xs:documentation> + </xs:annotation> + </xs:element> + <xs:element minOccurs="0" name="SourceIdentifier" type="xs:string"> + <xs:annotation> + <xs:documentation>sourceIdentifier de la structure NEPTUNE associée</xs:documentation> + </xs:annotation> + </xs:element> + <xs:element minOccurs="0" name="SourceType" type="SourceTypeType"> + <xs:annotation> + <xs:documentation>sourceType de la structure NEPTUNE associée</xs:documentation> + </xs:annotation> + </xs:element> + <xs:element minOccurs="0" name="Comment" type="xs:string"> + <xs:annotation> + <xs:documentation>comment de la structure NEPTUNE associée</xs:documentation> + </xs:annotation> + </xs:element> + </xs:sequence> + </xs:extension> + </xs:complexContent> + </xs:complexType> + <xs:complexType name="CompanyType"> + <xs:annotation> + <xs:documentation>Structure qui correspond au CompanyType NEPTUNE</xs:documentation> + </xs:annotation> + <xs:complexContent> + <xs:extension base="TridentObjectType"> + <xs:sequence> + <xs:element name="Name" type="xs:string"> + <xs:annotation> + <xs:documentation>name de la structure NEPTUNE associée</xs:documentation> + </xs:annotation> + </xs:element> + <xs:element minOccurs="0" name="ShortName" type="xs:string"> + <xs:annotation> + <xs:documentation>shortName de la structure NEPTUNE associée</xs:documentation> + </xs:annotation> + </xs:element> + <xs:element minOccurs="0" name="OrganisationalUnit" type="xs:string"> + <xs:annotation> + <xs:documentation>organisationalUnit de la structure NEPTUNE associée</xs:documentation> + </xs:annotation> + </xs:element> + <xs:element minOccurs="0" name="OperatingDepartmentName" type="xs:string"> + <xs:annotation> + <xs:documentation>operatingDepartmentName de la structure NEPTUNE associée</xs:documentation> + </xs:annotation> + </xs:element> + <xs:element minOccurs="0" name="Code" type="xs:string"> + <xs:annotation> + <xs:documentation>code de la structure NEPTUNE associée</xs:documentation> + </xs:annotation> + </xs:element> + <xs:element minOccurs="0" name="Phone" type="xs:string"> + <xs:annotation> + <xs:documentation>phone de la structure NEPTUNE associée</xs:documentation> + </xs:annotation> + </xs:element> + <xs:element minOccurs="0" name="Fax" type="xs:string"> + <xs:annotation> + <xs:documentation>fax de la structure NEPTUNE associée</xs:documentation> + </xs:annotation> + </xs:element> + <xs:element minOccurs="0" name="Email" type="xs:string"> + <xs:annotation> + <xs:documentation>email de la structure NEPTUNE associée</xs:documentation> + </xs:annotation> + </xs:element> + <xs:element minOccurs="0" name="RegistrationNumber" type="xs:string"> + <xs:annotation> + <xs:documentation>registrationNumber de la structure NEPTUNE associée</xs:documentation> + </xs:annotation> + </xs:element> + </xs:sequence> + </xs:extension> + </xs:complexContent> + </xs:complexType> + <xs:complexType name="CompanyShortDescriptionType"> + <xs:annotation> + <xs:documentation>Structure équivalente la structure CompanyType mais qui n'en décrit que les propriétés principales.</xs:documentation> + </xs:annotation> + <xs:complexContent> + <xs:extension base="TridentShortDescription"> + <xs:sequence> + <xs:element name="Name" type="xs:string"> + <xs:annotation> + <xs:documentation>name de la structure NEPTUNE associée</xs:documentation> + </xs:annotation> + </xs:element> + <xs:element minOccurs="0" name="ShortName" type="xs:string"> + <xs:annotation> + <xs:documentation>shortName de la structure NEPTUNE associée</xs:documentation> + </xs:annotation> + </xs:element> + <xs:element minOccurs="0" name="RegistrationNumber" type="xs:string"> + <xs:annotation> + <xs:documentation>registrationNumber de la structure NEPTUNE associée</xs:documentation> + </xs:annotation> + </xs:element> + </xs:sequence> + </xs:extension> + </xs:complexContent> + </xs:complexType> + <xs:complexType name="NetworkShortDesciptionType"> + <xs:annotation> + <xs:documentation>Structure équivalente la structure NetworkType mais qui n'en décrit que les propriétés principales.</xs:documentation> + </xs:annotation> + <xs:complexContent> + <xs:extension base="TridentShortDescription"> + <xs:sequence> + <xs:element minOccurs="0" name="Description" type="xs:string"> + <xs:annotation> + <xs:documentation>description de la structure NEPTUNE associée</xs:documentation> + </xs:annotation> + </xs:element> + <xs:element name="Name" type="xs:string"> + <xs:annotation> + <xs:documentation>name de la structure NEPTUNE associée</xs:documentation> + </xs:annotation> + </xs:element> + <xs:element minOccurs="0" name="RegistrationNumber" type="xs:string"> + <xs:annotation> + <xs:documentation>registrationNumber de la structure NEPTUNE associée</xs:documentation> + </xs:annotation> + </xs:element> + </xs:sequence> + </xs:extension> + </xs:complexContent> + </xs:complexType> + <xs:complexType name="RoutingLineObjectIdsType"> + <xs:annotation> + <xs:documentation>Structure utilisée uniquement pour décrire les StopArea ayant "ITL" comme AreaType. +La structure qui rassemble les identififiants (TridentIdType NEPTUNE) des lignes de l'ITL.</xs:documentation> + </xs:annotation> + <xs:sequence> + <xs:element maxOccurs="unbounded" name="RoutingLineObjectId" type="TridentIdType"> + <xs:annotation> + <xs:documentation>Identififiant (TridentIdType NEPTUNE) d'une ligne (structure LineType)</xs:documentation> + </xs:annotation> + </xs:element> + </xs:sequence> + </xs:complexType> + <xs:complexType name="RoutingStopAreaObjectIdsType"> + <xs:annotation> + <xs:documentation>Structure utilisée uniquement pour décrire les StopArea ayant "ITL" comme AreaType. +La structure qui rassemble les identififiants (TridentIdType NEPTUNE) des arrêts de l'ITL.</xs:documentation> + </xs:annotation> + <xs:sequence> + <xs:element maxOccurs="unbounded" name="RoutingStopAreaObjectId" type="TridentIdType"> + <xs:annotation> + <xs:documentation>Identififiant (TridentIdType NEPTUNE) d'un arrêt (structure StopAreaType)</xs:documentation> + </xs:annotation> + </xs:element> + </xs:sequence> + </xs:complexType> + <xs:complexType name="LineType"> + <xs:annotation> + <xs:documentation>Structure qui correspond au LineType NEPTUNE</xs:documentation> + </xs:annotation> + <xs:complexContent> + <xs:extension base="TridentObjectType"> + <xs:sequence> + <xs:element minOccurs="0" name="Name" type="xs:string"> + <xs:annotation> + <xs:documentation>name de la structure NEPTUNE associée</xs:documentation> + </xs:annotation> + </xs:element> + <xs:element minOccurs="0" name="Number" type="xs:string"> + <xs:annotation> + <xs:documentation>number de la structure NEPTUNE associée</xs:documentation> + </xs:annotation> + </xs:element> + <xs:element minOccurs="0" name="PublishedName" type="xs:string"> + <xs:annotation> + <xs:documentation>publishedName de la structure NEPTUNE associée</xs:documentation> + </xs:annotation> + </xs:element> + <xs:element minOccurs="0" name="TransportModeName" type="TransportModeNameType"> + <xs:annotation> + <xs:documentation>transportModeName de la structure NEPTUNE associée</xs:documentation> + </xs:annotation> + </xs:element> + <xs:element minOccurs="0" name="RegistrationNumber" type="xs:string"> + <xs:annotation> + <xs:documentation>registrationNumber de la structure NEPTUNE associée</xs:documentation> + </xs:annotation> + </xs:element> + <xs:element minOccurs="0" name="Comment" type="xs:string"> + <xs:annotation> + <xs:documentation>comment de la structure NEPTUNE associée</xs:documentation> + </xs:annotation> + </xs:element> + <xs:element minOccurs="0" name="MobilityRestrictedSuitability" type="xs:boolean"> + <xs:annotation> + <xs:documentation>mobilityRestrictedSuitability de la structure NEPTUNE associée</xs:documentation> + </xs:annotation> + </xs:element> + <xs:element minOccurs="0" name="NetworkShortDescription" type="NetworkShortDesciptionType"/> + <xs:element minOccurs="0" name="CompanyShortDescription" + type="CompanyShortDescriptionType"/> + </xs:sequence> + </xs:extension> + </xs:complexContent> + </xs:complexType> + <xs:complexType name="LineShortDescriptionType"> + <xs:annotation> + <xs:documentation>Structure équivalente la structure LineType mais qui n'en décrit que les propriétés principales.</xs:documentation> + </xs:annotation> + <xs:complexContent> + <xs:extension base="TridentShortDescription"> + <xs:sequence> + <xs:element minOccurs="0" name="Name" type="xs:string"/> + <xs:element minOccurs="0" name="Number" type="xs:string"/> + <xs:element minOccurs="0" name="PublishedName" type="xs:string"/> + <xs:element minOccurs="0" name="RegistrationNumber" type="xs:string"/> + </xs:sequence> + </xs:extension> + </xs:complexContent> + </xs:complexType> + <xs:complexType name="StopAreaType"> + <xs:annotation> + <xs:documentation>Structure qui correspond à l'élément ChouetteArea NEPTUNE (qui regroupe les éléments StopArea at AreaCentroid).</xs:documentation> + </xs:annotation> + <xs:complexContent> + <xs:extension base="TridentObjectType"> + <xs:sequence> + <xs:element name="Name" type="xs:string"> + <xs:annotation> + <xs:documentation>correspond au StopAreaType.name (du format NEPTUNE)</xs:documentation> + </xs:annotation> + </xs:element> + <xs:element name="AreaType" type="ChouetteAreaType"> + <xs:annotation> + <xs:documentation>correspond au StopAreaType.areaType (du format NEPTUNE)</xs:documentation> + </xs:annotation> + </xs:element> + <xs:element minOccurs="0" name="NearestTopicName" type="xs:string"> + <xs:annotation> + <xs:documentation>correspond au StopAreaType.nearestTopicName (du format NEPTUNE)</xs:documentation> + </xs:annotation> + </xs:element> + <xs:element minOccurs="0" name="FareCode" type="xs:int"> + <xs:annotation> + <xs:documentation>correspond au StopAreaType.fareCode (du format NEPTUNE)</xs:documentation> + </xs:annotation> + </xs:element> + <xs:element minOccurs="0" name="RegistrationNumber" type="xs:string"> + <xs:annotation> + <xs:documentation>correspond au StopAreaType.registrationNumber (du format NEPTUNE)</xs:documentation> + </xs:annotation> + </xs:element> + <xs:element minOccurs="0" name="Longitude" type="LongitudeType"> + <xs:annotation> + <xs:documentation>correspond au AreaCentroid.longitude (du format NEPTUNE)</xs:documentation> + </xs:annotation> + </xs:element> + <xs:element minOccurs="0" name="Latitude" type="LatitudeType"> + <xs:annotation> + <xs:documentation>correspond au AreaCentroid.latitude (du format NEPTUNE)</xs:documentation> + </xs:annotation> + </xs:element> + <xs:element minOccurs="0" name="LongLatType" type="LongLatTypeType"> + <xs:annotation> + <xs:documentation>correspond au AreaCentroid.longLatType (du format NEPTUNE)</xs:documentation> + </xs:annotation> + </xs:element> + <xs:element minOccurs="0" name="StreetName" type="xs:string"> + <xs:annotation> + <xs:documentation>correspond au AreaCentroid.streetName (du format NEPTUNE)</xs:documentation> + </xs:annotation> + </xs:element> + <xs:element minOccurs="0" name="CountryCode" type="xs:string"> + <xs:annotation> + <xs:documentation>correspond au AreaCentroid.countryCode (du format NEPTUNE)</xs:documentation> + </xs:annotation> + </xs:element> + <xs:element minOccurs="0" name="X" type="xs:decimal"> + <xs:annotation> + <xs:documentation>correspond au AreaCentroid.X (du format NEPTUNE)</xs:documentation> + </xs:annotation> + </xs:element> + <xs:element minOccurs="0" name="Y" type="xs:decimal"> + <xs:annotation> + <xs:documentation>correspond au AreaCentroid.Y (du format NEPTUNE)</xs:documentation> + </xs:annotation> + </xs:element> + <xs:element minOccurs="0" name="ProjectionType" type="xs:string"> + <xs:annotation> + <xs:documentation>correspond au AreaCentroid.projectionType (du format NEPTUNE)</xs:documentation> + </xs:annotation> + </xs:element> + <xs:element minOccurs="0" name="Comment" type="xs:string"> + <xs:annotation> + <xs:documentation>correspond au AreaCentroid.comment (du format NEPTUNE)</xs:documentation> + </xs:annotation> + </xs:element> + <xs:element maxOccurs="1" minOccurs="0" name="RoutingStopAreaObjectIds" + type="RoutingStopAreaObjectIdsType"> + <xs:annotation> + <xs:documentation>Element présent uniquement pour les StopArea ayant "ITL" comme AreaType. +L'élément rassemble les identififiants (TridentIdType NEPTUNE) des lignes de l'ITL.</xs:documentation> + </xs:annotation> + </xs:element> + <xs:element minOccurs="0" name="RoutingLineObjectIds" type="RoutingLineObjectIdsType"> + <xs:annotation> + <xs:documentation>Element présent uniquement pour les StopArea ayant "ITL" comme AreaType. +L'élément rassemble les identififiants (TridentIdType NEPTUNE) des arrêts de l'ITL.</xs:documentation> + </xs:annotation> + </xs:element> + <xs:element minOccurs="0" name="Parent" type="StopAreaShortDescriptionType"> + <xs:annotation> + <xs:documentation>Element qui décrit le StopAreaType du niveau hiérachique supérieur si celui-ci existe. + +Si on note s un StopAreaType (NEPTUNE) et p le StopAreaType (NEPTUNE) de son niveau supérieur, +la relation s'établit sur p au niveau du AreCentroid.containIn (NEPTUNE) qui fait apparaitre une référence s. + +Si on note S et P les structures StopAreaType équivalentes dans schéma décrit par cette XSD, +c'est S qui référence P au niveau de S.parent.</xs:documentation> + </xs:annotation> + </xs:element> + </xs:sequence> + </xs:extension> + </xs:complexContent> + </xs:complexType> + <xs:complexType name="StopAreaShortDescriptionType"> + <xs:annotation> + <xs:documentation>Structure équivalente la structure StopAreaType mais qui n'en décrit que les propriétés principales.</xs:documentation> + </xs:annotation> + <xs:complexContent> + <xs:extension base="TridentShortDescription"> + <xs:sequence> + <xs:element name="Name" type="xs:string"/> + <xs:element name="AreaType" type="ChouetteAreaType"/> + <xs:element minOccurs="0" name="Longitude" type="LongitudeType"/> + <xs:element minOccurs="0" name="Latitude" type="LatitudeType"/> + <xs:element minOccurs="0" name="LongLatType" type="LongLatTypeType"/> + <xs:element minOccurs="0" name="ParentObjectId" type="TridentIdType"/> + </xs:sequence> + </xs:extension> + </xs:complexContent> + </xs:complexType> + <xs:complexType name="StopAreaShortDescriptionsType"> + <xs:sequence> + <xs:element maxOccurs="unbounded" name="StopAreaShortDescription" + type="StopAreaShortDescriptionType"/> + </xs:sequence> + </xs:complexType> + <xs:complexType name="RouteType"> + <xs:annotation> + <xs:documentation>Structure qui correspond au RouteType NEPTUNE</xs:documentation> + </xs:annotation> + <xs:complexContent> + <xs:extension base="TridentObjectType"> + <xs:sequence> + <xs:element minOccurs="0" name="Name" type="xs:string"/> + <xs:element minOccurs="0" name="PublishedName" type="xs:string"/> + <xs:element minOccurs="0" name="Number" type="xs:string"/> + <xs:element minOccurs="0" name="Direction" type="PTDirectionType"/> + <xs:element minOccurs="0" name="WayBackRouteId" type="TridentIdType"/> + <xs:element minOccurs="0" name="Comment" type="xs:string"/> + <xs:element minOccurs="0" name="WayBack" type="xs:string"/> + <xs:element name="LineShortDescription" type="LineShortDescriptionType"/> + <xs:element minOccurs="0" name="JourneyPatternShortDescriptions" + type="JourneyPatternShortDescriptionsType"/> + <xs:element minOccurs="0" name="VehicleJourneyObjectIds"> + <xs:complexType> + <xs:sequence> + <xs:element maxOccurs="unbounded" name="VehicleJourneyObjectId" type="TridentIdType" + /> + </xs:sequence> + </xs:complexType> + </xs:element> + <xs:element minOccurs="0" name="StopAreaShortDescriptions" + type="StopAreaShortDescriptionsType"/> + </xs:sequence> + </xs:extension> + </xs:complexContent> + </xs:complexType> + <xs:complexType name="RouteShortDescriptionType"> + <xs:annotation> + <xs:documentation>Structure équivalente la structure RouteType mais qui n'en décrit que les propriétés principales.</xs:documentation> + </xs:annotation> + <xs:complexContent> + <xs:extension base="TridentShortDescription"> + <xs:sequence> + <xs:element minOccurs="0" name="name" type="xs:string"/> + <xs:element minOccurs="0" name="publishedName" type="xs:string"/> + <xs:element minOccurs="0" name="number" type="xs:string"/> + <xs:element minOccurs="0" name="direction" type="PTDirectionType"/> + <xs:element minOccurs="0" name="wayBack" type="xs:string"/> + </xs:sequence> + </xs:extension> + </xs:complexContent> + </xs:complexType> + <xs:complexType name="JourneyPatternType"> + <xs:annotation> + <xs:documentation>Structure qui correspond au JourneyPatternType NEPTUNE</xs:documentation> + </xs:annotation> + <xs:complexContent> + <xs:extension base="TridentObjectType"> + <xs:sequence> + <xs:element minOccurs="0" name="Name" type="xs:string"/> + <xs:element minOccurs="0" name="PublishedName" type="xs:string"/> + <xs:element minOccurs="0" name="RegistrationNumber" type="xs:string"/> + <xs:element minOccurs="0" name="Comment" type="xs:string"/> + <xs:element name="RouteShortDescription" type="RouteShortDescriptionType"/> + <xs:element minOccurs="0" name="VehicleJourneyObjectIds"> + <xs:complexType> + <xs:sequence> + <xs:element maxOccurs="unbounded" name="VehicleJourneyObjectId" type="TridentIdType" + /> + </xs:sequence> + </xs:complexType> + </xs:element> + <xs:element minOccurs="0" name="StopAreaShortDescriptions" + type="StopAreaShortDescriptionsType"/> + </xs:sequence> + </xs:extension> + </xs:complexContent> + </xs:complexType> + <xs:complexType name="JourneyPatternShortDescriptionType"> + <xs:complexContent> + <xs:extension base="TridentShortDescription"> + <xs:sequence> + <xs:element minOccurs="0" name="Name" type="xs:string"/> + <xs:element minOccurs="0" name="PublishedName" type="xs:string"/> + <xs:element minOccurs="0" name="RegistrationNumber" type="xs:string"/> + </xs:sequence> + </xs:extension> + </xs:complexContent> + </xs:complexType> + <xs:complexType name="JourneyPatternShortDescriptionsType"> + <xs:sequence> + <xs:element name="JourneyPatternShortDescription" type="JourneyPatternShortDescriptionType"/> + </xs:sequence> + </xs:complexType> + <xs:complexType name="ConnectionLinkType"> + <xs:annotation> + <xs:documentation>Structure qui correspond au ConnectionLinkType NEPTUNE</xs:documentation> + </xs:annotation> + <xs:complexContent> + <xs:extension base="TridentObjectType"> + <xs:sequence> + <xs:element minOccurs="0" name="Name" type="xs:string"/> + <xs:element minOccurs="0" name="LinkDistance" type="xs:decimal"/> + <xs:element minOccurs="0" name="LinkType" type="ConnectionLinkTypeType"/> + <xs:element minOccurs="0" name="defaultDuration" type="xs:duration"/> + <xs:element minOccurs="0" name="FrequentTravellerDuration" type="xs:duration"/> + <xs:element minOccurs="0" name="OccasionalTravellerDuration" type="xs:duration"/> + <xs:element minOccurs="0" name="MobilityRestrictedTravellerDuration" type="xs:duration"/> + <xs:element minOccurs="0" name="MobilityRestrictedSuitability" type="xs:boolean"/> + <xs:element minOccurs="0" name="StairsAvailability" type="xs:boolean"/> + <xs:element minOccurs="0" name="LiftAvailability" type="xs:boolean"/> + <xs:element minOccurs="0" name="Comment" type="xs:string"/> + <xs:element minOccurs="1" name="StartOfLinkShortDescription" + type="StopAreaShortDescriptionType"/> + <xs:element name="EndOfLinkShortDescription" type="StopAreaShortDescriptionType"/> + </xs:sequence> + </xs:extension> + </xs:complexContent> + </xs:complexType> + <xs:complexType name="TimeTableType"> + <xs:annotation> + <xs:documentation>Structure qui correspond au TimetableType NEPTUNE</xs:documentation> + </xs:annotation> + <xs:complexContent> + <xs:extension base="TridentObjectType"> + <xs:sequence> + <xs:element minOccurs="0" name="Version" type="xs:string"/> + <xs:element minOccurs="0" name="Comment" type="xs:string"/> + <xs:element minOccurs="0" name="Dates"> + <xs:complexType> + <xs:sequence maxOccurs="unbounded"> + <xs:element name="Date" type="xs:date"/> + </xs:sequence> + </xs:complexType> + </xs:element> + <xs:sequence minOccurs="0"> + <xs:element name="Monday" type="xs:boolean"/> + <xs:element name="Tuesday" type="xs:boolean"/> + <xs:element name="Wednesday" type="xs:boolean"/> + <xs:element name="Thursday" type="xs:boolean"/> + <xs:element name="Friday" type="xs:boolean"/> + <xs:element name="Saturday" type="xs:boolean"/> + <xs:element name="Sunday" type="xs:boolean"/> + <xs:element maxOccurs="1" minOccurs="1" name="Periods"> + <xs:complexType> + <xs:sequence> + <xs:element maxOccurs="unbounded" name="Period"> + <xs:complexType> + <xs:sequence> + <xs:element name="PeriodStart"/> + <xs:element name="PeriodEnd"/> + </xs:sequence> + </xs:complexType> + </xs:element> + </xs:sequence> + </xs:complexType> + </xs:element> + </xs:sequence> + </xs:sequence> + </xs:extension> + </xs:complexContent> + </xs:complexType> + <xs:complexType name="VehicleJourneyType"> + <xs:annotation> + <xs:documentation>Structure qui correspond au VehicleJourneyType NEPTUNE</xs:documentation> + </xs:annotation> + <xs:complexContent> + <xs:extension base="TridentObjectType"> + <xs:sequence> + <xs:element minOccurs="0" name="PublishedJourneyName" type="xs:string"/> + <xs:element minOccurs="0" name="PublishedJourneyIdentifier" type="xs:string"/> + <xs:element minOccurs="0" name="TransportMode" type="TransportModeNameType"/> + <xs:element minOccurs="0" name="VehicleTypeIdentifier" type="xs:string"/> + <xs:element minOccurs="0" name="StatusValue" type="ServiceStatusValueType"/> + <xs:element minOccurs="0" name="Facility" type="xs:string"/> + <xs:element minOccurs="0" name="Number" type="xs:integer"/> + <xs:element minOccurs="0" name="Comment" type="xs:string"/> + <xs:element name="RouteShortDescription" type="RouteShortDescriptionType"/> + <xs:element name="JourneyPatternShortDescription" + type="JourneyPatternShortDescriptionType"/> + <xs:element minOccurs="0" name="TimeTableObjectIds"> + <xs:complexType> + <xs:sequence> + <xs:element maxOccurs="unbounded" name="TimeTableObjectId" type="TridentIdType"/> + </xs:sequence> + </xs:complexType> + </xs:element> + <xs:element minOccurs="0" name="VehicleJourneyAtStops"> + <xs:complexType> + <xs:sequence> + <xs:element maxOccurs="unbounded" name="VehicleJourneyAtStop"> + <xs:complexType> + <xs:sequence> + <xs:element minOccurs="0" name="Order" type="xs:positiveInteger"/> + <xs:element name="StopAreaObjectId" type="TridentIdType"/> + <xs:element minOccurs="0" name="ConnectingServiceId" type="TridentIdType"/> + <xs:element minOccurs="0" name="ArrivalTime" type="xs:time"/> + <xs:element minOccurs="0" name="DepartureTime" type="xs:time"/> + <xs:element minOccurs="0" name="WaitingTime" type="xs:time"/> + <xs:element minOccurs="0" name="ElapseDuration" type="xs:duration"/> + <xs:element minOccurs="0" name="HeadwayFrequency" type="xs:duration"/> + <xs:element minOccurs="0" name="BoardingAlightingPossibility" + type="BoardingAlightingPossibilityType"/> + </xs:sequence> + </xs:complexType> + </xs:element> + </xs:sequence> + </xs:complexType> + </xs:element> + </xs:sequence> + </xs:extension> + </xs:complexContent> + </xs:complexType> + <xs:simpleType name="TransportModeNameType"> + <xs:annotation> + <xs:documentation> + Enumeration containing all the possible transport modes + </xs:documentation> + </xs:annotation> + <xs:restriction base="xs:string"> + <xs:enumeration value="Air"/> + <xs:enumeration value="Train"/> + <xs:enumeration value="LongDistanceTrain"/> + <xs:enumeration value="LongDistanceTrain_2"/> + <xs:enumeration value="LocalTrain"/> + <xs:enumeration value="RapidTransit"/> + <xs:enumeration value="Metro"/> + <xs:enumeration value="Tramway"/> + <xs:enumeration value="Coach"/> + <xs:enumeration value="Bus"/> + <xs:enumeration value="Ferry"/> + <xs:enumeration value="Waterborne"/> + <xs:enumeration value="PrivateVehicle"/> + <xs:enumeration value="Walk"/> + <xs:enumeration value="Trolleybus"/> + <xs:enumeration value="Bicycle"/> + <xs:enumeration value="Shuttle"/> + <xs:enumeration value="Taxi"/> + <xs:enumeration value="VAL"/> + <xs:enumeration value="Other"/> + </xs:restriction> + </xs:simpleType> + <xs:simpleType name="TridentIdType"> + <xs:annotation> + <xs:documentation> + Defines the way an TRIDENT ID has to be built: + {PeerID}:{Class name}:{Progressive integer} + For example: RATP:Event:12332 or ATAC:Line:9987 + </xs:documentation> + </xs:annotation> + <xs:restriction base="xs:string"> + <xs:pattern value="(\w|_)+:\w+:[0-9A-Za-z]+"/> + </xs:restriction> + </xs:simpleType> + <xs:simpleType name="SourceTypeType"> + <xs:annotation> + <xs:documentation> + Enumeration containing all the possible type of information +source + </xs:documentation> + </xs:annotation> + <xs:restriction base="xs:string"> + <xs:enumeration value="AutomobileClubPatrol"/> + <xs:enumeration value="SpotterAircraft"/> + <xs:enumeration value="BreakdownService"/> + <xs:enumeration value="CameraObservation"/> + <xs:enumeration value="EmergencyServicePatrol"/> + <xs:enumeration value="FreightVehicleOperator"/> + <xs:enumeration value="InfraredMonitoringStation"/> + <xs:enumeration value="InductionLoopMonitoringStation"/> + <xs:enumeration value="MicrowaveMonitoringStation"/> + <xs:enumeration value="MobileTelephoneCaller"/> + <xs:enumeration value="OtherInformation"/> + <xs:enumeration value="OtherOfficialVehicle"/> + <xs:enumeration value="PolicePatrol"/> + <xs:enumeration value="PublicAndPrivateUtilities"/> + <xs:enumeration value="RoadAuthorities"/> + <xs:enumeration value="RegisteredMotoristObserver"/> + <xs:enumeration value="RoadsideTelephoneCaller"/> + <xs:enumeration value="TrafficMonitoringStation"/> + <xs:enumeration value="TransitOperator"/> + <xs:enumeration value="VideoProcessingMonitoringStation"/> + <xs:enumeration value="VehicleProbeMeasurement"/> + <xs:enumeration value="PublicTransport"/> + <xs:enumeration value="PassengerTransportCoordinatingAuthority"/> + <xs:enumeration value="TravelInformationServiceProvider"/> + <xs:enumeration value="TravelAgency"/> + <xs:enumeration value="IndividualSubjectOfTravelItinerary"/> + </xs:restriction> + </xs:simpleType> + <xs:simpleType name="LongitudeType"> + <xs:restriction base="xs:decimal"> + <xs:minInclusive value="-180"/> + <xs:maxInclusive value="180"/> + </xs:restriction> + </xs:simpleType> + <xs:simpleType name="LatitudeType"> + <xs:restriction base="xs:decimal"> + <xs:minInclusive value="-90"/> + <xs:maxInclusive value="90"/> + </xs:restriction> + </xs:simpleType> + <xs:simpleType name="LongLatTypeType"> + <xs:annotation> + <xs:documentation>Type of geodesic reference</xs:documentation> + </xs:annotation> + <xs:restriction base="xs:string"> + <xs:enumeration value="WGS84"/> + <xs:enumeration value="WGS92"/> + <xs:enumeration value="Standard"/> + </xs:restriction> + </xs:simpleType> + <xs:simpleType name="ChouetteAreaType"> + <xs:restriction base="xs:string"> + <xs:enumeration value="Quay"/> + <xs:enumeration value="BoardingPosition"/> + <xs:enumeration value="CommercialStopPoint"/> + <xs:enumeration value="StopPlace"/> + <xs:enumeration value="ITL"/> + </xs:restriction> + </xs:simpleType> + <xs:simpleType name="PTDirectionType"> + <xs:annotation> + <xs:documentation> + Enumeration containing all the possible directions on a PT Network + </xs:documentation> + </xs:annotation> + <xs:restriction base="xs:string"> + <xs:enumeration value="North"/> + <xs:enumeration value="NorthEast"/> + <xs:enumeration value="East"/> + <xs:enumeration value="SouthEast"/> + <xs:enumeration value="South"/> + <xs:enumeration value="SouthWest"/> + <xs:enumeration value="West"/> + <xs:enumeration value="NorthWest"/> + <xs:enumeration value="ClockWise"/> + <xs:enumeration value="CounterClockWise"/> + <xs:enumeration value="A"/> + <xs:enumeration value="R"/> + </xs:restriction> + </xs:simpleType> + <xs:simpleType name="ConnectionLinkTypeType"> + <xs:annotation> + <xs:documentation>Type of connection</xs:documentation> + </xs:annotation> + <xs:restriction base="xs:string"> + <xs:enumeration value="Underground"/> + <xs:enumeration value="Mixed"/> + <xs:enumeration value="Overground"/> + </xs:restriction> + </xs:simpleType> + <xs:simpleType name="ServiceStatusValueType"> + <xs:annotation> + <xs:documentation> + Enumeration containing all the possible status of a PT service + </xs:documentation> + </xs:annotation> + <xs:restriction base="xs:string"> + <xs:enumeration value="Normal"/> + <xs:enumeration value="Delayed"/> + <xs:enumeration value="Cancelled"/> + <xs:enumeration value="Disrupted"/> + <xs:enumeration value="ReducedService"/> + <xs:enumeration value="IncreasedService"/> + <xs:enumeration value="Rerouted"/> + <xs:enumeration value="NotStopping"/> + <xs:enumeration value="Early"/> + </xs:restriction> + </xs:simpleType> + <xs:simpleType name="BoardingAlightingPossibilityType"> + <xs:annotation> + <xs:documentation> + Enumeration containing all the ways to board or alight a bus + </xs:documentation> + </xs:annotation> + <xs:restriction base="xs:string"> + <xs:enumeration value="BoardAndAlight"/> + <xs:enumeration value="AlightOnly"/> + <xs:enumeration value="BoardOnly"/> + <xs:enumeration value="NeitherBoardOrAlight"/> + <xs:enumeration value="BoardAndAlightOnRequest"/> + <xs:enumeration value="AlightOnRequest"/> + <xs:enumeration value="BoardOnRequest"/> + </xs:restriction> + </xs:simpleType> +</xs:schema> |
