diff options
26 files changed, 2074 insertions, 118 deletions
| diff --git a/app/services/http_service.rb b/app/services/http_service.rb index ceaa89b2f..ae7d0e413 100644 --- a/app/services/http_service.rb +++ b/app/services/http_service.rb @@ -39,8 +39,6 @@ module HTTPService extend self          params.update( name => Faraday::UploadIO.new(value, mime_type, as_name ) )        end -  require 'pry' -  binding.pry        return c.post path, params      end    end diff --git a/app/services/zip_service.rb b/app/services/zip_service.rb index 778bfd06d..f2e7fc2ed 100644 --- a/app/services/zip_service.rb +++ b/app/services/zip_service.rb @@ -1,55 +1,63 @@  class ZipService -  attr_reader :current_entry, :zip_data +  class Subdir < Struct.new( :name, :stream) +  end + +  attr_reader :current_key, :current_output, :yielder    def initialize data -    @zip_data = data -    @current_entry = nil -  end - -  class << self -    def convert_entries entries -      -> output_stream do -        entries.each do |e| -          output_stream.put_next_entry e.name -          output_stream.write e.get_input_stream.read -        end -      end -    end +    @zip_data = StringIO.new(data) +  end -    def entries input_stream -      Enumerator.new do |enum| -        loop{ enum << input_stream.get_next_entry } -      end.lazy.take_while{ |e| e } +  def subdirs +    Enumerator.new do |yielder| +      @yielder = yielder +      Zip::File.open_buffer(@zip_data, &(method :_subdirs))      end    end -  def entry_groups -    self.class.entries(input_stream).group_by(&method(:entry_key)) +  def _subdirs zip_file +    zip_file.each do | entry | +      add_entry entry +    end +    finish_current_output    end -  def entry_group_streams -    entry_groups.map(&method(:make_stream)).to_h +  def add_entry entry +    key = entry_key entry +    unless key == current_key +      finish_current_output +      open_new_output key +    end +    add_to_current_output entry    end -  def entry_key entry -    entry.name.split('/', -1)[-2] +  def add_to_current_output entry +    current_output.put_next_entry entry.name +    write_to_current_output entry.get_input_stream    end -  def make_stream pair -    name, entries = pair  -    [name,  make_stream_from( entries )] +  def write_to_current_output input_stream +    return if Zip::NullInputStream == input_stream +    current_output.write input_stream.read     end -  def make_stream_from entries -    Zip::OutputStream.write_buffer(&self.class.convert_entries(entries)) +  def finish_current_output +    if current_output +      @yielder  << Subdir.new( +        current_key, +        # Second part of the solution, yield the closed stream +        current_output.close_buffer) +    end    end -  def next_entry -    @current_entry = input_stream.get_next_entry +  def open_new_output entry_key +    @current_key    = entry_key +    # First piece of the solution, use internal way to create a Zip::OutputStream +    @current_output = Zip::OutputStream.new(StringIO.new(''), true, nil)    end -  def input_stream -    @__input_stream__ ||= Zip::InputStream.open(StringIO.new(zip_data)) +  def entry_key entry +    entry.name.split('/', -1)[-2]    end  end diff --git a/app/workers/workbench_import_worker.rb b/app/workers/workbench_import_worker.rb index 6fc709d51..f91093806 100644 --- a/app/workers/workbench_import_worker.rb +++ b/app/workers/workbench_import_worker.rb @@ -25,14 +25,14 @@ class WorkbenchImportWorker        params: {token: @workbench_import.token_download}).body    end -  def execute_post eg_name, eg_stream +  def execute_post eg_name, eg_file      logger.info  "HTTP POST #{export_url} (for #{complete_entry_group_name(eg_name)})"      HTTPService.post_resource(        host: export_host,        path: export_path,        token: token(eg_name),        params: params, -      upload: {file: [eg_stream, 'application/zip', eg_name]}) +      upload: {file: [eg_file, 'application/zip', eg_name]})    end    def log_failure reason, count @@ -43,17 +43,15 @@ class WorkbenchImportWorker      raise RetryService::Retry    end -  def try_upload_entry_group eg_name, eg_stream -    result = execute_post eg_name, eg_stream -      require 'pry' -      binding.pry +  def try_upload_entry_group eg_name, eg_file +    result = execute_post eg_name, eg_file      return result if result && result.status < 400      @response = result.body      try_again    end    def upload zip_service -    entry_group_streams = zip_service.entry_group_streams +    entry_group_streams = zip_service.subdirs      @workbench_import.update_attributes total_steps: entry_group_streams.size      entry_group_streams.each_with_index(&method(:upload_entry_group))    rescue StopIteration @@ -71,10 +69,14 @@ class WorkbenchImportWorker    end    def upload_entry_group_proc entry_pair -    eg_name, eg_stream = entry_pair -    # This should be fn.try_upload_entry_group(eg_name, eg_stream) ;( +    eg_name = entry_pair.name +    eg_stream = entry_pair.stream +    eg_file = Tempfile.new("WorkbenchImport_#{eg_name}_#{$$}").tap do |file| +      eg_stream.read +    end +    eg_file.rewind      -> do -      try_upload_entry_group(eg_name, eg_stream) +      try_upload_entry_group(eg_name, eg_file)      end    end diff --git a/spec/fixtures/OFFRE_TRANSDEV_2017030112251.zip b/spec/fixtures/OFFRE_TRANSDEV_2017030112251.zipBinary files differ new file mode 100644 index 000000000..5b28f7cad --- /dev/null +++ b/spec/fixtures/OFFRE_TRANSDEV_2017030112251.zip diff --git a/spec/fixtures/source_OFFRE_TRANSDEV_20170301122517/calendrier.xml b/spec/fixtures/source_OFFRE_TRANSDEV_20170301122517/calendrier.xml new file mode 100644 index 000000000..bfbd0aea1 --- /dev/null +++ b/spec/fixtures/source_OFFRE_TRANSDEV_20170301122517/calendrier.xml @@ -0,0 +1,86 @@ +<?xml version="1.0" encoding="UTF-8"?> +<netex:PublicationDelivery xmlns:netex="http://www.netex.org.uk/netex" +    xmlns:siri="http://www.siri.org.uk/siri" xmlns:core="http://www.govtalk.gov.uk/core" +    xmlns:gml="http://www.opengis.net/gml/3.2" xmlns:ifopt="http://www.ifopt.org.uk/ifopt" +    xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" +    version="1.0"> +    <netex:PublicationTimestamp>2017-02-14T09:13:51.0</netex:PublicationTimestamp> +    <netex:ParticipantRef>CITYWAY</netex:ParticipantRef> +    <netex:dataObjects> +        <netex:GeneralFrame id="CITYWAY:GeneralFrame:NETEX_CALENDRIER-1_20170214090012:LOC" +            version="any"> +            <netex:TypeOfFrameRef ref="NETEX_CALENDRIER"/> +            <netex:ValidBetween> +                <netex:FromDate>2017-03-01</netex:FromDate> +                <netex:ToDate>2017-03-31</netex:ToDate> +            </netex:ValidBetween> +            <netex:members>  +                <netex:dayTypes> +                    <netex:DayType id="CITYWAY:DayType:1:LOC"  version="any" > +                        <netex:Name>Semaine</netex:Name> +                        <netex:properties> +                            <netex:PropertyOfDay> +                                <netex:DaysOfWeek>Monday</netex:DaysOfWeek> +                            </netex:PropertyOfDay> +                            <netex:PropertyOfDay> +                                <netex:DaysOfWeek>Tuesday</netex:DaysOfWeek> +                            </netex:PropertyOfDay> +                            <netex:PropertyOfDay> +                                <netex:DaysOfWeek>Wednesday</netex:DaysOfWeek> +                            </netex:PropertyOfDay> +                            <netex:PropertyOfDay> +                                <netex:DaysOfWeek>Thursday</netex:DaysOfWeek> +                            </netex:PropertyOfDay> +                            <netex:PropertyOfDay> +                                <netex:DaysOfWeek>Friday</netex:DaysOfWeek> +                            </netex:PropertyOfDay> +                        </netex:properties> +                    </netex:DayType>                     +                    <netex:DayType id="CITYWAY:DayType:2:LOC"  version="any" > +                        <netex:Name>Fin de semaine</netex:Name> +                        <netex:properties> +                            <netex:PropertyOfDay> +                                <netex:DaysOfWeek>Saturday</netex:DaysOfWeek> +                            </netex:PropertyOfDay> +                            <netex:PropertyOfDay> +                                <netex:DaysOfWeek>Sunday</netex:DaysOfWeek> +                            </netex:PropertyOfDay> +                        </netex:properties> +                    </netex:DayType>                     +                    <netex:DayType id="CITYWAY:DayType:3:LOC"  version="any" > +                        <netex:Name>Service spécial</netex:Name> +                    </netex:DayType>                     +                    <netex:DayType id="CITYWAY:DayType:4:LOC"  version="any" > +                        <netex:Name>Restriction</netex:Name> +                    </netex:DayType>                     +                </netex:dayTypes> +                <netex:dayTypeAssignments> +                    <netex:DayTypeAssignment version="any" > +                        <netex:OperatingPeriodRef ref="CITYWAY:OperatingPeriod:1:LOC" version="any"/> +                        <netex:DayTypeRef ref="CITYWAY:DayType:1:LOC" version="any"/> +                    </netex:DayTypeAssignment> +                    <netex:DayTypeAssignment version="any" > +                        <netex:OperatingPeriodRef ref="CITYWAY:OperatingPeriod:1:LOC" version="any"/> +                        <netex:DayTypeRef ref="CITYWAY:DayType:2:LOC" version="any"/> +                    </netex:DayTypeAssignment> +                    <netex:DayTypeAssignment version="any" > +                        <netex:Date>2017-03-15</netex:Date> +                        <netex:DayTypeRef ref="CITYWAY:DayType:3:LOC" version="any"/> +                        <netex:isAvailable>true</netex:isAvailable>  +                    </netex:DayTypeAssignment> +                    <netex:DayTypeAssignment version="any" > +                        <netex:Date>2017-03-15</netex:Date> +                        <netex:DayTypeRef ref="CITYWAY:DayType:4:LOC" version="any"/> +                        <netex:isAvailable>false</netex:isAvailable>  +                    </netex:DayTypeAssignment> +                </netex:dayTypeAssignments> +                <netex:operatingPeriods> +                    <netex:OperatingPeriod id="CITYWAY:OperatingPeriod:1:LOC" version="any" > +                        <netex:FromDate>2017-01-01</netex:FromDate> +                        <netex:ToDate>2017-12-31</netex:ToDate> +                    </netex:OperatingPeriod> +                </netex:operatingPeriods> +            </netex:members> +        </netex:GeneralFrame> +    </netex:dataObjects> +</netex:PublicationDelivery> diff --git a/spec/fixtures/source_OFFRE_TRANSDEV_20170301122517/commun.xml b/spec/fixtures/source_OFFRE_TRANSDEV_20170301122517/commun.xml new file mode 100644 index 000000000..266c8a598 --- /dev/null +++ b/spec/fixtures/source_OFFRE_TRANSDEV_20170301122517/commun.xml @@ -0,0 +1,33 @@ +<?xml version="1.0" encoding="UTF-8"?> +<netex:PublicationDelivery xmlns:netex="http://www.netex.org.uk/netex" +    xmlns:siri="http://www.siri.org.uk/siri" xmlns:core="http://www.govtalk.gov.uk/core" +    xmlns:gml="http://www.opengis.net/gml/3.2" xmlns:ifopt="http://www.ifopt.org.uk/ifopt" +    xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" +    version="1.0"> +    <netex:PublicationTimestamp>2017-02-14T09:13:51.0</netex:PublicationTimestamp> +    <netex:ParticipantRef>CITYWAY</netex:ParticipantRef> +    <netex:dataObjects> +        <netex:GeneralFrame id="CITYWAY:GeneralFrame:NETEX_COMMUN-1_20170214090012:LOC" version="any"> +            <netex:TypeOfFrameRef ref="NETEX_COMMUN"/> +            <netex:members> +                <netex:notices> +                    <netex:Notice id="CITYWAY:Notice:1:LOC" version="any"> +                        <netex:Text>Notice 1</netex:Text> +                        <netex:PublicCode>1</netex:PublicCode> +                        <netex:TypeOfNoticeRef>ServiceJourneyNotice</netex:TypeOfNoticeRef> +                    </netex:Notice> +                    <netex:Notice id="CITYWAY:Notice:2:LOC" version="any"> +                        <netex:Text>Notice 2</netex:Text> +                        <netex:PublicCode>2</netex:PublicCode> +                        <netex:TypeOfNoticeRef>ServiceJourneyNotice</netex:TypeOfNoticeRef> +                    </netex:Notice> +                    <netex:Notice id="CITYWAY:Notice:3:LOC" version="any"> +                        <netex:Text>Notice 3</netex:Text> +                        <netex:PublicCode>3</netex:PublicCode> +                        <netex:TypeOfNoticeRef>ServiceJourneyNotice</netex:TypeOfNoticeRef> +                    </netex:Notice> +                </netex:notices> +            </netex:members> +        </netex:GeneralFrame> +    </netex:dataObjects> +</netex:PublicationDelivery> diff --git a/spec/fixtures/source_OFFRE_TRANSDEV_20170301122517/offre_C00108_9.xml b/spec/fixtures/source_OFFRE_TRANSDEV_20170301122517/offre_C00108_9.xml new file mode 100644 index 000000000..832793036 --- /dev/null +++ b/spec/fixtures/source_OFFRE_TRANSDEV_20170301122517/offre_C00108_9.xml @@ -0,0 +1,202 @@ +<?xml version="1.0" encoding="UTF-8"?> +<netex:PublicationDelivery xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" + xsi:schemaLocation="http://www.netex.org.uk/netex ../../xsd/NeTEx_publication.xsd" + xmlns:netex="http://www.netex.org.uk/netex" xmlns:xlink="http://www.w3.org/1999/xlink" + xmlns:ifopt="http://www.ifopt.org.uk/ifopt" xmlns:gml="http://www.opengis.net/gml/3.2" + xmlns:core="http://www.govtalk.gov.uk/core" xmlns:siri="http://www.siri.org.uk/siri" version="1.0"> +    <netex:PublicationTimestamp>2017-02-14T09:13:51.0</netex:PublicationTimestamp> +    <netex:ParticipantRef>CITYWAY</netex:ParticipantRef> +    <netex:dataObjects> +        <netex:CompositeFrame id="CITYWAY:CompositeFrame:NETEX_OFFRE_LIGNE-1:LOC" version="any"> +            <netex:Name>Ligne 1</netex:Name> +            <netex:TypeOfFrameRef ref="NETEX_OFFRE_LIGNE"/> +            <netex:frames> +                <netex:GeneralFrame id="CITYWAY:GeneralFrame:NETEX_STRUCTURE-20170214090012:LOC" +                    version="any"> +                    <netex:TypeOfFrameRef ref="NETEX_STRUCTURE"/> +                    <netex:members> +                        <netex:routes> +                            <netex:Route id="CITYWAY:Route:1:LOC" version="any"> +                                <netex:Name>route 1</netex:Name> +										  <netex:LineRef ref="STIF:CODIFLIGNE:Line:C00108">version="any"</netex:LineRef> +                                <netex:DirectionType>outbound</netex:DirectionType> +                                <netex:DirectionRef ref="CITYWAY:Direction:1:LOC" version="any"/> +                                <netex:InverseRouteRef ref="CITYWAY:Route:2:LOC" version="any"/> +                            </netex:Route> +                            <netex:Route id="CITYWAY:Route:2:LOC" version="any"> +                                <netex:Name>route 2</netex:Name> +										  <netex:LineRef ref="STIF:CODIFLIGNE:Line:C00108">version="any"</netex:LineRef> +                                <netex:DirectionType>inbound</netex:DirectionType> +                                <netex:DirectionRef ref="CITYWAY:Direction:2:LOC" version="any"/> +                                <netex:InverseRouteRef ref="CITYWAY:Route:1:LOC" version="any"/> +                            </netex:Route> +                        </netex:routes> +                        <netex:directions> +                            <netex:Direction id="CITYWAY:Direction:1:LOC" version="any"> +                                <netex:Name>Par ici</netex:Name> +                            </netex:Direction> +                            <netex:Direction id="CITYWAY:Direction:2:LOC" version="any"> +                                <netex:Name>Par là</netex:Name> +                            </netex:Direction> +                        </netex:directions> +                        <netex:serviceJourneyPatterns> +                            <netex:ServiceJourneyPattern id="CITYWAY:ServiceJourneyPattern:1:LOC" +                                version="any"> +                                <netex:Name>Par ici</netex:Name> +                                <netex:RouteRef ref="CITYWAY:Route:1:LOC" version="any"/> +                                <netex:DestinationDisplayRef ref="CITYWAY:DestinationDisplay:1:LOC" +                                    version="any"/> +                                <netex:pointsInSequence> +                                    <netex:StopPointInJourneyPattern +                                        id="CITYWAY:StopPointInJourneyPattern:1-1-1:LOC" order="1" +                                        version="any"> +                                        <netex:ScheduledStopPointRef +                                            ref="CITYWAY:ScheduledStopPoint:1-1:LOC" version="any"/> +                                        <netex:ForAlighting>true</netex:ForAlighting> +                                        <netex:ForBoarding>true</netex:ForBoarding> +                                    </netex:StopPointInJourneyPattern> +                                    <netex:StopPointInJourneyPattern +                                        id="CITYWAY:StopPointInJourneyPattern:1-1-2:LOC" order="2" +                                        version="any"> +                                        <netex:ScheduledStopPointRef +                                            ref="CITYWAY:ScheduledStopPoint:1-2:LOC" version="any"/> +                                        <netex:ForAlighting>true</netex:ForAlighting> +                                        <netex:ForBoarding>true</netex:ForBoarding> +                                    </netex:StopPointInJourneyPattern> +                                </netex:pointsInSequence> +                                <netex:ServiceJourneyPatternType>passenger</netex:ServiceJourneyPatternType> +                            </netex:ServiceJourneyPattern> +                            <netex:ServiceJourneyPattern id="CITYWAY:ServiceJourneyPattern:2:LOC" +                                version="any"> +                                <netex:Name>Par là</netex:Name> +                                <netex:RouteRef ref="CITYWAY:Route:2:LOC" version="any"/> +                                <netex:DestinationDisplayRef ref="CITYWAY:DestinationDisplay:2:LOC" +                                    version="any"/> +                                <netex:pointsInSequence> +                                    <netex:StopPointInJourneyPattern +                                        id="CITYWAY:StopPointInJourneyPattern:2-2-1:LOC" order="1" +                                        version="any"> +                                        <netex:ScheduledStopPointRef +                                            ref="CITYWAY:ScheduledStopPoint:2-1:LOC" version="any"/> +                                        <netex:ForAlighting>true</netex:ForAlighting> +                                        <netex:ForBoarding>true</netex:ForBoarding> +                                    </netex:StopPointInJourneyPattern> +                                    <netex:StopPointInJourneyPattern +                                        id="CITYWAY:StopPointInJourneyPattern:2-2-2:LOC" order="2" +                                        version="any"> +                                        <netex:ScheduledStopPointRef +                                            ref="CITYWAY:ScheduledStopPoint:2-2:LOC" version="any"/> +                                        <netex:ForAlighting>true</netex:ForAlighting> +                                        <netex:ForBoarding>true</netex:ForBoarding> +                                    </netex:StopPointInJourneyPattern> +                                </netex:pointsInSequence> +                                <netex:ServiceJourneyPatternType>passenger</netex:ServiceJourneyPatternType> +                            </netex:ServiceJourneyPattern> +                        </netex:serviceJourneyPatterns> +                        <netex:destinationDisplays> +                            <netex:DestinationDisplay id="CITYWAY:DestinationDisplay:1:LOC" +                                version="any"> +                                <netex:FrontText>Mission 1</netex:FrontText> +                                <netex:PublicCode>1234</netex:PublicCode> +                            </netex:DestinationDisplay> +                            <netex:DestinationDisplay id="CITYWAY:DestinationDisplay:2:LOC" +                                version="any"> +                                <netex:FrontText>Mission 2</netex:FrontText> +                                <netex:PublicCode>2345</netex:PublicCode> +                            </netex:DestinationDisplay> +                        </netex:destinationDisplays> +                        <netex:scheduledStopPoints> +                            <netex:ScheduledStopPoint id="CITYWAY:ScheduledStopPoint:1-1:LOC" +                                version="any"/> +                            <netex:ScheduledStopPoint id="CITYWAY:ScheduledStopPoint:1-2:LOC" +                                version="any"/> +                            <netex:ScheduledStopPoint id="CITYWAY:ScheduledStopPoint:2-1:LOC" +                                version="any"/> +                            <netex:ScheduledStopPoint id="CITYWAY:ScheduledStopPoint:2-2:LOC" +                                version="any"/> +                        </netex:scheduledStopPoints> +                        <netex:passengerStopAssignments> +                            <netex:PassengerStopAssignment +                                id="CITYWAY:PassengerStopAssignment:1-1:LOC" version="any"> +                                <netex:ScheduledStopPointRef +                                    ref="CITYWAY:ScheduledStopPoint:1-1:LOC" version="any"/> +										  <netex:QuayRef ref="FR:78217:ZDE:50094817:STIF">version="any"</netex:QuayRef> +                            </netex:PassengerStopAssignment> +                            <netex:PassengerStopAssignment +                                id="CITYWAY:PassengerStopAssignment:2-1:LOC" version="any"> +                                <netex:ScheduledStopPointRef +                                    ref="CITYWAY:ScheduledStopPoint:2-1:LOC" version="any"/> +										  <netex:QuayRef ref="FR:78217:ZDE:50009052:STIF">version="any"</netex:QuayRef> +                            </netex:PassengerStopAssignment> +                            <netex:PassengerStopAssignment +                                id="CITYWAY:PassengerStopAssignment:1-2:LOC" version="any"> +                                <netex:ScheduledStopPointRef +                                    ref="CITYWAY:ScheduledStopPoint:1-2:LOC" version="any"/> +										  <netex:QuayRef ref="FR:78217:ZDE:50009053:STIF">version="any"</netex:QuayRef> +                            </netex:PassengerStopAssignment> +                            <netex:PassengerStopAssignment +                                id="CITYWAY:PassengerStopAssignment:2-2:LOC" version="any"> +                                <netex:ScheduledStopPointRef +                                    ref="CITYWAY:ScheduledStopPoint:2-2:LOC" version="any"/> +										  <netex:QuayRef ref="FR:78217:ZDE:50094816:STIF">version="any"</netex:QuayRef> +                            </netex:PassengerStopAssignment> +                        </netex:passengerStopAssignments> +                        <netex:routingConstraintZones> +                            <netex:RoutingConstraintZone id="CITYWAY:RoutingConstraintZone:1:LOC" +                                version="any"> +                                <netex:Name>ITL 1</netex:Name> +                                <netex:members> +                                    <netex:ScheduledStopPointRef +                                        ref="CITYWAY:ScheduledStopPoint:1-1:LOC" version="any"/> +                                    <netex:ScheduledStopPointRef +                                        ref="CITYWAY:ScheduledStopPoint:2-1:LOC" version="any"/> +                                </netex:members> +                                <netex:ZoneUse>cannotBoardAndAlightInSameZone</netex:ZoneUse> +                            </netex:RoutingConstraintZone> +                        </netex:routingConstraintZones> +                    </netex:members> +                </netex:GeneralFrame> +                <netex:GeneralFrame id="CITYWAY:GeneralFrame:NETEX_HORAIRE-20170214090012:LOC" +                    version="any"> +                    <netex:TypeOfFrameRef ref="NETEX_HORAIRE"/> +                    <netex:members> +                        <netex:serviceJourneys> +                            <netex:ServiceJourney id="CITYWAY:ServiceJourney:1-1:LOC" version="any"> +                                <netex:Name>Course 1 par ici</netex:Name> +                                <netex:noticeAssignments> +                                    <netex:NoticeAssignment> +												  <netex:NoticeRef ref="CITYWAY:Notice:1:LOC"> +                                            version="any"</netex:NoticeRef> +                                    </netex:NoticeAssignment> +                                </netex:noticeAssignments> +										  <netex:DayTypeRef ref="CITYWAY:DayType:1:LOC"> +                                    version="any"</netex:DayTypeRef> +                                <netex:JourneyPatternRef ref="CITYWAY:ServiceJourneyPattern:1:LOC" +                                    version="any"/> +										  <netex:OperatorRef ref="STIF:CODIFLIGNE:Operator:011"> +                                    version="any"</netex:OperatorRef> +                                <netex:trainNumbers> +											 <netex:TrainNumberRef ref="CITYWAY:TrainNumber:1234:LOC">version="any"</netex:TrainNumberRef> +                                </netex:trainNumbers> +                                <netex:passingTimes> +                                    <netex:TimetabledPassingTime version="any"> +                                        <netex:ArrivalTime>01:01:00.000</netex:ArrivalTime> +                                        <netex:ArrivalDayOffset>0</netex:ArrivalDayOffset> +                                        <netex:DepartureTime>01:01:00.000</netex:DepartureTime> +                                        <netex:DepartureDayOffset>0</netex:DepartureDayOffset> +                                    </netex:TimetabledPassingTime> +                                    <netex:TimetabledPassingTime version="any"> +                                        <netex:ArrivalTime>01:05:00.000</netex:ArrivalTime> +                                        <netex:ArrivalDayOffset>0</netex:ArrivalDayOffset> +                                        <netex:DepartureTime>01:05:00.000</netex:DepartureTime> +                                        <netex:DepartureDayOffset>0</netex:DepartureDayOffset> +                                    </netex:TimetabledPassingTime> +                                </netex:passingTimes> +                            </netex:ServiceJourney> +                        </netex:serviceJourneys> +                    </netex:members> +                </netex:GeneralFrame> +            </netex:frames> +        </netex:CompositeFrame> +    </netex:dataObjects> +</netex:PublicationDelivery> diff --git a/spec/fixtures/source_OFFRE_TRANSDEV_20170301122517/offre_C00109_10.xml b/spec/fixtures/source_OFFRE_TRANSDEV_20170301122517/offre_C00109_10.xml new file mode 100644 index 000000000..9dff0d850 --- /dev/null +++ b/spec/fixtures/source_OFFRE_TRANSDEV_20170301122517/offre_C00109_10.xml @@ -0,0 +1,204 @@ +<?xml version="1.0" encoding="UTF-8"?> +<netex:PublicationDelivery xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" + xsi:schemaLocation="http://www.netex.org.uk/netex ../../xsd/NeTEx_publication.xsd" + xmlns:netex="http://www.netex.org.uk/netex" xmlns:xlink="http://www.w3.org/1999/xlink" + xmlns:ifopt="http://www.ifopt.org.uk/ifopt" xmlns:gml="http://www.opengis.net/gml/3.2" + xmlns:core="http://www.govtalk.gov.uk/core" xmlns:siri="http://www.siri.org.uk/siri" version="1.0"> +    <netex:PublicationTimestamp>2017-02-14T09:13:51.0</netex:PublicationTimestamp> +    <netex:ParticipantRef>CITYWAY</netex:ParticipantRef> +    <netex:dataObjects> +        <netex:CompositeFrame id="CITYWAY:CompositeFrame:NETEX_OFFRE_LIGNE-1:LOC" version="any"> +            <netex:Name>Ligne 1</netex:Name> +            <netex:TypeOfFrameRef ref="NETEX_OFFRE_LIGNE"/> +            <netex:frames> +                <netex:GeneralFrame id="CITYWAY:GeneralFrame:NETEX_STRUCTURE-20170214090012:LOC" +                    version="any"> +                    <netex:TypeOfFrameRef ref="NETEX_STRUCTURE"/> +                    <netex:members> +                        <netex:routes> +                            <netex:Route id="CITYWAY:Route:1:LOC" version="any"> +                                <netex:Name>route 1</netex:Name> +										  <netex:LineRef ref="STIF:CODIFLIGNE:Line:C00109">version="any"</netex:LineRef> +                                <netex:DirectionType>outbound</netex:DirectionType> +                                <netex:DirectionRef ref="CITYWAY:Direction:1:LOC" version="any"/> +                                <netex:InverseRouteRef ref="CITYWAY:Route:2:LOC" version="any"/> +                            </netex:Route> +                            <netex:Route id="CITYWAY:Route:2:LOC" version="any"> +                                <netex:Name>route 2</netex:Name> +										  <netex:LineRef ref="STIF:CODIFLIGNE:Line:C00109">version="any"</netex:LineRef> +                                <netex:DirectionType>inbound</netex:DirectionType> +                                <netex:DirectionRef ref="CITYWAY:Direction:2:LOC" version="any"/> +                                <netex:InverseRouteRef ref="CITYWAY:Route:1:LOC" version="any"/> +                            </netex:Route> +                        </netex:routes> +                        <netex:directions> +                            <netex:Direction id="CITYWAY:Direction:1:LOC" version="any"> +                                <netex:Name>Par ici aussi</netex:Name> +                            </netex:Direction> +                            <netex:Direction id="CITYWAY:Direction:2:LOC" version="any"> +                                <netex:Name>Par là aussi</netex:Name> +                            </netex:Direction> +                        </netex:directions> +                        <netex:serviceJourneyPatterns> +                            <netex:ServiceJourneyPattern id="CITYWAY:ServiceJourneyPattern:1:LOC" +                                version="any"> +                                <netex:Name>Par ici itou</netex:Name> +                                <netex:RouteRef ref="CITYWAY:Route:1:LOC" version="any"/> +                                <netex:DestinationDisplayRef ref="CITYWAY:DestinationDisplay:1:LOC" +                                    version="any"/> +                                <netex:pointsInSequence> +                                    <netex:StopPointInJourneyPattern +                                        id="CITYWAY:StopPointInJourneyPattern:1-1-1:LOC" order="1" +                                        version="any"> +                                        <netex:ScheduledStopPointRef +                                            ref="CITYWAY:ScheduledStopPoint:1-1:LOC" version="any"/> +                                        <netex:ForAlighting>true</netex:ForAlighting> +                                        <netex:ForBoarding>true</netex:ForBoarding> +                                    </netex:StopPointInJourneyPattern> +                                    <netex:StopPointInJourneyPattern +                                        id="CITYWAY:StopPointInJourneyPattern:1-1-2:LOC" order="2" +                                        version="any"> +                                        <netex:ScheduledStopPointRef +                                            ref="CITYWAY:ScheduledStopPoint:1-2:LOC" version="any"/> +                                        <netex:ForAlighting>true</netex:ForAlighting> +                                        <netex:ForBoarding>true</netex:ForBoarding> +                                    </netex:StopPointInJourneyPattern> +                                </netex:pointsInSequence> +                                <netex:ServiceJourneyPatternType>passenger</netex:ServiceJourneyPatternType> +                            </netex:ServiceJourneyPattern> +                            <netex:ServiceJourneyPattern id="CITYWAY:ServiceJourneyPattern:2:LOC" +                                version="any"> +                                <netex:Name>Par là itou</netex:Name> +                                <netex:RouteRef ref="CITYWAY:Route:2:LOC" version="any"/> +                                <netex:DestinationDisplayRef ref="CITYWAY:DestinationDisplay:2:LOC" +                                    version="any"/> +                                <netex:pointsInSequence> +                                    <netex:StopPointInJourneyPattern +                                        id="CITYWAY:StopPointInJourneyPattern:2-2-1:LOC" order="1" +                                        version="any"> +                                        <netex:ScheduledStopPointRef +                                            ref="CITYWAY:ScheduledStopPoint:2-1:LOC" version="any"/> +                                        <netex:ForAlighting>true</netex:ForAlighting> +                                        <netex:ForBoarding>true</netex:ForBoarding> +                                    </netex:StopPointInJourneyPattern> +                                    <netex:StopPointInJourneyPattern +                                        id="CITYWAY:StopPointInJourneyPattern:2-2-2:LOC" order="2" +                                        version="any"> +                                        <netex:ScheduledStopPointRef +                                            ref="CITYWAY:ScheduledStopPoint:2-2:LOC" version="any"/> +                                        <netex:ForAlighting>true</netex:ForAlighting> +                                        <netex:ForBoarding>true</netex:ForBoarding> +                                    </netex:StopPointInJourneyPattern> +                                </netex:pointsInSequence> +                                <netex:ServiceJourneyPatternType>passenger</netex:ServiceJourneyPatternType> +                            </netex:ServiceJourneyPattern> +                        </netex:serviceJourneyPatterns> +                        <netex:destinationDisplays> +                            <netex:DestinationDisplay id="CITYWAY:DestinationDisplay:1:LOC" +                                version="any"> +                                <netex:FrontText>Mission 1 bis</netex:FrontText> +                                <netex:PublicCode>1234</netex:PublicCode> +                            </netex:DestinationDisplay> +                            <netex:DestinationDisplay id="CITYWAY:DestinationDisplay:2:LOC" +                                version="any"> +                                <netex:FrontText>Mission 2 bis</netex:FrontText> +                                <netex:PublicCode>2345</netex:PublicCode> +                            </netex:DestinationDisplay> +                        </netex:destinationDisplays> +                        <netex:scheduledStopPoints> +                            <netex:ScheduledStopPoint id="CITYWAY:ScheduledStopPoint:1-1:LOC" +                                version="any"/> +                            <netex:ScheduledStopPoint id="CITYWAY:ScheduledStopPoint:1-2:LOC" +                                version="any"/> +                            <netex:ScheduledStopPoint id="CITYWAY:ScheduledStopPoint:2-1:LOC" +                                version="any"/> +                            <netex:ScheduledStopPoint id="CITYWAY:ScheduledStopPoint:2-2:LOC" +                                version="any"/> +                        </netex:scheduledStopPoints> +                        <netex:passengerStopAssignments> +                            <netex:PassengerStopAssignment +                                id="CITYWAY:PassengerStopAssignment:1-1:LOC" version="any"> +                                <netex:ScheduledStopPointRef +                                    ref="CITYWAY:ScheduledStopPoint:1-1:LOC" version="any"/> +										  <netex:QuayRef ref="FR:78217:ZDE:50094817:STIF">version="any"</netex:QuayRef> +                            </netex:PassengerStopAssignment> +                            <netex:PassengerStopAssignment +                                id="CITYWAY:PassengerStopAssignment:2-1:LOC" version="any"> +                                <netex:ScheduledStopPointRef +                                    ref="CITYWAY:ScheduledStopPoint:2-1:LOC" version="any"/> +										  <netex:QuayRef ref="FR:78402:ZDE:50000918:STIF">version="any"</netex:QuayRef> +                            </netex:PassengerStopAssignment> +                            <netex:PassengerStopAssignment +                                id="CITYWAY:PassengerStopAssignment:1-2:LOC" version="any"> +                                <netex:ScheduledStopPointRef +                                    ref="CITYWAY:ScheduledStopPoint:1-2:LOC" version="any"/> +										  <netex:QuayRef ref="FR:78402:ZDE:50000917:STIF">version="any"</netex:QuayRef> +                            </netex:PassengerStopAssignment> +                            <netex:PassengerStopAssignment +                                id="CITYWAY:PassengerStopAssignment:2-2:LOC" version="any"> +                                <netex:ScheduledStopPointRef +                                    ref="CITYWAY:ScheduledStopPoint:2-2:LOC" version="any"/> +										  <netex:QuayRef ref="FR:78217:ZDE:50094816:STIF">version="any"</netex:QuayRef> +                            </netex:PassengerStopAssignment> +                        </netex:passengerStopAssignments> +                        <netex:routingConstraintZones> +                            <netex:RoutingConstraintZone id="CITYWAY:RoutingConstraintZone:1:LOC" +                                version="any"> +                                <netex:Name>ITL 1</netex:Name> +                                <netex:members> +                                    <netex:ScheduledStopPointRef +                                        ref="CITYWAY:ScheduledStopPoint:1-1:LOC" version="any"/> +                                    <netex:ScheduledStopPointRef +                                        ref="CITYWAY:ScheduledStopPoint:2-1:LOC" version="any"/> +                                </netex:members> +                                <netex:ZoneUse>cannotBoardAndAlightInSameZone</netex:ZoneUse> +                            </netex:RoutingConstraintZone> +                        </netex:routingConstraintZones> +                    </netex:members> +                </netex:GeneralFrame> +                <netex:GeneralFrame id="CITYWAY:GeneralFrame:NETEX_HORAIRE-20170214090012:LOC" +                    version="any"> +                    <netex:TypeOfFrameRef ref="NETEX_HORAIRE"/> +                    <netex:members> +                        <netex:serviceJourneys> +                            <netex:ServiceJourney id="CITYWAY:ServiceJourney:1-1:LOC" version="any"> +                                <netex:Name>Course 1 par ici aussi</netex:Name> +                                <netex:noticeAssignments> +                                    <netex:NoticeAssignment> +												  <netex:NoticeRef ref="CITYWAY:Notice:2:LOC"> +                                            version="any"</netex:NoticeRef> +                                    </netex:NoticeAssignment> +                                </netex:noticeAssignments> +										  <netex:DayTypeRef ref="CITYWAY:DayType:1:LOC"> +                                    version="any"</netex:DayTypeRef> +										  <netex:DayTypeRef ref="CITYWAY:DayType:4:LOC"> +                                    version="any"</netex:DayTypeRef> +                                <netex:JourneyPatternRef ref="CITYWAY:ServiceJourneyPattern:1:LOC" +                                    version="any"/> +										  <netex:OperatorRef ref="STIF:CODIFLIGNE:Operator:212"> +                                    version="any"</netex:OperatorRef> +                                <netex:trainNumbers> +											 <netex:TrainNumberRef ref="CITYWAY:TrainNumber:1234:LOC">version="any"</netex:TrainNumberRef> +                                </netex:trainNumbers> +                                <netex:passingTimes> +                                    <netex:TimetabledPassingTime version="any"> +                                        <netex:ArrivalTime>23:58:00.000</netex:ArrivalTime> +                                        <netex:ArrivalDayOffset>0</netex:ArrivalDayOffset> +                                        <netex:DepartureTime>23:59:00.000</netex:DepartureTime> +                                        <netex:DepartureDayOffset>0</netex:DepartureDayOffset> +                                    </netex:TimetabledPassingTime> +                                    <netex:TimetabledPassingTime version="any"> +                                        <netex:ArrivalTime>00:03:00.000</netex:ArrivalTime> +                                        <netex:ArrivalDayOffset>1</netex:ArrivalDayOffset> +                                        <netex:DepartureTime>00:04:00.000</netex:DepartureTime> +                                        <netex:DepartureDayOffset>1</netex:DepartureDayOffset> +                                    </netex:TimetabledPassingTime> +                                </netex:passingTimes> +                            </netex:ServiceJourney> +                        </netex:serviceJourneys> +                    </netex:members> +                </netex:GeneralFrame> +            </netex:frames> +        </netex:CompositeFrame> +    </netex:dataObjects> +</netex:PublicationDelivery> diff --git a/spec/fixtures/source_OFFRE_TRANSDEV_20170301122519/calendrier.xml b/spec/fixtures/source_OFFRE_TRANSDEV_20170301122519/calendrier.xml new file mode 100644 index 000000000..dc57aea11 --- /dev/null +++ b/spec/fixtures/source_OFFRE_TRANSDEV_20170301122519/calendrier.xml @@ -0,0 +1,80 @@ +<?xml version="1.0" encoding="UTF-8"?> +<netex:PublicationDelivery xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" +    xsi:schemaLocation="http://www.netex.org.uk/netex ../../xsd/NeTEx_publication.xsd" xmlns:netex="http://www.netex.org.uk/netex" +    xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:ifopt="http://www.ifopt.org.uk/ifopt" +    xmlns:gml="http://www.opengis.net/gml/3.2" xmlns:core="http://www.govtalk.gov.uk/core" +    xmlns:siri="http://www.siri.org.uk/siri" version="1.0"> +    <netex:PublicationTimestamp>2017-02-14T09:13:51.0</netex:PublicationTimestamp> +    <netex:ParticipantRef>CITYWAY</netex:ParticipantRef> +    <netex:dataObjects> +        <netex:GeneralFrame id="CITYWAY:GeneralFrame:NETEX_CALENDRIER-1_20170214090012:LOC" version="any"> +            <netex:ValidBetween> +                <netex:FromDate>2017-03-01T00:00:00</netex:FromDate> +                <netex:ToDate>2017-12-31T00:00:00</netex:ToDate> +            </netex:ValidBetween> +            <netex:TypeOfFrameRef ref="NETEX_CALENDRIER"/> +            <netex:members> +                <netex:DayType id="CITYWAY:DayType:1:LOC" version="any"> +                    <netex:Name>Semaine</netex:Name> +                    <netex:properties> +                        <netex:PropertyOfDay> +                            <netex:DaysOfWeek>Monday</netex:DaysOfWeek> +                        </netex:PropertyOfDay> +                        <netex:PropertyOfDay> +                            <netex:DaysOfWeek>Tuesday</netex:DaysOfWeek> +                        </netex:PropertyOfDay> +                        <netex:PropertyOfDay> +                            <netex:DaysOfWeek>Wednesday</netex:DaysOfWeek> +                        </netex:PropertyOfDay> +                        <netex:PropertyOfDay> +                            <netex:DaysOfWeek>Thursday</netex:DaysOfWeek> +                        </netex:PropertyOfDay> +                        <netex:PropertyOfDay> +                            <netex:DaysOfWeek>Friday</netex:DaysOfWeek> +                        </netex:PropertyOfDay> +                    </netex:properties> +                </netex:DayType> +                <netex:DayType id="CITYWAY:DayType:2:LOC" version="any"> +                    <netex:Name>Fin de semaine</netex:Name> +                    <netex:properties> +                        <netex:PropertyOfDay> +                            <netex:DaysOfWeek>Saturday</netex:DaysOfWeek> +                        </netex:PropertyOfDay> +                        <netex:PropertyOfDay> +                            <netex:DaysOfWeek>Sunday</netex:DaysOfWeek> +                        </netex:PropertyOfDay> +                    </netex:properties> +                </netex:DayType> +                <netex:DayType id="CITYWAY:DayType:3:LOC" version="any"> +                    <netex:Name>Service spécial</netex:Name> +                </netex:DayType> +                <netex:DayType id="CITYWAY:DayType:4:LOC" version="any"> +                    <netex:Name>Restriction</netex:Name> +                </netex:DayType> +                <netex:DayTypeAssignment id="dta1" version="any" order="0"> +                    <netex:OperatingPeriodRef ref="CITYWAY:OperatingPeriod:1:LOC" version="any"/> +                    <netex:DayTypeRef ref="CITYWAY:DayType:1:LOC" version="any"/> +                </netex:DayTypeAssignment> +                <netex:DayTypeAssignment id="dta2" version="any" order="0"> +                    <netex:OperatingPeriodRef ref="CITYWAY:OperatingPeriod:1:LOC" version="any"/> +                    <netex:DayTypeRef ref="CITYWAY:DayType:2:LOC" version="any"/> +                </netex:DayTypeAssignment> +                <netex:DayTypeAssignment id="dta3" version="any" order="0"> +                    <netex:Date>2017-03-15</netex:Date> +                    <netex:DayTypeRef ref="CITYWAY:DayType:3:LOC" version="any"/> +                    <netex:isAvailable>true</netex:isAvailable> +                </netex:DayTypeAssignment> +                <netex:DayTypeAssignment id="dta4" version="any" order="0"> +                    <netex:Date>2017-03-15</netex:Date> +                    <netex:DayTypeRef ref="CITYWAY:DayType:4:LOC" version="any"/> +                    <netex:isAvailable>false</netex:isAvailable> +                </netex:DayTypeAssignment> +                <netex:OperatingPeriod id="CITYWAY:OperatingPeriod:1:LOC" version="any"> +                    <netex:FromDate>2017-01-01T00:00:00</netex:FromDate> +                    <netex:ToDate>2017-12-31T00:00:00</netex:ToDate> +                </netex:OperatingPeriod> + +            </netex:members> +        </netex:GeneralFrame> +    </netex:dataObjects> +</netex:PublicationDelivery> diff --git a/spec/fixtures/source_OFFRE_TRANSDEV_20170301122519/commun.xml b/spec/fixtures/source_OFFRE_TRANSDEV_20170301122519/commun.xml new file mode 100644 index 000000000..f59f8ac2d --- /dev/null +++ b/spec/fixtures/source_OFFRE_TRANSDEV_20170301122519/commun.xml @@ -0,0 +1,32 @@ +<?xml version="1.0" encoding="UTF-8"?> +<netex:PublicationDelivery xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" + xsi:schemaLocation="http://www.netex.org.uk/netex ../../xsd/NeTEx_publication.xsd" xmlns:netex="http://www.netex.org.uk/netex" + xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:ifopt="http://www.ifopt.org.uk/ifopt" xmlns:gml="http://www.opengis.net/gml/3.2" + xmlns:core="http://www.govtalk.gov.uk/core" xmlns:siri="http://www.siri.org.uk/siri" version="1.0"> +    <netex:PublicationTimestamp>2017-02-14T09:13:51.0</netex:PublicationTimestamp> +    <netex:ParticipantRef>CITYWAY</netex:ParticipantRef> +    <netex:dataObjects> +        <netex:GeneralFrame id="CITYWAY:GeneralFrame:NETEX_COMMUN-1_20170214090012:LOC" version="any"> +            <netex:TypeOfFrameRef ref="NETEX_COMMUN"/> +            <netex:members> +                +                    <netex:Notice id="CITYWAY:Notice:1:LOC" version="any"> +                        <netex:Text>Notice 1</netex:Text> +                        <netex:PublicCode>1</netex:PublicCode> +                        <netex:TypeOfNoticeRef ref="ServiceJourneyNotice"/> +                    </netex:Notice> +                    <netex:Notice id="CITYWAY:Notice:2:LOC" version="any"> +                        <netex:Text>Notice 2</netex:Text> +                        <netex:PublicCode>2</netex:PublicCode> +                        <netex:TypeOfNoticeRef ref="ServiceJourneyNotice"/> +                    </netex:Notice> +                    <netex:Notice id="CITYWAY:Notice:3:LOC" version="any"> +                        <netex:Text>Notice 3</netex:Text> +                        <netex:PublicCode>3</netex:PublicCode> +                        <netex:TypeOfNoticeRef ref="ServiceJourneyNotice"/> +                    </netex:Notice> +                 +            </netex:members> +        </netex:GeneralFrame> +    </netex:dataObjects> +</netex:PublicationDelivery> diff --git a/spec/fixtures/source_OFFRE_TRANSDEV_20170301122519/offre_C00108_9.xml b/spec/fixtures/source_OFFRE_TRANSDEV_20170301122519/offre_C00108_9.xml new file mode 100644 index 000000000..9eefeeb43 --- /dev/null +++ b/spec/fixtures/source_OFFRE_TRANSDEV_20170301122519/offre_C00108_9.xml @@ -0,0 +1,172 @@ +<?xml version="1.0" encoding="UTF-8"?> +<netex:PublicationDelivery xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" +    xsi:schemaLocation="http://www.netex.org.uk/netex ../../xsd/NeTEx_publication.xsd" xmlns:netex="http://www.netex.org.uk/netex" +    xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:ifopt="http://www.ifopt.org.uk/ifopt" +    xmlns:gml="http://www.opengis.net/gml/3.2" xmlns:core="http://www.govtalk.gov.uk/core" +    xmlns:siri="http://www.siri.org.uk/siri" version="1.0"> +    <netex:PublicationTimestamp>2017-02-14T09:13:51.0</netex:PublicationTimestamp> +    <netex:ParticipantRef>CITYWAY</netex:ParticipantRef> +    <netex:dataObjects> +        <netex:CompositeFrame id="CITYWAY:CompositeFrame:NETEX_OFFRE_LIGNE-1:LOC" version="any"> +            <netex:Name>Ligne 1</netex:Name> +            <netex:TypeOfFrameRef ref="NETEX_OFFRE_LIGNE"/> +            <netex:frames> +                <netex:GeneralFrame id="CITYWAY:GeneralFrame:NETEX_STRUCTURE-20170214090012:LOC" version="any"> +                    <netex:TypeOfFrameRef ref="NETEX_STRUCTURE"/> +                    <netex:members> + +                        <netex:Route id="CITYWAY:Route:1:LOC" version="any"> +                            <netex:Name>route 1</netex:Name> +                            <netex:LineRef ref="STIF:CODIFLIGNE:Line:C00108">version="any"</netex:LineRef> +                            <netex:DirectionType>outbound</netex:DirectionType> +                            <netex:DirectionRef ref="CITYWAY:Direction:1:LOC" version="any"/> +                            <netex:InverseRouteRef ref="CITYWAY:Route:2:LOC" version="any"/> +                        </netex:Route> +                        <netex:Route id="CITYWAY:Route:2:LOC" version="any"> +                            <netex:Name>route 2</netex:Name> +                            <netex:LineRef ref="STIF:CODIFLIGNE:Line:C00108">version="any"</netex:LineRef> +                            <netex:DirectionType>inbound</netex:DirectionType> +                            <netex:DirectionRef ref="CITYWAY:Direction:2:LOC" version="any"/> +                            <netex:InverseRouteRef ref="CITYWAY:Route:1:LOC" version="any"/> +                        </netex:Route> + + +                        <netex:Direction id="CITYWAY:Direction:1:LOC" version="any"> +                            <netex:Name>Par ici</netex:Name> +                        </netex:Direction> +                        <netex:Direction id="CITYWAY:Direction:2:LOC" version="any"> +                            <netex:Name>Par là</netex:Name> +                        </netex:Direction> + + +                        <netex:ServiceJourneyPattern id="CITYWAY:ServiceJourneyPattern:1:LOC" version="any"> +                            <netex:Name>Par ici</netex:Name> +                            <netex:RouteRef ref="CITYWAY:Route:1:LOC" version="any"/> +                            <netex:DestinationDisplayRef ref="CITYWAY:DestinationDisplay:1:LOC" version="any"/> +                            <netex:pointsInSequence> +                                <netex:StopPointInJourneyPattern id="CITYWAY:StopPointInJourneyPattern:1-1-1:LOC" order="1" +                                    version="any"> +                                    <netex:ScheduledStopPointRef ref="CITYWAY:ScheduledStopPoint:1-1:LOC" version="any"/> +                                    <netex:ForAlighting>true</netex:ForAlighting> +                                    <netex:ForBoarding>true</netex:ForBoarding> +                                </netex:StopPointInJourneyPattern> +                                <netex:StopPointInJourneyPattern id="CITYWAY:StopPointInJourneyPattern:1-1-2:LOC" order="2" +                                    version="any"> +                                    <netex:ScheduledStopPointRef ref="CITYWAY:ScheduledStopPoint:1-2:LOC" version="any"/> +                                    <netex:ForAlighting>true</netex:ForAlighting> +                                    <netex:ForBoarding>true</netex:ForBoarding> +                                </netex:StopPointInJourneyPattern> +                            </netex:pointsInSequence> +                            <netex:ServiceJourneyPatternType>passenger</netex:ServiceJourneyPatternType> +                        </netex:ServiceJourneyPattern> +                        <netex:ServiceJourneyPattern id="CITYWAY:ServiceJourneyPattern:2:LOC" version="any"> +                            <netex:Name>Par là</netex:Name> +                            <netex:RouteRef ref="CITYWAY:Route:2:LOC" version="any"/> +                            <netex:DestinationDisplayRef ref="CITYWAY:DestinationDisplay:2:LOC" version="any"/> +                            <netex:pointsInSequence> +                                <netex:StopPointInJourneyPattern id="CITYWAY:StopPointInJourneyPattern:2-2-1:LOC" order="1" +                                    version="any"> +                                    <netex:ScheduledStopPointRef ref="CITYWAY:ScheduledStopPoint:2-1:LOC" version="any"/> +                                    <netex:ForAlighting>true</netex:ForAlighting> +                                    <netex:ForBoarding>true</netex:ForBoarding> +                                </netex:StopPointInJourneyPattern> +                                <netex:StopPointInJourneyPattern id="CITYWAY:StopPointInJourneyPattern:2-2-2:LOC" order="2" +                                    version="any"> +                                    <netex:ScheduledStopPointRef ref="CITYWAY:ScheduledStopPoint:2-2:LOC" version="any"/> +                                    <netex:ForAlighting>true</netex:ForAlighting> +                                    <netex:ForBoarding>true</netex:ForBoarding> +                                </netex:StopPointInJourneyPattern> +                            </netex:pointsInSequence> +                            <netex:ServiceJourneyPatternType>passenger</netex:ServiceJourneyPatternType> +                        </netex:ServiceJourneyPattern> + + +                        <netex:DestinationDisplay id="CITYWAY:DestinationDisplay:1:LOC" version="any"> +                            <netex:FrontText>Mission 1</netex:FrontText> +                            <netex:PublicCode>1234</netex:PublicCode> +                        </netex:DestinationDisplay> +                        <netex:DestinationDisplay id="CITYWAY:DestinationDisplay:2:LOC" version="any"> +                            <netex:FrontText>Mission 2</netex:FrontText> +                            <netex:PublicCode>2345</netex:PublicCode> +                        </netex:DestinationDisplay> + + +                        <netex:ScheduledStopPoint id="CITYWAY:ScheduledStopPoint:1-1:LOC" version="any"/> +                        <netex:ScheduledStopPoint id="CITYWAY:ScheduledStopPoint:1-2:LOC" version="any"/> +                        <netex:ScheduledStopPoint id="CITYWAY:ScheduledStopPoint:2-1:LOC" version="any"/> +                        <netex:ScheduledStopPoint id="CITYWAY:ScheduledStopPoint:2-2:LOC" version="any"/> + + +                        <netex:PassengerStopAssignment id="CITYWAY:PassengerStopAssignment:1-1:LOC" version="any" order="0"> +                            <netex:ScheduledStopPointRef ref="CITYWAY:ScheduledStopPoint:1-1:LOC" version="any"/> +                            <netex:QuayRef ref="FR:78217:ZDE:50094817:STIF">version="any"</netex:QuayRef> +                        </netex:PassengerStopAssignment> +                        <netex:PassengerStopAssignment id="CITYWAY:PassengerStopAssignment:2-1:LOC" version="any" order="0"> +                            <netex:ScheduledStopPointRef ref="CITYWAY:ScheduledStopPoint:2-1:LOC" version="any"/> +                            <netex:QuayRef ref="FR:78217:ZDE:50009052:STIF">version="any"</netex:QuayRef> +                        </netex:PassengerStopAssignment> +                        <netex:PassengerStopAssignment id="CITYWAY:PassengerStopAssignment:1-2:LOC" version="any" order="0"> +                            <netex:ScheduledStopPointRef ref="CITYWAY:ScheduledStopPoint:1-2:LOC" version="any"/> +                            <netex:QuayRef ref="FR:78217:ZDE:50009053:STIF">version="any"</netex:QuayRef> +                        </netex:PassengerStopAssignment> +                        <netex:PassengerStopAssignment id="CITYWAY:PassengerStopAssignment:2-2:LOC" version="any" order="0"> +                            <netex:ScheduledStopPointRef ref="CITYWAY:ScheduledStopPoint:2-2:LOC" version="any"/> +                            <netex:QuayRef ref="FR:78217:ZDE:50094816:STIF">version="any"</netex:QuayRef> +                        </netex:PassengerStopAssignment> + + +                        <netex:RoutingConstraintZone id="CITYWAY:RoutingConstraintZone:1:LOC" version="any"> +                            <netex:Name>ITL 1</netex:Name> +                            <netex:members> +                                <netex:ScheduledStopPointRef ref="CITYWAY:ScheduledStopPoint:1-1:LOC" version="any"/> +                                <netex:ScheduledStopPointRef ref="CITYWAY:ScheduledStopPoint:1-2:LOC" version="any"/> +                            </netex:members> +                            <netex:ZoneUse>cannotBoardAndAlightInSameZone</netex:ZoneUse> +                        </netex:RoutingConstraintZone> + +                    </netex:members> +                </netex:GeneralFrame> +                <netex:GeneralFrame id="CITYWAY:GeneralFrame:NETEX_HORAIRE-20170214090012:LOC" version="any"> +                    <netex:TypeOfFrameRef ref="NETEX_HORAIRE"/> +                    <netex:members> + +                        <netex:ServiceJourney id="CITYWAY:ServiceJourney:1-1:LOC" version="any"> +                            <netex:Name>Course 1 par ici</netex:Name> +                            <netex:noticeAssignments> +                                <netex:NoticeAssignment id="ns1" version="any" order="0"> +                                    <netex:NoticeRef ref="CITYWAY:Notice:1:LOC"> +                                            version="any"</netex:NoticeRef> +                                </netex:NoticeAssignment> +                            </netex:noticeAssignments> +                            <netex:dayTypes> +                                <netex:DayTypeRef ref="CITYWAY:DayType:1:LOC"> version="any"</netex:DayTypeRef> +                            </netex:dayTypes> + +                            <netex:JourneyPatternRef ref="CITYWAY:ServiceJourneyPattern:1:LOC" version="any"/> +                            <netex:OperatorRef ref="STIF:CODIFLIGNE:Operator:011"> +                                    version="any"</netex:OperatorRef> +                            <netex:trainNumbers> +                                <netex:TrainNumberRef ref="CITYWAY:TrainNumber:1234:LOC">version="any"</netex:TrainNumberRef> +                            </netex:trainNumbers> +                            <netex:passingTimes> +                                <netex:TimetabledPassingTime version="any"> +                                    <netex:ArrivalTime>01:01:00.000</netex:ArrivalTime> +                                    <netex:ArrivalDayOffset>0</netex:ArrivalDayOffset> +                                    <netex:DepartureTime>01:01:00.000</netex:DepartureTime> +                                    <netex:DepartureDayOffset>0</netex:DepartureDayOffset> +                                </netex:TimetabledPassingTime> +                                <netex:TimetabledPassingTime version="any"> +                                    <netex:ArrivalTime>01:05:00.000</netex:ArrivalTime> +                                    <netex:ArrivalDayOffset>0</netex:ArrivalDayOffset> +                                    <netex:DepartureTime>01:05:00.000</netex:DepartureTime> +                                    <netex:DepartureDayOffset>0</netex:DepartureDayOffset> +                                </netex:TimetabledPassingTime> +                            </netex:passingTimes> +                        </netex:ServiceJourney> + +                    </netex:members> +                </netex:GeneralFrame> +            </netex:frames> +        </netex:CompositeFrame> +    </netex:dataObjects> +</netex:PublicationDelivery> diff --git a/spec/fixtures/source_OFFRE_TRANSDEV_20170301122519/offre_C00109_10.xml b/spec/fixtures/source_OFFRE_TRANSDEV_20170301122519/offre_C00109_10.xml new file mode 100644 index 000000000..d260ef17e --- /dev/null +++ b/spec/fixtures/source_OFFRE_TRANSDEV_20170301122519/offre_C00109_10.xml @@ -0,0 +1,172 @@ +<?xml version="1.0" encoding="UTF-8"?> +<netex:PublicationDelivery xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" +    xsi:schemaLocation="http://www.netex.org.uk/netex ../../xsd/NeTEx_publication.xsd" xmlns:netex="http://www.netex.org.uk/netex" +    xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:ifopt="http://www.ifopt.org.uk/ifopt" +    xmlns:gml="http://www.opengis.net/gml/3.2" xmlns:core="http://www.govtalk.gov.uk/core" +    xmlns:siri="http://www.siri.org.uk/siri" version="1.0"> +    <netex:PublicationTimestamp>2017-02-14T09:13:51.0</netex:PublicationTimestamp> +    <netex:ParticipantRef>CITYWAY</netex:ParticipantRef> +    <netex:dataObjects> +        <netex:CompositeFrame id="CITYWAY:CompositeFrame:NETEX_OFFRE_LIGNE-1:LOC" version="any"> +            <netex:Name>Ligne 1</netex:Name> +            <netex:TypeOfFrameRef ref="NETEX_OFFRE_LIGNE"/> +            <netex:frames> +                <netex:GeneralFrame id="CITYWAY:GeneralFrame:NETEX_STRUCTURE-20170214090012:LOC" version="any"> +                    <netex:TypeOfFrameRef ref="NETEX_STRUCTURE"/> +                    <netex:members> + +                        <netex:Route id="CITYWAY:Route:1:LOC" version="any"> +                            <netex:Name>route 1</netex:Name> +                            <netex:LineRef ref="STIF:CODIFLIGNE:Line:C00109">version="any"</netex:LineRef> +                            <netex:DirectionType>outbound</netex:DirectionType> +                            <netex:DirectionRef ref="CITYWAY:Direction:1:LOC" version="any"/> +                            <netex:InverseRouteRef ref="CITYWAY:Route:2:LOC" version="any"/> +                        </netex:Route> +                        <netex:Route id="CITYWAY:Route:2:LOC" version="any"> +                            <netex:Name>route 2</netex:Name> +                            <netex:LineRef ref="STIF:CODIFLIGNE:Line:C00109">version="any"</netex:LineRef> +                            <netex:DirectionType>inbound</netex:DirectionType> +                            <netex:DirectionRef ref="CITYWAY:Direction:2:LOC" version="any"/> +                            <netex:InverseRouteRef ref="CITYWAY:Route:1:LOC" version="any"/> +                        </netex:Route> + + +                        <netex:Direction id="CITYWAY:Direction:1:LOC" version="any"> +                            <netex:Name>Par ici aussi</netex:Name> +                        </netex:Direction> +                        <netex:Direction id="CITYWAY:Direction:2:LOC" version="any"> +                            <netex:Name>Par là aussi</netex:Name> +                        </netex:Direction> + + +                        <netex:ServiceJourneyPattern id="CITYWAY:ServiceJourneyPattern:1:LOC" version="any"> +                            <netex:Name>Par ici itou</netex:Name> +                            <netex:RouteRef ref="CITYWAY:Route:1:LOC" version="any"/> +                            <netex:DestinationDisplayRef ref="CITYWAY:DestinationDisplay:1:LOC" version="any"/> +                            <netex:pointsInSequence> +                                <netex:StopPointInJourneyPattern id="CITYWAY:StopPointInJourneyPattern:1-1-1:LOC" order="1" +                                    version="any"> +                                    <netex:ScheduledStopPointRef ref="CITYWAY:ScheduledStopPoint:1-1:LOC" version="any"/> +                                    <netex:ForAlighting>true</netex:ForAlighting> +                                    <netex:ForBoarding>true</netex:ForBoarding> +                                </netex:StopPointInJourneyPattern> +                                <netex:StopPointInJourneyPattern id="CITYWAY:StopPointInJourneyPattern:1-1-2:LOC" order="2" +                                    version="any"> +                                    <netex:ScheduledStopPointRef ref="CITYWAY:ScheduledStopPoint:1-2:LOC" version="any"/> +                                    <netex:ForAlighting>true</netex:ForAlighting> +                                    <netex:ForBoarding>true</netex:ForBoarding> +                                </netex:StopPointInJourneyPattern> +                            </netex:pointsInSequence> +                            <netex:ServiceJourneyPatternType>passenger</netex:ServiceJourneyPatternType> +                        </netex:ServiceJourneyPattern> +                        <netex:ServiceJourneyPattern id="CITYWAY:ServiceJourneyPattern:2:LOC" version="any"> +                            <netex:Name>Par là itou</netex:Name> +                            <netex:RouteRef ref="CITYWAY:Route:2:LOC" version="any"/> +                            <netex:DestinationDisplayRef ref="CITYWAY:DestinationDisplay:2:LOC" version="any"/> +                            <netex:pointsInSequence> +                                <netex:StopPointInJourneyPattern id="CITYWAY:StopPointInJourneyPattern:2-2-1:LOC" order="1" +                                    version="any"> +                                    <netex:ScheduledStopPointRef ref="CITYWAY:ScheduledStopPoint:2-1:LOC" version="any"/> +                                    <netex:ForAlighting>true</netex:ForAlighting> +                                    <netex:ForBoarding>true</netex:ForBoarding> +                                </netex:StopPointInJourneyPattern> +                                <netex:StopPointInJourneyPattern id="CITYWAY:StopPointInJourneyPattern:2-2-2:LOC" order="2" +                                    version="any"> +                                    <netex:ScheduledStopPointRef ref="CITYWAY:ScheduledStopPoint:2-2:LOC" version="any"/> +                                    <netex:ForAlighting>true</netex:ForAlighting> +                                    <netex:ForBoarding>true</netex:ForBoarding> +                                </netex:StopPointInJourneyPattern> +                            </netex:pointsInSequence> +                            <netex:ServiceJourneyPatternType>passenger</netex:ServiceJourneyPatternType> +                        </netex:ServiceJourneyPattern> + + +                        <netex:DestinationDisplay id="CITYWAY:DestinationDisplay:1:LOC" version="any"> +                            <netex:FrontText>Mission 1 bis</netex:FrontText> +                            <netex:PublicCode>1234</netex:PublicCode> +                        </netex:DestinationDisplay> +                        <netex:DestinationDisplay id="CITYWAY:DestinationDisplay:2:LOC" version="any"> +                            <netex:FrontText>Mission 2 bis</netex:FrontText> +                            <netex:PublicCode>2345</netex:PublicCode> +                        </netex:DestinationDisplay> + + +                        <netex:ScheduledStopPoint id="CITYWAY:ScheduledStopPoint:1-1:LOC" version="any"/> +                        <netex:ScheduledStopPoint id="CITYWAY:ScheduledStopPoint:1-2:LOC" version="any"/> +                        <netex:ScheduledStopPoint id="CITYWAY:ScheduledStopPoint:2-1:LOC" version="any"/> +                        <netex:ScheduledStopPoint id="CITYWAY:ScheduledStopPoint:2-2:LOC" version="any"/> + + +                        <netex:PassengerStopAssignment id="CITYWAY:PassengerStopAssignment:1-1:LOC" version="any" order="0"> +                            <netex:ScheduledStopPointRef ref="CITYWAY:ScheduledStopPoint:1-1:LOC" version="any"/> +                            <netex:QuayRef ref="FR:78217:ZDE:50094817:STIF">version="any"</netex:QuayRef> +                        </netex:PassengerStopAssignment> +                        <netex:PassengerStopAssignment id="CITYWAY:PassengerStopAssignment:2-1:LOC" version="any" order="0"> +                            <netex:ScheduledStopPointRef ref="CITYWAY:ScheduledStopPoint:2-1:LOC" version="any"/> +                            <netex:QuayRef ref="FR:78402:ZDE:50000918:STIF">version="any"</netex:QuayRef> +                        </netex:PassengerStopAssignment> +                        <netex:PassengerStopAssignment id="CITYWAY:PassengerStopAssignment:1-2:LOC" version="any" order="0"> +                            <netex:ScheduledStopPointRef ref="CITYWAY:ScheduledStopPoint:1-2:LOC" version="any"/> +                            <netex:QuayRef ref="FR:78402:ZDE:50000917:STIF">version="any"</netex:QuayRef> +                        </netex:PassengerStopAssignment> +                        <netex:PassengerStopAssignment id="CITYWAY:PassengerStopAssignment:2-2:LOC" version="any" order="0"> +                            <netex:ScheduledStopPointRef ref="CITYWAY:ScheduledStopPoint:2-2:LOC" version="any"/> +                            <netex:QuayRef ref="FR:78217:ZDE:50094816:STIF">version="any"</netex:QuayRef> +                        </netex:PassengerStopAssignment> + + +                        <netex:RoutingConstraintZone id="CITYWAY:RoutingConstraintZone:1:LOC" version="any"> +                            <netex:Name>ITL 1</netex:Name> +                            <netex:members> +                                <netex:ScheduledStopPointRef ref="CITYWAY:ScheduledStopPoint:1-1:LOC" version="any"/> +                                <netex:ScheduledStopPointRef ref="CITYWAY:ScheduledStopPoint:1-2:LOC" version="any"/> +                            </netex:members> +                            <netex:ZoneUse>cannotBoardAndAlightInSameZone</netex:ZoneUse> +                        </netex:RoutingConstraintZone> + +                    </netex:members> +                </netex:GeneralFrame> +                <netex:GeneralFrame id="CITYWAY:GeneralFrame:NETEX_HORAIRE-20170214090012:LOC" version="any"> +                    <netex:TypeOfFrameRef ref="NETEX_HORAIRE"/> +                    <netex:members> + +                        <netex:ServiceJourney id="CITYWAY:ServiceJourney:1-1:LOC" version="any"> +                            <netex:Name>Course 1 par ici aussi</netex:Name> +                            <netex:noticeAssignments> +                                <netex:NoticeAssignment id="ns1" version="any" order="0"> +                                    <netex:NoticeRef ref="CITYWAY:Notice:2:LOC"> +                                            version="any"</netex:NoticeRef> +                                </netex:NoticeAssignment> +                            </netex:noticeAssignments> +                            <netex:dayTypes> +                                <netex:DayTypeRef ref="CITYWAY:DayType:1:LOC"> version="any"</netex:DayTypeRef> +                                <netex:DayTypeRef ref="CITYWAY:DayType:4:LOC"> version="any"</netex:DayTypeRef> +                            </netex:dayTypes> +                            <netex:JourneyPatternRef ref="CITYWAY:ServiceJourneyPattern:1:LOC" version="any"/> +                            <netex:OperatorRef ref="STIF:CODIFLIGNE:Operator:212"> +                                    version="any"</netex:OperatorRef> +                            <netex:trainNumbers> +                                <netex:TrainNumberRef ref="CITYWAY:TrainNumber:1234:LOC">version="any"</netex:TrainNumberRef> +                            </netex:trainNumbers> +                            <netex:passingTimes> +                                <netex:TimetabledPassingTime version="any"> +                                    <netex:ArrivalTime>23:58:00.000</netex:ArrivalTime> +                                    <netex:ArrivalDayOffset>0</netex:ArrivalDayOffset> +                                    <netex:DepartureTime>23:59:00.000</netex:DepartureTime> +                                    <netex:DepartureDayOffset>0</netex:DepartureDayOffset> +                                </netex:TimetabledPassingTime> +                                <netex:TimetabledPassingTime version="any"> +                                    <netex:ArrivalTime>00:03:00.000</netex:ArrivalTime> +                                    <netex:ArrivalDayOffset>1</netex:ArrivalDayOffset> +                                    <netex:DepartureTime>00:04:00.000</netex:DepartureTime> +                                    <netex:DepartureDayOffset>1</netex:DepartureDayOffset> +                                </netex:TimetabledPassingTime> +                            </netex:passingTimes> +                        </netex:ServiceJourney> + +                    </netex:members> +                </netex:GeneralFrame> +            </netex:frames> +        </netex:CompositeFrame> +    </netex:dataObjects> +</netex:PublicationDelivery> diff --git a/spec/fixtures/target/OFFRE_TRANSDEV_20170301122517/calendrier.xml b/spec/fixtures/target/OFFRE_TRANSDEV_20170301122517/calendrier.xml new file mode 100644 index 000000000..bfbd0aea1 --- /dev/null +++ b/spec/fixtures/target/OFFRE_TRANSDEV_20170301122517/calendrier.xml @@ -0,0 +1,86 @@ +<?xml version="1.0" encoding="UTF-8"?> +<netex:PublicationDelivery xmlns:netex="http://www.netex.org.uk/netex" +    xmlns:siri="http://www.siri.org.uk/siri" xmlns:core="http://www.govtalk.gov.uk/core" +    xmlns:gml="http://www.opengis.net/gml/3.2" xmlns:ifopt="http://www.ifopt.org.uk/ifopt" +    xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" +    version="1.0"> +    <netex:PublicationTimestamp>2017-02-14T09:13:51.0</netex:PublicationTimestamp> +    <netex:ParticipantRef>CITYWAY</netex:ParticipantRef> +    <netex:dataObjects> +        <netex:GeneralFrame id="CITYWAY:GeneralFrame:NETEX_CALENDRIER-1_20170214090012:LOC" +            version="any"> +            <netex:TypeOfFrameRef ref="NETEX_CALENDRIER"/> +            <netex:ValidBetween> +                <netex:FromDate>2017-03-01</netex:FromDate> +                <netex:ToDate>2017-03-31</netex:ToDate> +            </netex:ValidBetween> +            <netex:members>  +                <netex:dayTypes> +                    <netex:DayType id="CITYWAY:DayType:1:LOC"  version="any" > +                        <netex:Name>Semaine</netex:Name> +                        <netex:properties> +                            <netex:PropertyOfDay> +                                <netex:DaysOfWeek>Monday</netex:DaysOfWeek> +                            </netex:PropertyOfDay> +                            <netex:PropertyOfDay> +                                <netex:DaysOfWeek>Tuesday</netex:DaysOfWeek> +                            </netex:PropertyOfDay> +                            <netex:PropertyOfDay> +                                <netex:DaysOfWeek>Wednesday</netex:DaysOfWeek> +                            </netex:PropertyOfDay> +                            <netex:PropertyOfDay> +                                <netex:DaysOfWeek>Thursday</netex:DaysOfWeek> +                            </netex:PropertyOfDay> +                            <netex:PropertyOfDay> +                                <netex:DaysOfWeek>Friday</netex:DaysOfWeek> +                            </netex:PropertyOfDay> +                        </netex:properties> +                    </netex:DayType>                     +                    <netex:DayType id="CITYWAY:DayType:2:LOC"  version="any" > +                        <netex:Name>Fin de semaine</netex:Name> +                        <netex:properties> +                            <netex:PropertyOfDay> +                                <netex:DaysOfWeek>Saturday</netex:DaysOfWeek> +                            </netex:PropertyOfDay> +                            <netex:PropertyOfDay> +                                <netex:DaysOfWeek>Sunday</netex:DaysOfWeek> +                            </netex:PropertyOfDay> +                        </netex:properties> +                    </netex:DayType>                     +                    <netex:DayType id="CITYWAY:DayType:3:LOC"  version="any" > +                        <netex:Name>Service spécial</netex:Name> +                    </netex:DayType>                     +                    <netex:DayType id="CITYWAY:DayType:4:LOC"  version="any" > +                        <netex:Name>Restriction</netex:Name> +                    </netex:DayType>                     +                </netex:dayTypes> +                <netex:dayTypeAssignments> +                    <netex:DayTypeAssignment version="any" > +                        <netex:OperatingPeriodRef ref="CITYWAY:OperatingPeriod:1:LOC" version="any"/> +                        <netex:DayTypeRef ref="CITYWAY:DayType:1:LOC" version="any"/> +                    </netex:DayTypeAssignment> +                    <netex:DayTypeAssignment version="any" > +                        <netex:OperatingPeriodRef ref="CITYWAY:OperatingPeriod:1:LOC" version="any"/> +                        <netex:DayTypeRef ref="CITYWAY:DayType:2:LOC" version="any"/> +                    </netex:DayTypeAssignment> +                    <netex:DayTypeAssignment version="any" > +                        <netex:Date>2017-03-15</netex:Date> +                        <netex:DayTypeRef ref="CITYWAY:DayType:3:LOC" version="any"/> +                        <netex:isAvailable>true</netex:isAvailable>  +                    </netex:DayTypeAssignment> +                    <netex:DayTypeAssignment version="any" > +                        <netex:Date>2017-03-15</netex:Date> +                        <netex:DayTypeRef ref="CITYWAY:DayType:4:LOC" version="any"/> +                        <netex:isAvailable>false</netex:isAvailable>  +                    </netex:DayTypeAssignment> +                </netex:dayTypeAssignments> +                <netex:operatingPeriods> +                    <netex:OperatingPeriod id="CITYWAY:OperatingPeriod:1:LOC" version="any" > +                        <netex:FromDate>2017-01-01</netex:FromDate> +                        <netex:ToDate>2017-12-31</netex:ToDate> +                    </netex:OperatingPeriod> +                </netex:operatingPeriods> +            </netex:members> +        </netex:GeneralFrame> +    </netex:dataObjects> +</netex:PublicationDelivery> diff --git a/spec/fixtures/target/OFFRE_TRANSDEV_20170301122517/commun.xml b/spec/fixtures/target/OFFRE_TRANSDEV_20170301122517/commun.xml new file mode 100644 index 000000000..266c8a598 --- /dev/null +++ b/spec/fixtures/target/OFFRE_TRANSDEV_20170301122517/commun.xml @@ -0,0 +1,33 @@ +<?xml version="1.0" encoding="UTF-8"?> +<netex:PublicationDelivery xmlns:netex="http://www.netex.org.uk/netex" +    xmlns:siri="http://www.siri.org.uk/siri" xmlns:core="http://www.govtalk.gov.uk/core" +    xmlns:gml="http://www.opengis.net/gml/3.2" xmlns:ifopt="http://www.ifopt.org.uk/ifopt" +    xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" +    version="1.0"> +    <netex:PublicationTimestamp>2017-02-14T09:13:51.0</netex:PublicationTimestamp> +    <netex:ParticipantRef>CITYWAY</netex:ParticipantRef> +    <netex:dataObjects> +        <netex:GeneralFrame id="CITYWAY:GeneralFrame:NETEX_COMMUN-1_20170214090012:LOC" version="any"> +            <netex:TypeOfFrameRef ref="NETEX_COMMUN"/> +            <netex:members> +                <netex:notices> +                    <netex:Notice id="CITYWAY:Notice:1:LOC" version="any"> +                        <netex:Text>Notice 1</netex:Text> +                        <netex:PublicCode>1</netex:PublicCode> +                        <netex:TypeOfNoticeRef>ServiceJourneyNotice</netex:TypeOfNoticeRef> +                    </netex:Notice> +                    <netex:Notice id="CITYWAY:Notice:2:LOC" version="any"> +                        <netex:Text>Notice 2</netex:Text> +                        <netex:PublicCode>2</netex:PublicCode> +                        <netex:TypeOfNoticeRef>ServiceJourneyNotice</netex:TypeOfNoticeRef> +                    </netex:Notice> +                    <netex:Notice id="CITYWAY:Notice:3:LOC" version="any"> +                        <netex:Text>Notice 3</netex:Text> +                        <netex:PublicCode>3</netex:PublicCode> +                        <netex:TypeOfNoticeRef>ServiceJourneyNotice</netex:TypeOfNoticeRef> +                    </netex:Notice> +                </netex:notices> +            </netex:members> +        </netex:GeneralFrame> +    </netex:dataObjects> +</netex:PublicationDelivery> diff --git a/spec/fixtures/target/OFFRE_TRANSDEV_20170301122517/offre_C00108_9.xml b/spec/fixtures/target/OFFRE_TRANSDEV_20170301122517/offre_C00108_9.xml new file mode 100644 index 000000000..832793036 --- /dev/null +++ b/spec/fixtures/target/OFFRE_TRANSDEV_20170301122517/offre_C00108_9.xml @@ -0,0 +1,202 @@ +<?xml version="1.0" encoding="UTF-8"?> +<netex:PublicationDelivery xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" + xsi:schemaLocation="http://www.netex.org.uk/netex ../../xsd/NeTEx_publication.xsd" + xmlns:netex="http://www.netex.org.uk/netex" xmlns:xlink="http://www.w3.org/1999/xlink" + xmlns:ifopt="http://www.ifopt.org.uk/ifopt" xmlns:gml="http://www.opengis.net/gml/3.2" + xmlns:core="http://www.govtalk.gov.uk/core" xmlns:siri="http://www.siri.org.uk/siri" version="1.0"> +    <netex:PublicationTimestamp>2017-02-14T09:13:51.0</netex:PublicationTimestamp> +    <netex:ParticipantRef>CITYWAY</netex:ParticipantRef> +    <netex:dataObjects> +        <netex:CompositeFrame id="CITYWAY:CompositeFrame:NETEX_OFFRE_LIGNE-1:LOC" version="any"> +            <netex:Name>Ligne 1</netex:Name> +            <netex:TypeOfFrameRef ref="NETEX_OFFRE_LIGNE"/> +            <netex:frames> +                <netex:GeneralFrame id="CITYWAY:GeneralFrame:NETEX_STRUCTURE-20170214090012:LOC" +                    version="any"> +                    <netex:TypeOfFrameRef ref="NETEX_STRUCTURE"/> +                    <netex:members> +                        <netex:routes> +                            <netex:Route id="CITYWAY:Route:1:LOC" version="any"> +                                <netex:Name>route 1</netex:Name> +										  <netex:LineRef ref="STIF:CODIFLIGNE:Line:C00108">version="any"</netex:LineRef> +                                <netex:DirectionType>outbound</netex:DirectionType> +                                <netex:DirectionRef ref="CITYWAY:Direction:1:LOC" version="any"/> +                                <netex:InverseRouteRef ref="CITYWAY:Route:2:LOC" version="any"/> +                            </netex:Route> +                            <netex:Route id="CITYWAY:Route:2:LOC" version="any"> +                                <netex:Name>route 2</netex:Name> +										  <netex:LineRef ref="STIF:CODIFLIGNE:Line:C00108">version="any"</netex:LineRef> +                                <netex:DirectionType>inbound</netex:DirectionType> +                                <netex:DirectionRef ref="CITYWAY:Direction:2:LOC" version="any"/> +                                <netex:InverseRouteRef ref="CITYWAY:Route:1:LOC" version="any"/> +                            </netex:Route> +                        </netex:routes> +                        <netex:directions> +                            <netex:Direction id="CITYWAY:Direction:1:LOC" version="any"> +                                <netex:Name>Par ici</netex:Name> +                            </netex:Direction> +                            <netex:Direction id="CITYWAY:Direction:2:LOC" version="any"> +                                <netex:Name>Par là</netex:Name> +                            </netex:Direction> +                        </netex:directions> +                        <netex:serviceJourneyPatterns> +                            <netex:ServiceJourneyPattern id="CITYWAY:ServiceJourneyPattern:1:LOC" +                                version="any"> +                                <netex:Name>Par ici</netex:Name> +                                <netex:RouteRef ref="CITYWAY:Route:1:LOC" version="any"/> +                                <netex:DestinationDisplayRef ref="CITYWAY:DestinationDisplay:1:LOC" +                                    version="any"/> +                                <netex:pointsInSequence> +                                    <netex:StopPointInJourneyPattern +                                        id="CITYWAY:StopPointInJourneyPattern:1-1-1:LOC" order="1" +                                        version="any"> +                                        <netex:ScheduledStopPointRef +                                            ref="CITYWAY:ScheduledStopPoint:1-1:LOC" version="any"/> +                                        <netex:ForAlighting>true</netex:ForAlighting> +                                        <netex:ForBoarding>true</netex:ForBoarding> +                                    </netex:StopPointInJourneyPattern> +                                    <netex:StopPointInJourneyPattern +                                        id="CITYWAY:StopPointInJourneyPattern:1-1-2:LOC" order="2" +                                        version="any"> +                                        <netex:ScheduledStopPointRef +                                            ref="CITYWAY:ScheduledStopPoint:1-2:LOC" version="any"/> +                                        <netex:ForAlighting>true</netex:ForAlighting> +                                        <netex:ForBoarding>true</netex:ForBoarding> +                                    </netex:StopPointInJourneyPattern> +                                </netex:pointsInSequence> +                                <netex:ServiceJourneyPatternType>passenger</netex:ServiceJourneyPatternType> +                            </netex:ServiceJourneyPattern> +                            <netex:ServiceJourneyPattern id="CITYWAY:ServiceJourneyPattern:2:LOC" +                                version="any"> +                                <netex:Name>Par là</netex:Name> +                                <netex:RouteRef ref="CITYWAY:Route:2:LOC" version="any"/> +                                <netex:DestinationDisplayRef ref="CITYWAY:DestinationDisplay:2:LOC" +                                    version="any"/> +                                <netex:pointsInSequence> +                                    <netex:StopPointInJourneyPattern +                                        id="CITYWAY:StopPointInJourneyPattern:2-2-1:LOC" order="1" +                                        version="any"> +                                        <netex:ScheduledStopPointRef +                                            ref="CITYWAY:ScheduledStopPoint:2-1:LOC" version="any"/> +                                        <netex:ForAlighting>true</netex:ForAlighting> +                                        <netex:ForBoarding>true</netex:ForBoarding> +                                    </netex:StopPointInJourneyPattern> +                                    <netex:StopPointInJourneyPattern +                                        id="CITYWAY:StopPointInJourneyPattern:2-2-2:LOC" order="2" +                                        version="any"> +                                        <netex:ScheduledStopPointRef +                                            ref="CITYWAY:ScheduledStopPoint:2-2:LOC" version="any"/> +                                        <netex:ForAlighting>true</netex:ForAlighting> +                                        <netex:ForBoarding>true</netex:ForBoarding> +                                    </netex:StopPointInJourneyPattern> +                                </netex:pointsInSequence> +                                <netex:ServiceJourneyPatternType>passenger</netex:ServiceJourneyPatternType> +                            </netex:ServiceJourneyPattern> +                        </netex:serviceJourneyPatterns> +                        <netex:destinationDisplays> +                            <netex:DestinationDisplay id="CITYWAY:DestinationDisplay:1:LOC" +                                version="any"> +                                <netex:FrontText>Mission 1</netex:FrontText> +                                <netex:PublicCode>1234</netex:PublicCode> +                            </netex:DestinationDisplay> +                            <netex:DestinationDisplay id="CITYWAY:DestinationDisplay:2:LOC" +                                version="any"> +                                <netex:FrontText>Mission 2</netex:FrontText> +                                <netex:PublicCode>2345</netex:PublicCode> +                            </netex:DestinationDisplay> +                        </netex:destinationDisplays> +                        <netex:scheduledStopPoints> +                            <netex:ScheduledStopPoint id="CITYWAY:ScheduledStopPoint:1-1:LOC" +                                version="any"/> +                            <netex:ScheduledStopPoint id="CITYWAY:ScheduledStopPoint:1-2:LOC" +                                version="any"/> +                            <netex:ScheduledStopPoint id="CITYWAY:ScheduledStopPoint:2-1:LOC" +                                version="any"/> +                            <netex:ScheduledStopPoint id="CITYWAY:ScheduledStopPoint:2-2:LOC" +                                version="any"/> +                        </netex:scheduledStopPoints> +                        <netex:passengerStopAssignments> +                            <netex:PassengerStopAssignment +                                id="CITYWAY:PassengerStopAssignment:1-1:LOC" version="any"> +                                <netex:ScheduledStopPointRef +                                    ref="CITYWAY:ScheduledStopPoint:1-1:LOC" version="any"/> +										  <netex:QuayRef ref="FR:78217:ZDE:50094817:STIF">version="any"</netex:QuayRef> +                            </netex:PassengerStopAssignment> +                            <netex:PassengerStopAssignment +                                id="CITYWAY:PassengerStopAssignment:2-1:LOC" version="any"> +                                <netex:ScheduledStopPointRef +                                    ref="CITYWAY:ScheduledStopPoint:2-1:LOC" version="any"/> +										  <netex:QuayRef ref="FR:78217:ZDE:50009052:STIF">version="any"</netex:QuayRef> +                            </netex:PassengerStopAssignment> +                            <netex:PassengerStopAssignment +                                id="CITYWAY:PassengerStopAssignment:1-2:LOC" version="any"> +                                <netex:ScheduledStopPointRef +                                    ref="CITYWAY:ScheduledStopPoint:1-2:LOC" version="any"/> +										  <netex:QuayRef ref="FR:78217:ZDE:50009053:STIF">version="any"</netex:QuayRef> +                            </netex:PassengerStopAssignment> +                            <netex:PassengerStopAssignment +                                id="CITYWAY:PassengerStopAssignment:2-2:LOC" version="any"> +                                <netex:ScheduledStopPointRef +                                    ref="CITYWAY:ScheduledStopPoint:2-2:LOC" version="any"/> +										  <netex:QuayRef ref="FR:78217:ZDE:50094816:STIF">version="any"</netex:QuayRef> +                            </netex:PassengerStopAssignment> +                        </netex:passengerStopAssignments> +                        <netex:routingConstraintZones> +                            <netex:RoutingConstraintZone id="CITYWAY:RoutingConstraintZone:1:LOC" +                                version="any"> +                                <netex:Name>ITL 1</netex:Name> +                                <netex:members> +                                    <netex:ScheduledStopPointRef +                                        ref="CITYWAY:ScheduledStopPoint:1-1:LOC" version="any"/> +                                    <netex:ScheduledStopPointRef +                                        ref="CITYWAY:ScheduledStopPoint:2-1:LOC" version="any"/> +                                </netex:members> +                                <netex:ZoneUse>cannotBoardAndAlightInSameZone</netex:ZoneUse> +                            </netex:RoutingConstraintZone> +                        </netex:routingConstraintZones> +                    </netex:members> +                </netex:GeneralFrame> +                <netex:GeneralFrame id="CITYWAY:GeneralFrame:NETEX_HORAIRE-20170214090012:LOC" +                    version="any"> +                    <netex:TypeOfFrameRef ref="NETEX_HORAIRE"/> +                    <netex:members> +                        <netex:serviceJourneys> +                            <netex:ServiceJourney id="CITYWAY:ServiceJourney:1-1:LOC" version="any"> +                                <netex:Name>Course 1 par ici</netex:Name> +                                <netex:noticeAssignments> +                                    <netex:NoticeAssignment> +												  <netex:NoticeRef ref="CITYWAY:Notice:1:LOC"> +                                            version="any"</netex:NoticeRef> +                                    </netex:NoticeAssignment> +                                </netex:noticeAssignments> +										  <netex:DayTypeRef ref="CITYWAY:DayType:1:LOC"> +                                    version="any"</netex:DayTypeRef> +                                <netex:JourneyPatternRef ref="CITYWAY:ServiceJourneyPattern:1:LOC" +                                    version="any"/> +										  <netex:OperatorRef ref="STIF:CODIFLIGNE:Operator:011"> +                                    version="any"</netex:OperatorRef> +                                <netex:trainNumbers> +											 <netex:TrainNumberRef ref="CITYWAY:TrainNumber:1234:LOC">version="any"</netex:TrainNumberRef> +                                </netex:trainNumbers> +                                <netex:passingTimes> +                                    <netex:TimetabledPassingTime version="any"> +                                        <netex:ArrivalTime>01:01:00.000</netex:ArrivalTime> +                                        <netex:ArrivalDayOffset>0</netex:ArrivalDayOffset> +                                        <netex:DepartureTime>01:01:00.000</netex:DepartureTime> +                                        <netex:DepartureDayOffset>0</netex:DepartureDayOffset> +                                    </netex:TimetabledPassingTime> +                                    <netex:TimetabledPassingTime version="any"> +                                        <netex:ArrivalTime>01:05:00.000</netex:ArrivalTime> +                                        <netex:ArrivalDayOffset>0</netex:ArrivalDayOffset> +                                        <netex:DepartureTime>01:05:00.000</netex:DepartureTime> +                                        <netex:DepartureDayOffset>0</netex:DepartureDayOffset> +                                    </netex:TimetabledPassingTime> +                                </netex:passingTimes> +                            </netex:ServiceJourney> +                        </netex:serviceJourneys> +                    </netex:members> +                </netex:GeneralFrame> +            </netex:frames> +        </netex:CompositeFrame> +    </netex:dataObjects> +</netex:PublicationDelivery> diff --git a/spec/fixtures/target/OFFRE_TRANSDEV_20170301122517/offre_C00109_10.xml b/spec/fixtures/target/OFFRE_TRANSDEV_20170301122517/offre_C00109_10.xml new file mode 100644 index 000000000..9dff0d850 --- /dev/null +++ b/spec/fixtures/target/OFFRE_TRANSDEV_20170301122517/offre_C00109_10.xml @@ -0,0 +1,204 @@ +<?xml version="1.0" encoding="UTF-8"?> +<netex:PublicationDelivery xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" + xsi:schemaLocation="http://www.netex.org.uk/netex ../../xsd/NeTEx_publication.xsd" + xmlns:netex="http://www.netex.org.uk/netex" xmlns:xlink="http://www.w3.org/1999/xlink" + xmlns:ifopt="http://www.ifopt.org.uk/ifopt" xmlns:gml="http://www.opengis.net/gml/3.2" + xmlns:core="http://www.govtalk.gov.uk/core" xmlns:siri="http://www.siri.org.uk/siri" version="1.0"> +    <netex:PublicationTimestamp>2017-02-14T09:13:51.0</netex:PublicationTimestamp> +    <netex:ParticipantRef>CITYWAY</netex:ParticipantRef> +    <netex:dataObjects> +        <netex:CompositeFrame id="CITYWAY:CompositeFrame:NETEX_OFFRE_LIGNE-1:LOC" version="any"> +            <netex:Name>Ligne 1</netex:Name> +            <netex:TypeOfFrameRef ref="NETEX_OFFRE_LIGNE"/> +            <netex:frames> +                <netex:GeneralFrame id="CITYWAY:GeneralFrame:NETEX_STRUCTURE-20170214090012:LOC" +                    version="any"> +                    <netex:TypeOfFrameRef ref="NETEX_STRUCTURE"/> +                    <netex:members> +                        <netex:routes> +                            <netex:Route id="CITYWAY:Route:1:LOC" version="any"> +                                <netex:Name>route 1</netex:Name> +										  <netex:LineRef ref="STIF:CODIFLIGNE:Line:C00109">version="any"</netex:LineRef> +                                <netex:DirectionType>outbound</netex:DirectionType> +                                <netex:DirectionRef ref="CITYWAY:Direction:1:LOC" version="any"/> +                                <netex:InverseRouteRef ref="CITYWAY:Route:2:LOC" version="any"/> +                            </netex:Route> +                            <netex:Route id="CITYWAY:Route:2:LOC" version="any"> +                                <netex:Name>route 2</netex:Name> +										  <netex:LineRef ref="STIF:CODIFLIGNE:Line:C00109">version="any"</netex:LineRef> +                                <netex:DirectionType>inbound</netex:DirectionType> +                                <netex:DirectionRef ref="CITYWAY:Direction:2:LOC" version="any"/> +                                <netex:InverseRouteRef ref="CITYWAY:Route:1:LOC" version="any"/> +                            </netex:Route> +                        </netex:routes> +                        <netex:directions> +                            <netex:Direction id="CITYWAY:Direction:1:LOC" version="any"> +                                <netex:Name>Par ici aussi</netex:Name> +                            </netex:Direction> +                            <netex:Direction id="CITYWAY:Direction:2:LOC" version="any"> +                                <netex:Name>Par là aussi</netex:Name> +                            </netex:Direction> +                        </netex:directions> +                        <netex:serviceJourneyPatterns> +                            <netex:ServiceJourneyPattern id="CITYWAY:ServiceJourneyPattern:1:LOC" +                                version="any"> +                                <netex:Name>Par ici itou</netex:Name> +                                <netex:RouteRef ref="CITYWAY:Route:1:LOC" version="any"/> +                                <netex:DestinationDisplayRef ref="CITYWAY:DestinationDisplay:1:LOC" +                                    version="any"/> +                                <netex:pointsInSequence> +                                    <netex:StopPointInJourneyPattern +                                        id="CITYWAY:StopPointInJourneyPattern:1-1-1:LOC" order="1" +                                        version="any"> +                                        <netex:ScheduledStopPointRef +                                            ref="CITYWAY:ScheduledStopPoint:1-1:LOC" version="any"/> +                                        <netex:ForAlighting>true</netex:ForAlighting> +                                        <netex:ForBoarding>true</netex:ForBoarding> +                                    </netex:StopPointInJourneyPattern> +                                    <netex:StopPointInJourneyPattern +                                        id="CITYWAY:StopPointInJourneyPattern:1-1-2:LOC" order="2" +                                        version="any"> +                                        <netex:ScheduledStopPointRef +                                            ref="CITYWAY:ScheduledStopPoint:1-2:LOC" version="any"/> +                                        <netex:ForAlighting>true</netex:ForAlighting> +                                        <netex:ForBoarding>true</netex:ForBoarding> +                                    </netex:StopPointInJourneyPattern> +                                </netex:pointsInSequence> +                                <netex:ServiceJourneyPatternType>passenger</netex:ServiceJourneyPatternType> +                            </netex:ServiceJourneyPattern> +                            <netex:ServiceJourneyPattern id="CITYWAY:ServiceJourneyPattern:2:LOC" +                                version="any"> +                                <netex:Name>Par là itou</netex:Name> +                                <netex:RouteRef ref="CITYWAY:Route:2:LOC" version="any"/> +                                <netex:DestinationDisplayRef ref="CITYWAY:DestinationDisplay:2:LOC" +                                    version="any"/> +                                <netex:pointsInSequence> +                                    <netex:StopPointInJourneyPattern +                                        id="CITYWAY:StopPointInJourneyPattern:2-2-1:LOC" order="1" +                                        version="any"> +                                        <netex:ScheduledStopPointRef +                                            ref="CITYWAY:ScheduledStopPoint:2-1:LOC" version="any"/> +                                        <netex:ForAlighting>true</netex:ForAlighting> +                                        <netex:ForBoarding>true</netex:ForBoarding> +                                    </netex:StopPointInJourneyPattern> +                                    <netex:StopPointInJourneyPattern +                                        id="CITYWAY:StopPointInJourneyPattern:2-2-2:LOC" order="2" +                                        version="any"> +                                        <netex:ScheduledStopPointRef +                                            ref="CITYWAY:ScheduledStopPoint:2-2:LOC" version="any"/> +                                        <netex:ForAlighting>true</netex:ForAlighting> +                                        <netex:ForBoarding>true</netex:ForBoarding> +                                    </netex:StopPointInJourneyPattern> +                                </netex:pointsInSequence> +                                <netex:ServiceJourneyPatternType>passenger</netex:ServiceJourneyPatternType> +                            </netex:ServiceJourneyPattern> +                        </netex:serviceJourneyPatterns> +                        <netex:destinationDisplays> +                            <netex:DestinationDisplay id="CITYWAY:DestinationDisplay:1:LOC" +                                version="any"> +                                <netex:FrontText>Mission 1 bis</netex:FrontText> +                                <netex:PublicCode>1234</netex:PublicCode> +                            </netex:DestinationDisplay> +                            <netex:DestinationDisplay id="CITYWAY:DestinationDisplay:2:LOC" +                                version="any"> +                                <netex:FrontText>Mission 2 bis</netex:FrontText> +                                <netex:PublicCode>2345</netex:PublicCode> +                            </netex:DestinationDisplay> +                        </netex:destinationDisplays> +                        <netex:scheduledStopPoints> +                            <netex:ScheduledStopPoint id="CITYWAY:ScheduledStopPoint:1-1:LOC" +                                version="any"/> +                            <netex:ScheduledStopPoint id="CITYWAY:ScheduledStopPoint:1-2:LOC" +                                version="any"/> +                            <netex:ScheduledStopPoint id="CITYWAY:ScheduledStopPoint:2-1:LOC" +                                version="any"/> +                            <netex:ScheduledStopPoint id="CITYWAY:ScheduledStopPoint:2-2:LOC" +                                version="any"/> +                        </netex:scheduledStopPoints> +                        <netex:passengerStopAssignments> +                            <netex:PassengerStopAssignment +                                id="CITYWAY:PassengerStopAssignment:1-1:LOC" version="any"> +                                <netex:ScheduledStopPointRef +                                    ref="CITYWAY:ScheduledStopPoint:1-1:LOC" version="any"/> +										  <netex:QuayRef ref="FR:78217:ZDE:50094817:STIF">version="any"</netex:QuayRef> +                            </netex:PassengerStopAssignment> +                            <netex:PassengerStopAssignment +                                id="CITYWAY:PassengerStopAssignment:2-1:LOC" version="any"> +                                <netex:ScheduledStopPointRef +                                    ref="CITYWAY:ScheduledStopPoint:2-1:LOC" version="any"/> +										  <netex:QuayRef ref="FR:78402:ZDE:50000918:STIF">version="any"</netex:QuayRef> +                            </netex:PassengerStopAssignment> +                            <netex:PassengerStopAssignment +                                id="CITYWAY:PassengerStopAssignment:1-2:LOC" version="any"> +                                <netex:ScheduledStopPointRef +                                    ref="CITYWAY:ScheduledStopPoint:1-2:LOC" version="any"/> +										  <netex:QuayRef ref="FR:78402:ZDE:50000917:STIF">version="any"</netex:QuayRef> +                            </netex:PassengerStopAssignment> +                            <netex:PassengerStopAssignment +                                id="CITYWAY:PassengerStopAssignment:2-2:LOC" version="any"> +                                <netex:ScheduledStopPointRef +                                    ref="CITYWAY:ScheduledStopPoint:2-2:LOC" version="any"/> +										  <netex:QuayRef ref="FR:78217:ZDE:50094816:STIF">version="any"</netex:QuayRef> +                            </netex:PassengerStopAssignment> +                        </netex:passengerStopAssignments> +                        <netex:routingConstraintZones> +                            <netex:RoutingConstraintZone id="CITYWAY:RoutingConstraintZone:1:LOC" +                                version="any"> +                                <netex:Name>ITL 1</netex:Name> +                                <netex:members> +                                    <netex:ScheduledStopPointRef +                                        ref="CITYWAY:ScheduledStopPoint:1-1:LOC" version="any"/> +                                    <netex:ScheduledStopPointRef +                                        ref="CITYWAY:ScheduledStopPoint:2-1:LOC" version="any"/> +                                </netex:members> +                                <netex:ZoneUse>cannotBoardAndAlightInSameZone</netex:ZoneUse> +                            </netex:RoutingConstraintZone> +                        </netex:routingConstraintZones> +                    </netex:members> +                </netex:GeneralFrame> +                <netex:GeneralFrame id="CITYWAY:GeneralFrame:NETEX_HORAIRE-20170214090012:LOC" +                    version="any"> +                    <netex:TypeOfFrameRef ref="NETEX_HORAIRE"/> +                    <netex:members> +                        <netex:serviceJourneys> +                            <netex:ServiceJourney id="CITYWAY:ServiceJourney:1-1:LOC" version="any"> +                                <netex:Name>Course 1 par ici aussi</netex:Name> +                                <netex:noticeAssignments> +                                    <netex:NoticeAssignment> +												  <netex:NoticeRef ref="CITYWAY:Notice:2:LOC"> +                                            version="any"</netex:NoticeRef> +                                    </netex:NoticeAssignment> +                                </netex:noticeAssignments> +										  <netex:DayTypeRef ref="CITYWAY:DayType:1:LOC"> +                                    version="any"</netex:DayTypeRef> +										  <netex:DayTypeRef ref="CITYWAY:DayType:4:LOC"> +                                    version="any"</netex:DayTypeRef> +                                <netex:JourneyPatternRef ref="CITYWAY:ServiceJourneyPattern:1:LOC" +                                    version="any"/> +										  <netex:OperatorRef ref="STIF:CODIFLIGNE:Operator:212"> +                                    version="any"</netex:OperatorRef> +                                <netex:trainNumbers> +											 <netex:TrainNumberRef ref="CITYWAY:TrainNumber:1234:LOC">version="any"</netex:TrainNumberRef> +                                </netex:trainNumbers> +                                <netex:passingTimes> +                                    <netex:TimetabledPassingTime version="any"> +                                        <netex:ArrivalTime>23:58:00.000</netex:ArrivalTime> +                                        <netex:ArrivalDayOffset>0</netex:ArrivalDayOffset> +                                        <netex:DepartureTime>23:59:00.000</netex:DepartureTime> +                                        <netex:DepartureDayOffset>0</netex:DepartureDayOffset> +                                    </netex:TimetabledPassingTime> +                                    <netex:TimetabledPassingTime version="any"> +                                        <netex:ArrivalTime>00:03:00.000</netex:ArrivalTime> +                                        <netex:ArrivalDayOffset>1</netex:ArrivalDayOffset> +                                        <netex:DepartureTime>00:04:00.000</netex:DepartureTime> +                                        <netex:DepartureDayOffset>1</netex:DepartureDayOffset> +                                    </netex:TimetabledPassingTime> +                                </netex:passingTimes> +                            </netex:ServiceJourney> +                        </netex:serviceJourneys> +                    </netex:members> +                </netex:GeneralFrame> +            </netex:frames> +        </netex:CompositeFrame> +    </netex:dataObjects> +</netex:PublicationDelivery> diff --git a/spec/fixtures/target/OFFRE_TRANSDEV_20170301122519/calendrier.xml b/spec/fixtures/target/OFFRE_TRANSDEV_20170301122519/calendrier.xml new file mode 100644 index 000000000..dc57aea11 --- /dev/null +++ b/spec/fixtures/target/OFFRE_TRANSDEV_20170301122519/calendrier.xml @@ -0,0 +1,80 @@ +<?xml version="1.0" encoding="UTF-8"?> +<netex:PublicationDelivery xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" +    xsi:schemaLocation="http://www.netex.org.uk/netex ../../xsd/NeTEx_publication.xsd" xmlns:netex="http://www.netex.org.uk/netex" +    xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:ifopt="http://www.ifopt.org.uk/ifopt" +    xmlns:gml="http://www.opengis.net/gml/3.2" xmlns:core="http://www.govtalk.gov.uk/core" +    xmlns:siri="http://www.siri.org.uk/siri" version="1.0"> +    <netex:PublicationTimestamp>2017-02-14T09:13:51.0</netex:PublicationTimestamp> +    <netex:ParticipantRef>CITYWAY</netex:ParticipantRef> +    <netex:dataObjects> +        <netex:GeneralFrame id="CITYWAY:GeneralFrame:NETEX_CALENDRIER-1_20170214090012:LOC" version="any"> +            <netex:ValidBetween> +                <netex:FromDate>2017-03-01T00:00:00</netex:FromDate> +                <netex:ToDate>2017-12-31T00:00:00</netex:ToDate> +            </netex:ValidBetween> +            <netex:TypeOfFrameRef ref="NETEX_CALENDRIER"/> +            <netex:members> +                <netex:DayType id="CITYWAY:DayType:1:LOC" version="any"> +                    <netex:Name>Semaine</netex:Name> +                    <netex:properties> +                        <netex:PropertyOfDay> +                            <netex:DaysOfWeek>Monday</netex:DaysOfWeek> +                        </netex:PropertyOfDay> +                        <netex:PropertyOfDay> +                            <netex:DaysOfWeek>Tuesday</netex:DaysOfWeek> +                        </netex:PropertyOfDay> +                        <netex:PropertyOfDay> +                            <netex:DaysOfWeek>Wednesday</netex:DaysOfWeek> +                        </netex:PropertyOfDay> +                        <netex:PropertyOfDay> +                            <netex:DaysOfWeek>Thursday</netex:DaysOfWeek> +                        </netex:PropertyOfDay> +                        <netex:PropertyOfDay> +                            <netex:DaysOfWeek>Friday</netex:DaysOfWeek> +                        </netex:PropertyOfDay> +                    </netex:properties> +                </netex:DayType> +                <netex:DayType id="CITYWAY:DayType:2:LOC" version="any"> +                    <netex:Name>Fin de semaine</netex:Name> +                    <netex:properties> +                        <netex:PropertyOfDay> +                            <netex:DaysOfWeek>Saturday</netex:DaysOfWeek> +                        </netex:PropertyOfDay> +                        <netex:PropertyOfDay> +                            <netex:DaysOfWeek>Sunday</netex:DaysOfWeek> +                        </netex:PropertyOfDay> +                    </netex:properties> +                </netex:DayType> +                <netex:DayType id="CITYWAY:DayType:3:LOC" version="any"> +                    <netex:Name>Service spécial</netex:Name> +                </netex:DayType> +                <netex:DayType id="CITYWAY:DayType:4:LOC" version="any"> +                    <netex:Name>Restriction</netex:Name> +                </netex:DayType> +                <netex:DayTypeAssignment id="dta1" version="any" order="0"> +                    <netex:OperatingPeriodRef ref="CITYWAY:OperatingPeriod:1:LOC" version="any"/> +                    <netex:DayTypeRef ref="CITYWAY:DayType:1:LOC" version="any"/> +                </netex:DayTypeAssignment> +                <netex:DayTypeAssignment id="dta2" version="any" order="0"> +                    <netex:OperatingPeriodRef ref="CITYWAY:OperatingPeriod:1:LOC" version="any"/> +                    <netex:DayTypeRef ref="CITYWAY:DayType:2:LOC" version="any"/> +                </netex:DayTypeAssignment> +                <netex:DayTypeAssignment id="dta3" version="any" order="0"> +                    <netex:Date>2017-03-15</netex:Date> +                    <netex:DayTypeRef ref="CITYWAY:DayType:3:LOC" version="any"/> +                    <netex:isAvailable>true</netex:isAvailable> +                </netex:DayTypeAssignment> +                <netex:DayTypeAssignment id="dta4" version="any" order="0"> +                    <netex:Date>2017-03-15</netex:Date> +                    <netex:DayTypeRef ref="CITYWAY:DayType:4:LOC" version="any"/> +                    <netex:isAvailable>false</netex:isAvailable> +                </netex:DayTypeAssignment> +                <netex:OperatingPeriod id="CITYWAY:OperatingPeriod:1:LOC" version="any"> +                    <netex:FromDate>2017-01-01T00:00:00</netex:FromDate> +                    <netex:ToDate>2017-12-31T00:00:00</netex:ToDate> +                </netex:OperatingPeriod> + +            </netex:members> +        </netex:GeneralFrame> +    </netex:dataObjects> +</netex:PublicationDelivery> diff --git a/spec/fixtures/target/OFFRE_TRANSDEV_20170301122519/commun.xml b/spec/fixtures/target/OFFRE_TRANSDEV_20170301122519/commun.xml new file mode 100644 index 000000000..f59f8ac2d --- /dev/null +++ b/spec/fixtures/target/OFFRE_TRANSDEV_20170301122519/commun.xml @@ -0,0 +1,32 @@ +<?xml version="1.0" encoding="UTF-8"?> +<netex:PublicationDelivery xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" + xsi:schemaLocation="http://www.netex.org.uk/netex ../../xsd/NeTEx_publication.xsd" xmlns:netex="http://www.netex.org.uk/netex" + xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:ifopt="http://www.ifopt.org.uk/ifopt" xmlns:gml="http://www.opengis.net/gml/3.2" + xmlns:core="http://www.govtalk.gov.uk/core" xmlns:siri="http://www.siri.org.uk/siri" version="1.0"> +    <netex:PublicationTimestamp>2017-02-14T09:13:51.0</netex:PublicationTimestamp> +    <netex:ParticipantRef>CITYWAY</netex:ParticipantRef> +    <netex:dataObjects> +        <netex:GeneralFrame id="CITYWAY:GeneralFrame:NETEX_COMMUN-1_20170214090012:LOC" version="any"> +            <netex:TypeOfFrameRef ref="NETEX_COMMUN"/> +            <netex:members> +                +                    <netex:Notice id="CITYWAY:Notice:1:LOC" version="any"> +                        <netex:Text>Notice 1</netex:Text> +                        <netex:PublicCode>1</netex:PublicCode> +                        <netex:TypeOfNoticeRef ref="ServiceJourneyNotice"/> +                    </netex:Notice> +                    <netex:Notice id="CITYWAY:Notice:2:LOC" version="any"> +                        <netex:Text>Notice 2</netex:Text> +                        <netex:PublicCode>2</netex:PublicCode> +                        <netex:TypeOfNoticeRef ref="ServiceJourneyNotice"/> +                    </netex:Notice> +                    <netex:Notice id="CITYWAY:Notice:3:LOC" version="any"> +                        <netex:Text>Notice 3</netex:Text> +                        <netex:PublicCode>3</netex:PublicCode> +                        <netex:TypeOfNoticeRef ref="ServiceJourneyNotice"/> +                    </netex:Notice> +                 +            </netex:members> +        </netex:GeneralFrame> +    </netex:dataObjects> +</netex:PublicationDelivery> diff --git a/spec/fixtures/target/OFFRE_TRANSDEV_20170301122519/offre_C00108_9.xml b/spec/fixtures/target/OFFRE_TRANSDEV_20170301122519/offre_C00108_9.xml new file mode 100644 index 000000000..9eefeeb43 --- /dev/null +++ b/spec/fixtures/target/OFFRE_TRANSDEV_20170301122519/offre_C00108_9.xml @@ -0,0 +1,172 @@ +<?xml version="1.0" encoding="UTF-8"?> +<netex:PublicationDelivery xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" +    xsi:schemaLocation="http://www.netex.org.uk/netex ../../xsd/NeTEx_publication.xsd" xmlns:netex="http://www.netex.org.uk/netex" +    xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:ifopt="http://www.ifopt.org.uk/ifopt" +    xmlns:gml="http://www.opengis.net/gml/3.2" xmlns:core="http://www.govtalk.gov.uk/core" +    xmlns:siri="http://www.siri.org.uk/siri" version="1.0"> +    <netex:PublicationTimestamp>2017-02-14T09:13:51.0</netex:PublicationTimestamp> +    <netex:ParticipantRef>CITYWAY</netex:ParticipantRef> +    <netex:dataObjects> +        <netex:CompositeFrame id="CITYWAY:CompositeFrame:NETEX_OFFRE_LIGNE-1:LOC" version="any"> +            <netex:Name>Ligne 1</netex:Name> +            <netex:TypeOfFrameRef ref="NETEX_OFFRE_LIGNE"/> +            <netex:frames> +                <netex:GeneralFrame id="CITYWAY:GeneralFrame:NETEX_STRUCTURE-20170214090012:LOC" version="any"> +                    <netex:TypeOfFrameRef ref="NETEX_STRUCTURE"/> +                    <netex:members> + +                        <netex:Route id="CITYWAY:Route:1:LOC" version="any"> +                            <netex:Name>route 1</netex:Name> +                            <netex:LineRef ref="STIF:CODIFLIGNE:Line:C00108">version="any"</netex:LineRef> +                            <netex:DirectionType>outbound</netex:DirectionType> +                            <netex:DirectionRef ref="CITYWAY:Direction:1:LOC" version="any"/> +                            <netex:InverseRouteRef ref="CITYWAY:Route:2:LOC" version="any"/> +                        </netex:Route> +                        <netex:Route id="CITYWAY:Route:2:LOC" version="any"> +                            <netex:Name>route 2</netex:Name> +                            <netex:LineRef ref="STIF:CODIFLIGNE:Line:C00108">version="any"</netex:LineRef> +                            <netex:DirectionType>inbound</netex:DirectionType> +                            <netex:DirectionRef ref="CITYWAY:Direction:2:LOC" version="any"/> +                            <netex:InverseRouteRef ref="CITYWAY:Route:1:LOC" version="any"/> +                        </netex:Route> + + +                        <netex:Direction id="CITYWAY:Direction:1:LOC" version="any"> +                            <netex:Name>Par ici</netex:Name> +                        </netex:Direction> +                        <netex:Direction id="CITYWAY:Direction:2:LOC" version="any"> +                            <netex:Name>Par là</netex:Name> +                        </netex:Direction> + + +                        <netex:ServiceJourneyPattern id="CITYWAY:ServiceJourneyPattern:1:LOC" version="any"> +                            <netex:Name>Par ici</netex:Name> +                            <netex:RouteRef ref="CITYWAY:Route:1:LOC" version="any"/> +                            <netex:DestinationDisplayRef ref="CITYWAY:DestinationDisplay:1:LOC" version="any"/> +                            <netex:pointsInSequence> +                                <netex:StopPointInJourneyPattern id="CITYWAY:StopPointInJourneyPattern:1-1-1:LOC" order="1" +                                    version="any"> +                                    <netex:ScheduledStopPointRef ref="CITYWAY:ScheduledStopPoint:1-1:LOC" version="any"/> +                                    <netex:ForAlighting>true</netex:ForAlighting> +                                    <netex:ForBoarding>true</netex:ForBoarding> +                                </netex:StopPointInJourneyPattern> +                                <netex:StopPointInJourneyPattern id="CITYWAY:StopPointInJourneyPattern:1-1-2:LOC" order="2" +                                    version="any"> +                                    <netex:ScheduledStopPointRef ref="CITYWAY:ScheduledStopPoint:1-2:LOC" version="any"/> +                                    <netex:ForAlighting>true</netex:ForAlighting> +                                    <netex:ForBoarding>true</netex:ForBoarding> +                                </netex:StopPointInJourneyPattern> +                            </netex:pointsInSequence> +                            <netex:ServiceJourneyPatternType>passenger</netex:ServiceJourneyPatternType> +                        </netex:ServiceJourneyPattern> +                        <netex:ServiceJourneyPattern id="CITYWAY:ServiceJourneyPattern:2:LOC" version="any"> +                            <netex:Name>Par là</netex:Name> +                            <netex:RouteRef ref="CITYWAY:Route:2:LOC" version="any"/> +                            <netex:DestinationDisplayRef ref="CITYWAY:DestinationDisplay:2:LOC" version="any"/> +                            <netex:pointsInSequence> +                                <netex:StopPointInJourneyPattern id="CITYWAY:StopPointInJourneyPattern:2-2-1:LOC" order="1" +                                    version="any"> +                                    <netex:ScheduledStopPointRef ref="CITYWAY:ScheduledStopPoint:2-1:LOC" version="any"/> +                                    <netex:ForAlighting>true</netex:ForAlighting> +                                    <netex:ForBoarding>true</netex:ForBoarding> +                                </netex:StopPointInJourneyPattern> +                                <netex:StopPointInJourneyPattern id="CITYWAY:StopPointInJourneyPattern:2-2-2:LOC" order="2" +                                    version="any"> +                                    <netex:ScheduledStopPointRef ref="CITYWAY:ScheduledStopPoint:2-2:LOC" version="any"/> +                                    <netex:ForAlighting>true</netex:ForAlighting> +                                    <netex:ForBoarding>true</netex:ForBoarding> +                                </netex:StopPointInJourneyPattern> +                            </netex:pointsInSequence> +                            <netex:ServiceJourneyPatternType>passenger</netex:ServiceJourneyPatternType> +                        </netex:ServiceJourneyPattern> + + +                        <netex:DestinationDisplay id="CITYWAY:DestinationDisplay:1:LOC" version="any"> +                            <netex:FrontText>Mission 1</netex:FrontText> +                            <netex:PublicCode>1234</netex:PublicCode> +                        </netex:DestinationDisplay> +                        <netex:DestinationDisplay id="CITYWAY:DestinationDisplay:2:LOC" version="any"> +                            <netex:FrontText>Mission 2</netex:FrontText> +                            <netex:PublicCode>2345</netex:PublicCode> +                        </netex:DestinationDisplay> + + +                        <netex:ScheduledStopPoint id="CITYWAY:ScheduledStopPoint:1-1:LOC" version="any"/> +                        <netex:ScheduledStopPoint id="CITYWAY:ScheduledStopPoint:1-2:LOC" version="any"/> +                        <netex:ScheduledStopPoint id="CITYWAY:ScheduledStopPoint:2-1:LOC" version="any"/> +                        <netex:ScheduledStopPoint id="CITYWAY:ScheduledStopPoint:2-2:LOC" version="any"/> + + +                        <netex:PassengerStopAssignment id="CITYWAY:PassengerStopAssignment:1-1:LOC" version="any" order="0"> +                            <netex:ScheduledStopPointRef ref="CITYWAY:ScheduledStopPoint:1-1:LOC" version="any"/> +                            <netex:QuayRef ref="FR:78217:ZDE:50094817:STIF">version="any"</netex:QuayRef> +                        </netex:PassengerStopAssignment> +                        <netex:PassengerStopAssignment id="CITYWAY:PassengerStopAssignment:2-1:LOC" version="any" order="0"> +                            <netex:ScheduledStopPointRef ref="CITYWAY:ScheduledStopPoint:2-1:LOC" version="any"/> +                            <netex:QuayRef ref="FR:78217:ZDE:50009052:STIF">version="any"</netex:QuayRef> +                        </netex:PassengerStopAssignment> +                        <netex:PassengerStopAssignment id="CITYWAY:PassengerStopAssignment:1-2:LOC" version="any" order="0"> +                            <netex:ScheduledStopPointRef ref="CITYWAY:ScheduledStopPoint:1-2:LOC" version="any"/> +                            <netex:QuayRef ref="FR:78217:ZDE:50009053:STIF">version="any"</netex:QuayRef> +                        </netex:PassengerStopAssignment> +                        <netex:PassengerStopAssignment id="CITYWAY:PassengerStopAssignment:2-2:LOC" version="any" order="0"> +                            <netex:ScheduledStopPointRef ref="CITYWAY:ScheduledStopPoint:2-2:LOC" version="any"/> +                            <netex:QuayRef ref="FR:78217:ZDE:50094816:STIF">version="any"</netex:QuayRef> +                        </netex:PassengerStopAssignment> + + +                        <netex:RoutingConstraintZone id="CITYWAY:RoutingConstraintZone:1:LOC" version="any"> +                            <netex:Name>ITL 1</netex:Name> +                            <netex:members> +                                <netex:ScheduledStopPointRef ref="CITYWAY:ScheduledStopPoint:1-1:LOC" version="any"/> +                                <netex:ScheduledStopPointRef ref="CITYWAY:ScheduledStopPoint:1-2:LOC" version="any"/> +                            </netex:members> +                            <netex:ZoneUse>cannotBoardAndAlightInSameZone</netex:ZoneUse> +                        </netex:RoutingConstraintZone> + +                    </netex:members> +                </netex:GeneralFrame> +                <netex:GeneralFrame id="CITYWAY:GeneralFrame:NETEX_HORAIRE-20170214090012:LOC" version="any"> +                    <netex:TypeOfFrameRef ref="NETEX_HORAIRE"/> +                    <netex:members> + +                        <netex:ServiceJourney id="CITYWAY:ServiceJourney:1-1:LOC" version="any"> +                            <netex:Name>Course 1 par ici</netex:Name> +                            <netex:noticeAssignments> +                                <netex:NoticeAssignment id="ns1" version="any" order="0"> +                                    <netex:NoticeRef ref="CITYWAY:Notice:1:LOC"> +                                            version="any"</netex:NoticeRef> +                                </netex:NoticeAssignment> +                            </netex:noticeAssignments> +                            <netex:dayTypes> +                                <netex:DayTypeRef ref="CITYWAY:DayType:1:LOC"> version="any"</netex:DayTypeRef> +                            </netex:dayTypes> + +                            <netex:JourneyPatternRef ref="CITYWAY:ServiceJourneyPattern:1:LOC" version="any"/> +                            <netex:OperatorRef ref="STIF:CODIFLIGNE:Operator:011"> +                                    version="any"</netex:OperatorRef> +                            <netex:trainNumbers> +                                <netex:TrainNumberRef ref="CITYWAY:TrainNumber:1234:LOC">version="any"</netex:TrainNumberRef> +                            </netex:trainNumbers> +                            <netex:passingTimes> +                                <netex:TimetabledPassingTime version="any"> +                                    <netex:ArrivalTime>01:01:00.000</netex:ArrivalTime> +                                    <netex:ArrivalDayOffset>0</netex:ArrivalDayOffset> +                                    <netex:DepartureTime>01:01:00.000</netex:DepartureTime> +                                    <netex:DepartureDayOffset>0</netex:DepartureDayOffset> +                                </netex:TimetabledPassingTime> +                                <netex:TimetabledPassingTime version="any"> +                                    <netex:ArrivalTime>01:05:00.000</netex:ArrivalTime> +                                    <netex:ArrivalDayOffset>0</netex:ArrivalDayOffset> +                                    <netex:DepartureTime>01:05:00.000</netex:DepartureTime> +                                    <netex:DepartureDayOffset>0</netex:DepartureDayOffset> +                                </netex:TimetabledPassingTime> +                            </netex:passingTimes> +                        </netex:ServiceJourney> + +                    </netex:members> +                </netex:GeneralFrame> +            </netex:frames> +        </netex:CompositeFrame> +    </netex:dataObjects> +</netex:PublicationDelivery> diff --git a/spec/fixtures/target/OFFRE_TRANSDEV_20170301122519/offre_C00109_10.xml b/spec/fixtures/target/OFFRE_TRANSDEV_20170301122519/offre_C00109_10.xml new file mode 100644 index 000000000..d260ef17e --- /dev/null +++ b/spec/fixtures/target/OFFRE_TRANSDEV_20170301122519/offre_C00109_10.xml @@ -0,0 +1,172 @@ +<?xml version="1.0" encoding="UTF-8"?> +<netex:PublicationDelivery xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" +    xsi:schemaLocation="http://www.netex.org.uk/netex ../../xsd/NeTEx_publication.xsd" xmlns:netex="http://www.netex.org.uk/netex" +    xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:ifopt="http://www.ifopt.org.uk/ifopt" +    xmlns:gml="http://www.opengis.net/gml/3.2" xmlns:core="http://www.govtalk.gov.uk/core" +    xmlns:siri="http://www.siri.org.uk/siri" version="1.0"> +    <netex:PublicationTimestamp>2017-02-14T09:13:51.0</netex:PublicationTimestamp> +    <netex:ParticipantRef>CITYWAY</netex:ParticipantRef> +    <netex:dataObjects> +        <netex:CompositeFrame id="CITYWAY:CompositeFrame:NETEX_OFFRE_LIGNE-1:LOC" version="any"> +            <netex:Name>Ligne 1</netex:Name> +            <netex:TypeOfFrameRef ref="NETEX_OFFRE_LIGNE"/> +            <netex:frames> +                <netex:GeneralFrame id="CITYWAY:GeneralFrame:NETEX_STRUCTURE-20170214090012:LOC" version="any"> +                    <netex:TypeOfFrameRef ref="NETEX_STRUCTURE"/> +                    <netex:members> + +                        <netex:Route id="CITYWAY:Route:1:LOC" version="any"> +                            <netex:Name>route 1</netex:Name> +                            <netex:LineRef ref="STIF:CODIFLIGNE:Line:C00109">version="any"</netex:LineRef> +                            <netex:DirectionType>outbound</netex:DirectionType> +                            <netex:DirectionRef ref="CITYWAY:Direction:1:LOC" version="any"/> +                            <netex:InverseRouteRef ref="CITYWAY:Route:2:LOC" version="any"/> +                        </netex:Route> +                        <netex:Route id="CITYWAY:Route:2:LOC" version="any"> +                            <netex:Name>route 2</netex:Name> +                            <netex:LineRef ref="STIF:CODIFLIGNE:Line:C00109">version="any"</netex:LineRef> +                            <netex:DirectionType>inbound</netex:DirectionType> +                            <netex:DirectionRef ref="CITYWAY:Direction:2:LOC" version="any"/> +                            <netex:InverseRouteRef ref="CITYWAY:Route:1:LOC" version="any"/> +                        </netex:Route> + + +                        <netex:Direction id="CITYWAY:Direction:1:LOC" version="any"> +                            <netex:Name>Par ici aussi</netex:Name> +                        </netex:Direction> +                        <netex:Direction id="CITYWAY:Direction:2:LOC" version="any"> +                            <netex:Name>Par là aussi</netex:Name> +                        </netex:Direction> + + +                        <netex:ServiceJourneyPattern id="CITYWAY:ServiceJourneyPattern:1:LOC" version="any"> +                            <netex:Name>Par ici itou</netex:Name> +                            <netex:RouteRef ref="CITYWAY:Route:1:LOC" version="any"/> +                            <netex:DestinationDisplayRef ref="CITYWAY:DestinationDisplay:1:LOC" version="any"/> +                            <netex:pointsInSequence> +                                <netex:StopPointInJourneyPattern id="CITYWAY:StopPointInJourneyPattern:1-1-1:LOC" order="1" +                                    version="any"> +                                    <netex:ScheduledStopPointRef ref="CITYWAY:ScheduledStopPoint:1-1:LOC" version="any"/> +                                    <netex:ForAlighting>true</netex:ForAlighting> +                                    <netex:ForBoarding>true</netex:ForBoarding> +                                </netex:StopPointInJourneyPattern> +                                <netex:StopPointInJourneyPattern id="CITYWAY:StopPointInJourneyPattern:1-1-2:LOC" order="2" +                                    version="any"> +                                    <netex:ScheduledStopPointRef ref="CITYWAY:ScheduledStopPoint:1-2:LOC" version="any"/> +                                    <netex:ForAlighting>true</netex:ForAlighting> +                                    <netex:ForBoarding>true</netex:ForBoarding> +                                </netex:StopPointInJourneyPattern> +                            </netex:pointsInSequence> +                            <netex:ServiceJourneyPatternType>passenger</netex:ServiceJourneyPatternType> +                        </netex:ServiceJourneyPattern> +                        <netex:ServiceJourneyPattern id="CITYWAY:ServiceJourneyPattern:2:LOC" version="any"> +                            <netex:Name>Par là itou</netex:Name> +                            <netex:RouteRef ref="CITYWAY:Route:2:LOC" version="any"/> +                            <netex:DestinationDisplayRef ref="CITYWAY:DestinationDisplay:2:LOC" version="any"/> +                            <netex:pointsInSequence> +                                <netex:StopPointInJourneyPattern id="CITYWAY:StopPointInJourneyPattern:2-2-1:LOC" order="1" +                                    version="any"> +                                    <netex:ScheduledStopPointRef ref="CITYWAY:ScheduledStopPoint:2-1:LOC" version="any"/> +                                    <netex:ForAlighting>true</netex:ForAlighting> +                                    <netex:ForBoarding>true</netex:ForBoarding> +                                </netex:StopPointInJourneyPattern> +                                <netex:StopPointInJourneyPattern id="CITYWAY:StopPointInJourneyPattern:2-2-2:LOC" order="2" +                                    version="any"> +                                    <netex:ScheduledStopPointRef ref="CITYWAY:ScheduledStopPoint:2-2:LOC" version="any"/> +                                    <netex:ForAlighting>true</netex:ForAlighting> +                                    <netex:ForBoarding>true</netex:ForBoarding> +                                </netex:StopPointInJourneyPattern> +                            </netex:pointsInSequence> +                            <netex:ServiceJourneyPatternType>passenger</netex:ServiceJourneyPatternType> +                        </netex:ServiceJourneyPattern> + + +                        <netex:DestinationDisplay id="CITYWAY:DestinationDisplay:1:LOC" version="any"> +                            <netex:FrontText>Mission 1 bis</netex:FrontText> +                            <netex:PublicCode>1234</netex:PublicCode> +                        </netex:DestinationDisplay> +                        <netex:DestinationDisplay id="CITYWAY:DestinationDisplay:2:LOC" version="any"> +                            <netex:FrontText>Mission 2 bis</netex:FrontText> +                            <netex:PublicCode>2345</netex:PublicCode> +                        </netex:DestinationDisplay> + + +                        <netex:ScheduledStopPoint id="CITYWAY:ScheduledStopPoint:1-1:LOC" version="any"/> +                        <netex:ScheduledStopPoint id="CITYWAY:ScheduledStopPoint:1-2:LOC" version="any"/> +                        <netex:ScheduledStopPoint id="CITYWAY:ScheduledStopPoint:2-1:LOC" version="any"/> +                        <netex:ScheduledStopPoint id="CITYWAY:ScheduledStopPoint:2-2:LOC" version="any"/> + + +                        <netex:PassengerStopAssignment id="CITYWAY:PassengerStopAssignment:1-1:LOC" version="any" order="0"> +                            <netex:ScheduledStopPointRef ref="CITYWAY:ScheduledStopPoint:1-1:LOC" version="any"/> +                            <netex:QuayRef ref="FR:78217:ZDE:50094817:STIF">version="any"</netex:QuayRef> +                        </netex:PassengerStopAssignment> +                        <netex:PassengerStopAssignment id="CITYWAY:PassengerStopAssignment:2-1:LOC" version="any" order="0"> +                            <netex:ScheduledStopPointRef ref="CITYWAY:ScheduledStopPoint:2-1:LOC" version="any"/> +                            <netex:QuayRef ref="FR:78402:ZDE:50000918:STIF">version="any"</netex:QuayRef> +                        </netex:PassengerStopAssignment> +                        <netex:PassengerStopAssignment id="CITYWAY:PassengerStopAssignment:1-2:LOC" version="any" order="0"> +                            <netex:ScheduledStopPointRef ref="CITYWAY:ScheduledStopPoint:1-2:LOC" version="any"/> +                            <netex:QuayRef ref="FR:78402:ZDE:50000917:STIF">version="any"</netex:QuayRef> +                        </netex:PassengerStopAssignment> +                        <netex:PassengerStopAssignment id="CITYWAY:PassengerStopAssignment:2-2:LOC" version="any" order="0"> +                            <netex:ScheduledStopPointRef ref="CITYWAY:ScheduledStopPoint:2-2:LOC" version="any"/> +                            <netex:QuayRef ref="FR:78217:ZDE:50094816:STIF">version="any"</netex:QuayRef> +                        </netex:PassengerStopAssignment> + + +                        <netex:RoutingConstraintZone id="CITYWAY:RoutingConstraintZone:1:LOC" version="any"> +                            <netex:Name>ITL 1</netex:Name> +                            <netex:members> +                                <netex:ScheduledStopPointRef ref="CITYWAY:ScheduledStopPoint:1-1:LOC" version="any"/> +                                <netex:ScheduledStopPointRef ref="CITYWAY:ScheduledStopPoint:1-2:LOC" version="any"/> +                            </netex:members> +                            <netex:ZoneUse>cannotBoardAndAlightInSameZone</netex:ZoneUse> +                        </netex:RoutingConstraintZone> + +                    </netex:members> +                </netex:GeneralFrame> +                <netex:GeneralFrame id="CITYWAY:GeneralFrame:NETEX_HORAIRE-20170214090012:LOC" version="any"> +                    <netex:TypeOfFrameRef ref="NETEX_HORAIRE"/> +                    <netex:members> + +                        <netex:ServiceJourney id="CITYWAY:ServiceJourney:1-1:LOC" version="any"> +                            <netex:Name>Course 1 par ici aussi</netex:Name> +                            <netex:noticeAssignments> +                                <netex:NoticeAssignment id="ns1" version="any" order="0"> +                                    <netex:NoticeRef ref="CITYWAY:Notice:2:LOC"> +                                            version="any"</netex:NoticeRef> +                                </netex:NoticeAssignment> +                            </netex:noticeAssignments> +                            <netex:dayTypes> +                                <netex:DayTypeRef ref="CITYWAY:DayType:1:LOC"> version="any"</netex:DayTypeRef> +                                <netex:DayTypeRef ref="CITYWAY:DayType:4:LOC"> version="any"</netex:DayTypeRef> +                            </netex:dayTypes> +                            <netex:JourneyPatternRef ref="CITYWAY:ServiceJourneyPattern:1:LOC" version="any"/> +                            <netex:OperatorRef ref="STIF:CODIFLIGNE:Operator:212"> +                                    version="any"</netex:OperatorRef> +                            <netex:trainNumbers> +                                <netex:TrainNumberRef ref="CITYWAY:TrainNumber:1234:LOC">version="any"</netex:TrainNumberRef> +                            </netex:trainNumbers> +                            <netex:passingTimes> +                                <netex:TimetabledPassingTime version="any"> +                                    <netex:ArrivalTime>23:58:00.000</netex:ArrivalTime> +                                    <netex:ArrivalDayOffset>0</netex:ArrivalDayOffset> +                                    <netex:DepartureTime>23:59:00.000</netex:DepartureTime> +                                    <netex:DepartureDayOffset>0</netex:DepartureDayOffset> +                                </netex:TimetabledPassingTime> +                                <netex:TimetabledPassingTime version="any"> +                                    <netex:ArrivalTime>00:03:00.000</netex:ArrivalTime> +                                    <netex:ArrivalDayOffset>1</netex:ArrivalDayOffset> +                                    <netex:DepartureTime>00:04:00.000</netex:DepartureTime> +                                    <netex:DepartureDayOffset>1</netex:DepartureDayOffset> +                                </netex:TimetabledPassingTime> +                            </netex:passingTimes> +                        </netex:ServiceJourney> + +                    </netex:members> +                </netex:GeneralFrame> +            </netex:frames> +        </netex:CompositeFrame> +    </netex:dataObjects> +</netex:PublicationDelivery> diff --git a/spec/fixtures/target_OFFRE_TRANSDEV_20170301122517.zip b/spec/fixtures/target_OFFRE_TRANSDEV_20170301122517.zipBinary files differ new file mode 100644 index 000000000..72bed3ea6 --- /dev/null +++ b/spec/fixtures/target_OFFRE_TRANSDEV_20170301122517.zip diff --git a/spec/fixtures/target_OFFRE_TRANSDEV_20170301122519.zip b/spec/fixtures/target_OFFRE_TRANSDEV_20170301122519.zipBinary files differ new file mode 100644 index 000000000..af5b42013 --- /dev/null +++ b/spec/fixtures/target_OFFRE_TRANSDEV_20170301122519.zip diff --git a/spec/services/zip_service/regression_4273_spec.rb b/spec/services/zip_service/regression_4273_spec.rb new file mode 100644 index 000000000..4fe0f6539 --- /dev/null +++ b/spec/services/zip_service/regression_4273_spec.rb @@ -0,0 +1,59 @@ +RSpec.describe ZipService do +  describe 'Regression Issue # 4273 https://projects.af83.io/issues/4273' do +    let( :zip_service ){ described_class } +    let( :unzipper ){ zip_service.new(zip_data) } +    let( :zip_data ){ File.read zip_file } + +    context 'real test data' do +      let( :subdir_names ){ %w<OFFRE_TRANSDEV_20170301122517 OFFRE_TRANSDEV_20170301122519>  } +      let( :expected_chksums ){ +        checksum_trees( subdir_names.map{ |sn| subdir_file(sn, prefix: 'source_') } ) +      } + +      let( :zip_file ){ fixtures_path 'OFFRE_TRANSDEV_2017030112251.zip' } +      # +      # Remove potential test artefacts +      before do +        subdir_names.each do | subdir_name | +          File.unlink( subdir_file subdir_name, suffix: '.zip' ) rescue nil +          Dir.unlink( subdir_file subdir_name ) rescue nil +        end +      end + +      it "yields the correct content" do +        subdir_contents = {} +        # Write ZipService Streams to files and inflate them to file system +        unzipper.subdirs.each do | subdir | +          File.open(subdir_file( subdir.name, suffix: '.zip' ), 'wb'){ |f| f.write subdir.stream.string } +          unzip_subdir subdir +        end +        # Represent the inflated file_system as a checksum tree +        actual_checksums =  +          checksum_trees( subdir_names.map{ |sn| subdir_file(sn, prefix: 'target/') } ) +        expect( actual_checksums ).to eq( expected_chksums ) +      end + +    end + +  end + +  def checksum_trees *dirs +    dirs.flatten.inject({},&method(:checksum_tree)) +  end +  def checksum_tree repr, dir +    Dir.glob("#{dir}/**/*").each do |file| +      if !File.directory?(file) +        repr.merge!( File.basename(file) => %x{cksum #{file}}.split.first ){ |_, ov, nv| Array(ov) << nv } +      end +    end +    repr +  end + +  def subdir_file( subdir, prefix: 'target_', suffix: '' ) +    fixtures_path("#{prefix}#{subdir}#{suffix}") +  end + +  def unzip_subdir subdir +    %x{unzip -oqq #{subdir_file subdir.name, suffix: '.zip'} -d #{fixture_path}/target} +  end +end diff --git a/spec/services/zip_service/zip_entry_data_spec.rb b/spec/services/zip_service/zip_entry_data_spec.rb deleted file mode 100644 index 2a7226eb4..000000000 --- a/spec/services/zip_service/zip_entry_data_spec.rb +++ /dev/null @@ -1,32 +0,0 @@ -RSpec.describe ZipService do - -  subject{ described_class.new(read_fixture('multiple_references_import.zip')) } - -  it 'can group all entries' do -    expect( subject.entry_groups.keys ).to eq(%w{ref1 ref2}) -  end - -  context 'creates correct zip data for each subdir' do -    it 'e.g. reference1' do -      reference1_stream = subject.entry_group_streams['ref1'] -      control_stream = Zip::InputStream.open( reference1_stream ) -      control_entries = described_class.entries(control_stream) -      expect( control_entries.map{ |e| [e.name, e.get_input_stream.read]}.force ).to eq([ -        ["multiref/ref1/", ""], -        ["multiref/ref1/datum-1", "multi-ref1-datum1\n"], -        ["multiref/ref1/datum-2", "multi-ref1-datum2\n"] -      ]) -    end -    it 'e.g. reference2' do -      reference2_stream = subject.entry_group_streams['ref2'] -      control_stream = Zip::InputStream.open( reference2_stream ) -      control_entries = described_class.entries(control_stream) -      expect( control_entries.map{ |e| [e.name, e.get_input_stream.read]}.force ).to eq([ -        ["multiref/ref2/", ""], -        ["multiref/ref2/datum-1", "multi-ref2-datum1\n"], -        ["multiref/ref2/datum-2", "multi-ref2-datum2\n"] -      ]) -    end -  end - -end diff --git a/spec/services/zip_service/zip_entry_dirs_spec.rb b/spec/services/zip_service/zip_entry_dirs_spec.rb deleted file mode 100644 index 8ca1b0f1a..000000000 --- a/spec/services/zip_service/zip_entry_dirs_spec.rb +++ /dev/null @@ -1,33 +0,0 @@ -RSpec.describe ZipService do - -  let( :zip_service ){ described_class } - -  let( :zip_data ){ File.read zip_file } - -  shared_examples_for 'a correct zip entry reader' do -    it 'gets all entries of the zip file' do -      expect( zip_service.new(zip_data).entry_groups.keys ).to eq(expected) -    end -  end - -  context 'single entry' do -    let( :zip_file ){ fixtures_path 'multiple_references_import.zip' } -    let( :expected ){ %w{ref1 ref2} } - -    it_behaves_like 'a correct zip entry reader' -  end - -  context 'more entries' do -    let( :zip_file ){ fixtures_path 'single_reference_import.zip' } -    let( :expected ){ %w{ref} } - -    it_behaves_like 'a correct zip entry reader' -  end -   -  context 'illegal file' do -    let( :zip_file ){ fixtures_path 'nozip.zip' } -    let( :expected ){ [] } - -    it_behaves_like 'a correct zip entry reader' -  end -end diff --git a/spec/services/zip_service/zip_output_streams_spec.rb b/spec/services/zip_service/zip_output_streams_spec.rb deleted file mode 100644 index 742f9b996..000000000 --- a/spec/services/zip_service/zip_output_streams_spec.rb +++ /dev/null @@ -1,8 +0,0 @@ -RSpec.describe ZipService do -   -  subject{ described_class.new(read_fixture('multiple_references_import.zip')) } - -  it "exposes its size" do -    expect( subject.entry_group_streams.size ).to eq(2) -  end -end | 
