diff options
Diffstat (limited to 'spec')
60 files changed, 4512 insertions, 288 deletions
| diff --git a/spec/factories/organisations.rb b/spec/factories/organisations.rb index 239557a0e..2914c30cb 100644 --- a/spec/factories/organisations.rb +++ b/spec/factories/organisations.rb @@ -2,5 +2,8 @@ FactoryGirl.define do    factory :organisation do      sequence(:name) { |n| "Organisation #{n}" }      sequence(:code) { |n| "000#{n}" } +    factory :org_with_lines do +      sso_attributes { { 'functional_scope' => %w{STIF:CODIFLIGNE:Line:C00108 STIF:CODIFLIGNE:Line:C00109}.to_json } } +    end    end  end diff --git a/spec/fixtures/OFFRE_WITH_EXTRA.zip b/spec/fixtures/OFFRE_WITH_EXTRA.zipBinary files differ deleted file mode 100644 index 97ea3f513..000000000 --- a/spec/fixtures/OFFRE_WITH_EXTRA.zip +++ /dev/null diff --git a/spec/fixtures/extra_file_nok/OFFRE_WITH_EXTRA/SPURIOUS/spurious.xml b/spec/fixtures/extra_file_nok/OFFRE_WITH_EXTRA/SPURIOUS/spurious.xml new file mode 100644 index 000000000..a6204cd5c --- /dev/null +++ b/spec/fixtures/extra_file_nok/OFFRE_WITH_EXTRA/SPURIOUS/spurious.xml @@ -0,0 +1 @@ +spurious diff --git a/spec/fixtures/source_OFFRE_TRANSDEV_20170301122517/calendriers.xml b/spec/fixtures/extra_file_nok/OFFRE_WITH_EXTRA/calendriers.xml index bfbd0aea1..bfbd0aea1 100644 --- a/spec/fixtures/source_OFFRE_TRANSDEV_20170301122517/calendriers.xml +++ b/spec/fixtures/extra_file_nok/OFFRE_WITH_EXTRA/calendriers.xml diff --git a/spec/fixtures/source_OFFRE_TRANSDEV_20170301122517/commun.xml b/spec/fixtures/extra_file_nok/OFFRE_WITH_EXTRA/commun.xml index 266c8a598..266c8a598 100644 --- a/spec/fixtures/source_OFFRE_TRANSDEV_20170301122517/commun.xml +++ b/spec/fixtures/extra_file_nok/OFFRE_WITH_EXTRA/commun.xml diff --git a/spec/fixtures/source_OFFRE_TRANSDEV_20170301122517/offre_C00108_9.xml b/spec/fixtures/extra_file_nok/OFFRE_WITH_EXTRA/offre_C00108_9.xml index 832793036..832793036 100644 --- a/spec/fixtures/source_OFFRE_TRANSDEV_20170301122517/offre_C00108_9.xml +++ b/spec/fixtures/extra_file_nok/OFFRE_WITH_EXTRA/offre_C00108_9.xml diff --git a/spec/fixtures/source_OFFRE_TRANSDEV_20170301122517/offre_C00109_10.xml b/spec/fixtures/extra_file_nok/OFFRE_WITH_EXTRA/offre_C00109_10.xml index 9dff0d850..9dff0d850 100644 --- a/spec/fixtures/source_OFFRE_TRANSDEV_20170301122517/offre_C00109_10.xml +++ b/spec/fixtures/extra_file_nok/OFFRE_WITH_EXTRA/offre_C00109_10.xml diff --git a/spec/fixtures/foreign_and_spurious/FOREIGN_LINE/calendriers.xml b/spec/fixtures/foreign_and_spurious/FOREIGN_LINE/calendriers.xml new file mode 100644 index 000000000..bfbd0aea1 --- /dev/null +++ b/spec/fixtures/foreign_and_spurious/FOREIGN_LINE/calendriers.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/foreign_and_spurious/FOREIGN_LINE/commun.xml b/spec/fixtures/foreign_and_spurious/FOREIGN_LINE/commun.xml new file mode 100644 index 000000000..266c8a598 --- /dev/null +++ b/spec/fixtures/foreign_and_spurious/FOREIGN_LINE/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/foreign_and_spurious/FOREIGN_LINE/offre_C00107_10.xml b/spec/fixtures/foreign_and_spurious/FOREIGN_LINE/offre_C00107_10.xml new file mode 100644 index 000000000..9dff0d850 --- /dev/null +++ b/spec/fixtures/foreign_and_spurious/FOREIGN_LINE/offre_C00107_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/foreign_and_spurious/FOREIGN_LINE/offre_C00108_9.xml b/spec/fixtures/foreign_and_spurious/FOREIGN_LINE/offre_C00108_9.xml new file mode 100644 index 000000000..832793036 --- /dev/null +++ b/spec/fixtures/foreign_and_spurious/FOREIGN_LINE/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/foreign_and_spurious/OFFRE_TRANSDEV_20170301122517/calendriers.xml b/spec/fixtures/foreign_and_spurious/OFFRE_TRANSDEV_20170301122517/calendriers.xml new file mode 100644 index 000000000..bfbd0aea1 --- /dev/null +++ b/spec/fixtures/foreign_and_spurious/OFFRE_TRANSDEV_20170301122517/calendriers.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/foreign_and_spurious/OFFRE_TRANSDEV_20170301122517/commun.xml b/spec/fixtures/foreign_and_spurious/OFFRE_TRANSDEV_20170301122517/commun.xml new file mode 100644 index 000000000..266c8a598 --- /dev/null +++ b/spec/fixtures/foreign_and_spurious/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/foreign_and_spurious/OFFRE_TRANSDEV_20170301122517/offre_C00108_9.xml b/spec/fixtures/foreign_and_spurious/OFFRE_TRANSDEV_20170301122517/offre_C00108_9.xml new file mode 100644 index 000000000..832793036 --- /dev/null +++ b/spec/fixtures/foreign_and_spurious/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/foreign_and_spurious/OFFRE_TRANSDEV_20170301122517/offre_C00109_10.xml b/spec/fixtures/foreign_and_spurious/OFFRE_TRANSDEV_20170301122517/offre_C00109_10.xml new file mode 100644 index 000000000..9dff0d850 --- /dev/null +++ b/spec/fixtures/foreign_and_spurious/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/calendriers.xml b/spec/fixtures/foreign_and_spurious/OFFRE_TRANSDEV_20170301122519/calendriers.xml index 1043e0cde..1043e0cde 100644 --- a/spec/fixtures/source_OFFRE_TRANSDEV_20170301122519/calendriers.xml +++ b/spec/fixtures/foreign_and_spurious/OFFRE_TRANSDEV_20170301122519/calendriers.xml diff --git a/spec/fixtures/source_OFFRE_TRANSDEV_20170301122519/commun.xml b/spec/fixtures/foreign_and_spurious/OFFRE_TRANSDEV_20170301122519/commun.xml index f59f8ac2d..f59f8ac2d 100644 --- a/spec/fixtures/source_OFFRE_TRANSDEV_20170301122519/commun.xml +++ b/spec/fixtures/foreign_and_spurious/OFFRE_TRANSDEV_20170301122519/commun.xml diff --git a/spec/fixtures/source_OFFRE_TRANSDEV_20170301122519/offre_C00108_9.xml b/spec/fixtures/foreign_and_spurious/OFFRE_TRANSDEV_20170301122519/offre_C00108_9.xml index 9eefeeb43..9eefeeb43 100644 --- a/spec/fixtures/source_OFFRE_TRANSDEV_20170301122519/offre_C00108_9.xml +++ b/spec/fixtures/foreign_and_spurious/OFFRE_TRANSDEV_20170301122519/offre_C00108_9.xml diff --git a/spec/fixtures/source_OFFRE_TRANSDEV_20170301122519/offre_C00109_10.xml b/spec/fixtures/foreign_and_spurious/OFFRE_TRANSDEV_20170301122519/offre_C00109_10.xml index d260ef17e..d260ef17e 100644 --- a/spec/fixtures/source_OFFRE_TRANSDEV_20170301122519/offre_C00109_10.xml +++ b/spec/fixtures/foreign_and_spurious/OFFRE_TRANSDEV_20170301122519/offre_C00109_10.xml diff --git a/spec/fixtures/foreign_and_spurious/OFFRE_WITH_EXTRA/SPURIOUS/spurious.xml b/spec/fixtures/foreign_and_spurious/OFFRE_WITH_EXTRA/SPURIOUS/spurious.xml new file mode 100644 index 000000000..a6204cd5c --- /dev/null +++ b/spec/fixtures/foreign_and_spurious/OFFRE_WITH_EXTRA/SPURIOUS/spurious.xml @@ -0,0 +1 @@ +spurious diff --git a/spec/fixtures/foreign_and_spurious/OFFRE_WITH_EXTRA/calendriers.xml b/spec/fixtures/foreign_and_spurious/OFFRE_WITH_EXTRA/calendriers.xml new file mode 100644 index 000000000..bfbd0aea1 --- /dev/null +++ b/spec/fixtures/foreign_and_spurious/OFFRE_WITH_EXTRA/calendriers.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/foreign_and_spurious/OFFRE_WITH_EXTRA/commun.xml b/spec/fixtures/foreign_and_spurious/OFFRE_WITH_EXTRA/commun.xml new file mode 100644 index 000000000..266c8a598 --- /dev/null +++ b/spec/fixtures/foreign_and_spurious/OFFRE_WITH_EXTRA/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/foreign_and_spurious/OFFRE_WITH_EXTRA/offre_C00108_9.xml b/spec/fixtures/foreign_and_spurious/OFFRE_WITH_EXTRA/offre_C00108_9.xml new file mode 100644 index 000000000..832793036 --- /dev/null +++ b/spec/fixtures/foreign_and_spurious/OFFRE_WITH_EXTRA/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/foreign_and_spurious/OFFRE_WITH_EXTRA/offre_C00109_10.xml b/spec/fixtures/foreign_and_spurious/OFFRE_WITH_EXTRA/offre_C00109_10.xml new file mode 100644 index 000000000..9dff0d850 --- /dev/null +++ b/spec/fixtures/foreign_and_spurious/OFFRE_WITH_EXTRA/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/meta_zip/one/alpha b/spec/fixtures/meta_zip/one/alpha new file mode 100644 index 000000000..4a5800705 --- /dev/null +++ b/spec/fixtures/meta_zip/one/alpha @@ -0,0 +1 @@ +alpha diff --git a/spec/fixtures/meta_zip/two/beta b/spec/fixtures/meta_zip/two/beta new file mode 100644 index 000000000..65b2df87f --- /dev/null +++ b/spec/fixtures/meta_zip/two/beta @@ -0,0 +1 @@ +beta diff --git a/spec/fixtures/meta_zip/two/subdir/gamma b/spec/fixtures/meta_zip/two/subdir/gamma new file mode 100644 index 000000000..af17f6cc8 --- /dev/null +++ b/spec/fixtures/meta_zip/two/subdir/gamma @@ -0,0 +1 @@ +gamma diff --git a/spec/fixtures/nozip.zip b/spec/fixtures/nozip.zip deleted file mode 100644 index 505bd213a..000000000 --- a/spec/fixtures/nozip.zip +++ /dev/null @@ -1 +0,0 @@ -no zip file diff --git a/spec/fixtures/some_foreign_mixed/FOREIGN_LINE/calendriers.xml b/spec/fixtures/some_foreign_mixed/FOREIGN_LINE/calendriers.xml new file mode 100644 index 000000000..bfbd0aea1 --- /dev/null +++ b/spec/fixtures/some_foreign_mixed/FOREIGN_LINE/calendriers.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/some_foreign_mixed/FOREIGN_LINE/commun.xml b/spec/fixtures/some_foreign_mixed/FOREIGN_LINE/commun.xml new file mode 100644 index 000000000..266c8a598 --- /dev/null +++ b/spec/fixtures/some_foreign_mixed/FOREIGN_LINE/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/some_foreign_mixed/FOREIGN_LINE/offre_C00107_10.xml b/spec/fixtures/some_foreign_mixed/FOREIGN_LINE/offre_C00107_10.xml new file mode 100644 index 000000000..9dff0d850 --- /dev/null +++ b/spec/fixtures/some_foreign_mixed/FOREIGN_LINE/offre_C00107_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/some_foreign_mixed/FOREIGN_LINE/offre_C00108_9.xml b/spec/fixtures/some_foreign_mixed/FOREIGN_LINE/offre_C00108_9.xml new file mode 100644 index 000000000..832793036 --- /dev/null +++ b/spec/fixtures/some_foreign_mixed/FOREIGN_LINE/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/some_foreign_mixed/OFFRE_TRANSDEV_20170301122517/calendriers.xml b/spec/fixtures/some_foreign_mixed/OFFRE_TRANSDEV_20170301122517/calendriers.xml new file mode 100644 index 000000000..bfbd0aea1 --- /dev/null +++ b/spec/fixtures/some_foreign_mixed/OFFRE_TRANSDEV_20170301122517/calendriers.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/some_foreign_mixed/OFFRE_TRANSDEV_20170301122517/commun.xml b/spec/fixtures/some_foreign_mixed/OFFRE_TRANSDEV_20170301122517/commun.xml new file mode 100644 index 000000000..266c8a598 --- /dev/null +++ b/spec/fixtures/some_foreign_mixed/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/some_foreign_mixed/OFFRE_TRANSDEV_20170301122517/offre_C00108_9.xml b/spec/fixtures/some_foreign_mixed/OFFRE_TRANSDEV_20170301122517/offre_C00108_9.xml new file mode 100644 index 000000000..832793036 --- /dev/null +++ b/spec/fixtures/some_foreign_mixed/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/some_foreign_mixed/OFFRE_TRANSDEV_20170301122517/offre_C00109_10.xml b/spec/fixtures/some_foreign_mixed/OFFRE_TRANSDEV_20170301122517/offre_C00109_10.xml new file mode 100644 index 000000000..9dff0d850 --- /dev/null +++ b/spec/fixtures/some_foreign_mixed/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/some_foreign_mixed/OFFRE_TRANSDEV_20170301122519/calendriers.xml b/spec/fixtures/some_foreign_mixed/OFFRE_TRANSDEV_20170301122519/calendriers.xml new file mode 100644 index 000000000..1043e0cde --- /dev/null +++ b/spec/fixtures/some_foreign_mixed/OFFRE_TRANSDEV_20170301122519/calendriers.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-04-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/some_foreign_mixed/OFFRE_TRANSDEV_20170301122519/commun.xml b/spec/fixtures/some_foreign_mixed/OFFRE_TRANSDEV_20170301122519/commun.xml new file mode 100644 index 000000000..f59f8ac2d --- /dev/null +++ b/spec/fixtures/some_foreign_mixed/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/some_foreign_mixed/OFFRE_TRANSDEV_20170301122519/offre_C00108_9.xml b/spec/fixtures/some_foreign_mixed/OFFRE_TRANSDEV_20170301122519/offre_C00108_9.xml new file mode 100644 index 000000000..9eefeeb43 --- /dev/null +++ b/spec/fixtures/some_foreign_mixed/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/some_foreign_mixed/OFFRE_TRANSDEV_20170301122519/offre_C00109_10.xml b/spec/fixtures/some_foreign_mixed/OFFRE_TRANSDEV_20170301122519/offre_C00109_10.xml new file mode 100644 index 000000000..d260ef17e --- /dev/null +++ b/spec/fixtures/some_foreign_mixed/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/two_referentials_ok/OFFRE_TRANSDEV_20170301122517/calendriers.xml b/spec/fixtures/two_referentials_ok/OFFRE_TRANSDEV_20170301122517/calendriers.xml new file mode 100644 index 000000000..bfbd0aea1 --- /dev/null +++ b/spec/fixtures/two_referentials_ok/OFFRE_TRANSDEV_20170301122517/calendriers.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/two_referentials_ok/OFFRE_TRANSDEV_20170301122517/commun.xml b/spec/fixtures/two_referentials_ok/OFFRE_TRANSDEV_20170301122517/commun.xml new file mode 100644 index 000000000..266c8a598 --- /dev/null +++ b/spec/fixtures/two_referentials_ok/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/two_referentials_ok/OFFRE_TRANSDEV_20170301122517/offre_C00108_9.xml b/spec/fixtures/two_referentials_ok/OFFRE_TRANSDEV_20170301122517/offre_C00108_9.xml new file mode 100644 index 000000000..832793036 --- /dev/null +++ b/spec/fixtures/two_referentials_ok/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/two_referentials_ok/OFFRE_TRANSDEV_20170301122517/offre_C00109_10.xml b/spec/fixtures/two_referentials_ok/OFFRE_TRANSDEV_20170301122517/offre_C00109_10.xml new file mode 100644 index 000000000..9dff0d850 --- /dev/null +++ b/spec/fixtures/two_referentials_ok/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/two_referentials_ok/OFFRE_TRANSDEV_20170301122519/calendriers.xml b/spec/fixtures/two_referentials_ok/OFFRE_TRANSDEV_20170301122519/calendriers.xml new file mode 100644 index 000000000..1043e0cde --- /dev/null +++ b/spec/fixtures/two_referentials_ok/OFFRE_TRANSDEV_20170301122519/calendriers.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-04-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/two_referentials_ok/OFFRE_TRANSDEV_20170301122519/commun.xml b/spec/fixtures/two_referentials_ok/OFFRE_TRANSDEV_20170301122519/commun.xml new file mode 100644 index 000000000..f59f8ac2d --- /dev/null +++ b/spec/fixtures/two_referentials_ok/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/two_referentials_ok/OFFRE_TRANSDEV_20170301122519/offre_C00108_9.xml b/spec/fixtures/two_referentials_ok/OFFRE_TRANSDEV_20170301122519/offre_C00108_9.xml new file mode 100644 index 000000000..9eefeeb43 --- /dev/null +++ b/spec/fixtures/two_referentials_ok/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/two_referentials_ok/OFFRE_TRANSDEV_20170301122519/offre_C00109_10.xml b/spec/fixtures/two_referentials_ok/OFFRE_TRANSDEV_20170301122519/offre_C00109_10.xml new file mode 100644 index 000000000..d260ef17e --- /dev/null +++ b/spec/fixtures/two_referentials_ok/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/lib/stif/netex_file/frame_spec.rb b/spec/lib/stif/netex_file/frame_spec.rb new file mode 100644 index 000000000..eb80e7b14 --- /dev/null +++ b/spec/lib/stif/netex_file/frame_spec.rb @@ -0,0 +1,13 @@ +require 'stif/netex_file' +RSpec.describe STIF::NetexFile::Frame do +   +  context "line object id extraction" do +    it "gets the line object id if frame describes a line" do +      expect( described_class.get_line_object_id('offre_C00109_10.xml') ).to eq('C00109') +    end + +    it "gets nil if the frame does not describe a line" do +      expect( described_class.get_line_object_id('commun.xml') ).to be_nil +    end +  end +end diff --git a/spec/lib/stif/netex_file_spec.rb b/spec/lib/stif/netex_file_spec.rb index ef69b994c..850d0d3de 100644 --- a/spec/lib/stif/netex_file_spec.rb +++ b/spec/lib/stif/netex_file_spec.rb @@ -1,8 +1,9 @@ +require 'stif/netex_file'  RSpec.describe STIF::NetexFile do    let( :zip_file ){ fixtures_path 'OFFRE_TRANSDEV_2017030112251.zip' } -  let(:frames) { STIF::NetexFile.new(zip_file).frames } +  let(:frames) { described_class.new(zip_file).frames }    it "should return a frame for each sub directory" do      expect(frames.size).to eq(2) @@ -22,4 +23,5 @@ RSpec.describe STIF::NetexFile do      end    end +  end diff --git a/spec/models/organisation_spec.rb b/spec/models/organisation_spec.rb index 1217666f7..359417d88 100644 --- a/spec/models/organisation_spec.rb +++ b/spec/models/organisation_spec.rb @@ -2,8 +2,19 @@ describe Organisation, :type => :model do    it { should validate_presence_of(:name) }    it { should validate_uniqueness_of(:code) } -  it 'should have a valid factory' do -    expect(FactoryGirl.build(:organisation)).to be_valid +  subject { build_stubbed :organisation } + +  it 'has a valid factory' do +    expect_it.to be_valid +  end + +  context 'lines_set' do +    it 'has no lines' do +      expect( subject.lines_set ).to eq(Set.new()) +    end +    it 'has two lines' do +      expect( build_stubbed(:org_with_lines).lines_set ).to eq(Set.new(%w{C00109 C00108})) +    end    end    # it "create a rule_parameter_set" do diff --git a/spec/requests/api/v1/netex_import_spec.rb b/spec/requests/api/v1/netex_import_spec.rb index a90e51e5b..8597c1d32 100644 --- a/spec/requests/api/v1/netex_import_spec.rb +++ b/spec/requests/api/v1/netex_import_spec.rb @@ -32,18 +32,18 @@ RSpec.describe "NetexImport", type: :request do        let( :authorization ){ authorization_token_header( get_api_key.token ) }        #TODO Check why referential_id is nil        it 'succeeds' do -        skip "Problem with referential_id" do -          create(:line, objectid: 'STIF:CODIFLIGNE:Line:C00108', line_referential: workbench.line_referential) -          create(:line, objectid: 'STIF:CODIFLIGNE:Line:C00109', line_referential: workbench.line_referential) - -          post_request.(netex_import: legal_attributes) -          expect( response ).to be_success -          expect( json_response_body ).to eq( -            'id'             => NetexImport.last.id, -            'referential_id' => Referential.last.id, -            'workbench_id'   => workbench.id -          ) -        end +        # skip "Problem with referential_id" do +        create(:line, objectid: 'STIF:CODIFLIGNE:Line:C00108', line_referential: workbench.line_referential) +        create(:line, objectid: 'STIF:CODIFLIGNE:Line:C00109', line_referential: workbench.line_referential) + +        post_request.(netex_import: legal_attributes) +        expect( response ).to be_success +        expect( json_response_body ).to eq( +          'id'             => NetexImport.last.id, +          'referential_id' => Referential.last.id, +          'workbench_id'   => workbench.id +        ) +        # end        end @@ -54,24 +54,21 @@ RSpec.describe "NetexImport", type: :request do          expect{ post_request.(netex_import: legal_attributes) }.to change{NetexImport.count}.by(1)        end -      #TODO Check why Referential count does not change -      it 'creates a correct Referential' do -        skip "Referential count does not change" do -          create(:line, objectid: 'STIF:CODIFLIGNE:Line:C00108', line_referential: workbench.line_referential) -          create(:line, objectid: 'STIF:CODIFLIGNE:Line:C00109', line_referential: workbench.line_referential) - -          legal_attributes # force object creation for correct to change behavior -          expect{post_request.(netex_import: legal_attributes)}.to change{Referential.count}.by(1) -          Referential.last.tap do | ref | -            expect( ref.workbench_id ).to eq(workbench.id) -            expect( ref.organisation_id ).to eq(workbench.organisation_id) -          end +      it 'creates a correct Referential', pending: 'see #5073' do +        create(:line, objectid: 'STIF:CODIFLIGNE:Line:C00108', line_referential: workbench.line_referential) +        create(:line, objectid: 'STIF:CODIFLIGNE:Line:C00109', line_referential: workbench.line_referential) + +        legal_attributes # force object creation for correct to change behavior +        expect{post_request.(netex_import: legal_attributes)}.to change{Referential.count}.by(1) +        Referential.last.tap do | ref | +          expect( ref.workbench_id ).to eq(workbench.id) +          expect( ref.organisation_id ).to eq(workbench.organisation_id)          end        end      end -    context 'with incorrect credentials and correct request', pending: "see #4311" do +    context 'with incorrect credentials and correct request', pending: "see #4311 & #5072" do        let( :authorization ){ authorization_token_header( "#{referential.id}-incorrect_token") }        it 'does not create any DB object and does not succeed' do diff --git a/spec/services/meta_zip_data_spec.rb b/spec/services/meta_zip_data_spec.rb new file mode 100644 index 000000000..1cbfee008 --- /dev/null +++ b/spec/services/meta_zip_data_spec.rb @@ -0,0 +1,55 @@ +# Convenience meta spec to debug potential bugs in zip support helpers +# uncomment run and check files in `zip_fixtures_path` +# +# It also describes what the two helpers do and therefore facilitates the usage of  +# +#   * `make_zip` and +#   * `make_zip_from_tree +#  +RSpec.describe 'ZipData', type: [:zip, :meta] do + +  # let( :zip_file ){ zip_fixtures_path('xxx.zip') } +  # let( :tmp_output ){ zip_fixtures_path('tmp') } + +  # before do +  #   clear_all_zip_fixtures! +  #   Dir.mkdir(tmp_output) +  # end + +  # context 'a simple archive' do +  #   let( :zip_data ){ make_zip "xxx.zip", archive_content } +  #   let( :archive_content ){ { +  #         'hello.txt' => 'hello', +  #         'subdir/too.txt' => 'in a subdir' +  #   } } + +  #   it 'handmade: plausibility and manual check' do +  #     zip_data.write_to(zip_file) +  #     %x{unzip -oqq #{zip_file} -d #{tmp_output}} +  #     archive_content.each do | rel_path, content | +  #       expect(File.read(File.join(tmp_output, rel_path))).to eq(content) +  #     end +  #   end +  # end + +  # context 'archive from dir tree' do +  #   let( :dir ){ fixtures_path 'meta_zip' } +  #   let( :zip_data ){ make_zip_from_tree dir } + +  #   let( :archive_content ){ { +  #     'one/alpha'        => "alpha\n", +  #     'two/beta'         => "beta\n", +  #     'two/subdir/gamma' => "gamma\n" +  #   } } + +  #   it 'directory: plausibility and manual check' do +  #     zip_data.write_to(zip_file) +  #     %x{unzip -oqq #{zip_file} -d #{tmp_output}} +  #     archive_content.each do | rel_path, content | +  #       expect(File.read(File.join(tmp_output, rel_path))).to eq(content) +  #     end +  #   end + +  # end +   +end diff --git a/spec/services/zip_service_spec.rb b/spec/services/zip_service_spec.rb index 98cb9026d..751e6c3f1 100644 --- a/spec/services/zip_service_spec.rb +++ b/spec/services/zip_service_spec.rb @@ -1,68 +1,149 @@ -RSpec.describe ZipService do +RSpec.describe ZipService, type: :zip do -  let( :zip_service ){ described_class } -  let( :unzipper ){ zip_service.new(zip_data) } -  let( :zip_data ){ File.read zip_file } +  let( :unzipper ){ described_class.new( zip_data, allowed_lines ) } +  subject { unzipper.subdirs } +  let( :allowed_lines ){ Set.new(%w{C00108 C00109}) } +  let( :zip_data ){ zip_archive.data } +  let( :zip_archive ){ make_zip zip_name, zip_content } -  context 'correct test data' do -    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 +  context 'one, legal, referential' do +    let( :zip_name ){ 'one_referential_ok.zip' } +    let( :zip_content ){ first_referential_ok_data } + +    it 'yields correct output' do +      subject.each do | subdir | +        expect_correct_subdir subdir, make_zip('expected.zip', first_referential_ok_data)        end      end -    let( :subdir_names ){ %w<OFFRE_TRANSDEV_20170301122517 OFFRE_TRANSDEV_20170301122519>  } -    let( :expected_chksums ){ -      checksum_trees( subdir_names.map{ |sn| subdir_file(sn, prefix: 'source_') } ) -    } +  end -    let( :zip_file ){ fixtures_path 'OFFRE_TRANSDEV_2017030112251.zip' } -    # -    # Remove potential test artefacts +  context 'two, legal, referentials' do +    let( :zip_name ){ 'two_referential_ok.zip' } +    let( :zip_content ){ first_referential_ok_data.merge( second_referential_ok_data ) } +    let( :expected_zips ){ [ +      make_zip('expected.zip', first_referential_ok_data), +      make_zip('expected.zip', second_referential_ok_data) +    ] } -    it 'yields the correct content' do -      # Write ZipService Streams to files and inflate them to file system -      unzipper.subdirs.each do | subdir | -        expect( subdir.spurious ).to be_empty -        File.open(subdir_file( subdir.name, suffix: '.zip' ), 'wb'){ |f| f.write subdir.stream.string } -        unzip_subdir subdir +    it 'yields correct output' do +      subject.zip(expected_zips).each do | subdir, expected_zip | +        expect_correct_subdir subdir, expected_zip        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 +  context 'one referential with a spurious directory' do +    let( :zip_name ){ 'one_referential_spurious.zip' } +    let( :zip_content ){ first_referential_spurious_data } + +    it 'returns a not ok object' do +      expect_incorrect_subdir subject.first, expected_spurious: %w{SPURIOUS} +    end    end -  context 'test data with spurious directories' do  -    let( :zip_file ){ fixtures_path 'OFFRE_WITH_EXTRA.zip' } +  context 'one referential with a foreign line' do +    let( :zip_name ){ 'one_referential_foreign.zip' } +    let( :zip_content ){ first_referential_foreign_data } -    it 'returns the extra dir in the spurious field of the entry' do -      expect( unzipper.subdirs.first.spurious ).to eq(%w{EXTRA}) +    it 'returns a not ok object' do +      expect_incorrect_subdir subject.first, expected_foreign_lines: %w{C00110}      end    end +  context '1st ref ok, 2nd foreign line, 3rd spurious' do +    let( :zip_name ){ '3-mixture.zip' } +    let( :zip_content ){ first_referential_ok_data +                           .merge(first_referential_foreign_data) +                           .merge(first_referential_spurious_data) } + +    it 'returns 3 objects accordingly' do +      subdirs = subject.to_a -  def checksum_trees *dirs -    dirs.flatten.inject({},&method(:checksum_tree)) +      expect_correct_subdir subdirs.first, make_zip('expected.zip', first_referential_ok_data) + +      expect_incorrect_subdir subdirs.second, expected_foreign_lines: %w{C00110} +      expect_incorrect_subdir subdirs.third,  expected_spurious: %W{SPURIOUS} +    end    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 + +  context 'one messed up' do  +    let( :zip_name ){ 'one_messed_up.zip' } +    let( :zip_content ){ messed_up_referential_data } + +    it 'returns a not ok object (all error information provided)' do +      expect_incorrect_subdir subject.first, +                                expected_foreign_lines: %w{C00110 C00111}, +                                expected_spurious: %w{SPURIOUS1 SPURIOUS2} +    end +     +  end +  # Behaviour +  # --------- +  def expect_correct_subdir subdir, expected_zip  +    expect( subdir ).to be_ok +    expect( subdir.foreign_lines ).to be_empty +    expect( subdir.spurious ).to be_empty +    subdir.stream.tap do | stream | +      stream.rewind +      expect( stream.read ).to eq(expected_zip.data)      end -    repr    end -  def subdir_file( subdir, prefix: 'target_', suffix: '' ) -    fixtures_path("#{prefix}#{subdir}#{suffix}") +  def expect_incorrect_subdir subdir, expected_spurious: [], expected_foreign_lines: [] +    expect( subdir ).not_to be_ok +    expect( subdir.foreign_lines ).to eq(expected_foreign_lines) +    expect( subdir.spurious ).to eq(expected_spurious)    end -  def unzip_subdir subdir -    %x{unzip -oqq #{subdir_file subdir.name, suffix: '.zip'} -d #{fixture_path}/target} +  # Data +  # ---- +  let :first_referential_ok_data do +    { +       'Referential1/calendriers.xml'     => 'calendriers', +       'Referential1/commun.xml'          => 'common', +       'Referential1/offre_C00108_9.xml'  => 'line 108 ref 1', +       'Referential1/offre_C00109_10.xml' => 'line 109 ref 1' +    }    end -end +  let :first_referential_foreign_data do +    { +       'Referential2/calendriers.xml'     => 'calendriers', +       'Referential2/commun.xml'          => 'common', +       'Referential2/offre_C00110_11.xml' => 'foreign line ref 1', +       'Referential2/offre_C00108_9.xml'  => 'line 108 ref 1', +       'Referential2/offre_C00109_10.xml' => 'line 109 ref 1' +    } +  end +  let :first_referential_spurious_data do +    { +       'Referential3/calendriers.xml'     => 'calendriers', +       'Referential3/commun.xml'          => 'common', +       'Referential3/SPURIOUS/commun.xml' => 'common', +       'Referential3/offre_C00108_9.xml'  => 'line 108 ref 1', +       'Referential3/offre_C00109_10.xml' => 'line 109 ref 1' +    } +  end +  let :second_referential_ok_data do +    { +       'Referential4/calendriers.xml'     => 'calendriers', +       'Referential4/commun.xml'          => 'common', +       'Referential4/offre_C00108_9.xml'  => 'line 108 ref 2', +       'Referential4/offre_C00109_10.xml' => 'line 109 ref 2' +    } +  end +  let :messed_up_referential_data do +    { +       'Referential5/calendriers.xml'      => 'calendriers', +       'Referential5/commun.xml'           => 'common', +       'Referential5/SPURIOUS1/commun.xml' => 'common', +       'Referential5/SPURIOUS2/commun.xml' => 'common', +       'Referential5/offre_C00110_11.xml'  => 'foreign line ref 1', +       'Referential5/offre_C00111_11.xml'  => 'foreign line ref 1', +       'Referential5/offre_C00108_9.xml'   => 'line 108 ref 1', +       'Referential5/offre_C00109_10.xml'  => 'line 109 ref 1' +    } +  end + +end diff --git a/spec/support/helpers/tree_walker.rb b/spec/support/helpers/tree_walker.rb new file mode 100644 index 000000000..b86c3a8e1 --- /dev/null +++ b/spec/support/helpers/tree_walker.rb @@ -0,0 +1,15 @@ +module TreeWalker extend self +    MAX_LEVEL = 5 +    def walk_tree path, max_level: MAX_LEVEL, level: 0, yield_dirs: :no, &blk +      raise RuntimeError, "too many levels in tree walk, > #{max_level}" if level > max_level +      Dir.glob(File.join(path, '*')) do | file | +        if File.directory?( file ) +          blk.(:dir, file) if yield_dirs == :before  +          walk_tree(file, max_level: max_level, level: level.succ, yield_dirs: yield_dirs, &blk) +          blk.(:dir, file) if yield_dirs == :after  +        else +          blk.(:file, file) +        end +      end +    end +end diff --git a/spec/support/zip_support.rb b/spec/support/zip_support.rb new file mode 100644 index 000000000..3d9b2f97c --- /dev/null +++ b/spec/support/zip_support.rb @@ -0,0 +1,25 @@ +require_relative 'helpers/tree_walker' +module ZipSupport + +  module Helper extend self +    def remove +      -> filetype, path do +        filetype == :file ? File.unlink(path) : Dir.unlink(path) +      end +    end +  end + +  def zip_fixtures_path(file_name) +    fixtures_path(File.join('zip', file_name)) +  end + +  def clear_all_zip_fixtures! relpath = '' +    raise ArgumentError, 'up dir not allowed (..)' if %r{\.\.} === relpath +    TreeWalker.walk_tree zip_fixtures_path(relpath), yield_dirs: :after, &Helper.remove  +  end +end + +RSpec.configure do |conf| +  conf.include ZipSupport, type: :zip +end + diff --git a/spec/support/zip_support/create_zip_data.rb b/spec/support/zip_support/create_zip_data.rb new file mode 100644 index 000000000..250d67f74 --- /dev/null +++ b/spec/support/zip_support/create_zip_data.rb @@ -0,0 +1,70 @@ +require_relative '../helpers/tree_walker' +module ZipSupport +  module CreateZipData + +    class ZipData < Struct.new(:name, :data)  + +      def write_to file +        File.write(file, data) +      end + +    end + +    class Implementation + +      attr_reader :name, :prefix, :zip + +      def initialize name +        @name   = name +        @prefix = "#{name}/" +        @zip    = ZipData.new(name, '') +      end + +      def make_from names_to_content_map +        os = Zip::OutputStream.write_buffer do | zio | +          names_to_content_map.each(&add_entries(zio)) +        end +        zip.data = os.string +        zip +      end + +      def make_from_tree +        os = Zip::OutputStream.write_buffer do | zio | +          TreeWalker.walk_tree(name, &add_entry(zio))  +        end +        zip.data = os.string +        zip +      end + +      private + +      def add_entry zio +        -> _, path do +          rel_path = path.sub(prefix, '') +          zio.put_next_entry(rel_path) +          zio.write(File.read(path)) +        end +      end + +      def add_entries zio +        -> name, content do +          zio.put_next_entry(name) +          zio.write(content) +        end +      end +    end + + +    def make_zip(name, names_to_content_map = {}) +      Implementation.new(name).make_from(names_to_content_map) +    end + +    def make_zip_from_tree(dir) +      Implementation.new(dir).make_from_tree +    end +  end +end + +RSpec.configure do |conf| +  conf.include ZipSupport::CreateZipData, type: :zip +end diff --git a/spec/workers/workbench_import/workbench_import_with_corrupt_zip_spec.rb b/spec/workers/workbench_import/workbench_import_with_corrupt_zip_spec.rb deleted file mode 100644 index 47626f5a1..000000000 --- a/spec/workers/workbench_import/workbench_import_with_corrupt_zip_spec.rb +++ /dev/null @@ -1,47 +0,0 @@ -RSpec.describe WorkbenchImportWorker do - -  shared_examples_for 'corrupt zipfile data' do -    subject { described_class.new } -    let( :workbench_import ){ create :workbench_import, status: :pending } - -    before do -      # Let us make sure that the name Enterprise will never be forgotten by history, -      # ahem, I meant, that nothing is uploaded, by forbidding any message to be sent -      # to HTTPService -      expect_it.to receive(:download).and_return(downloaded) -    end - -    it 'does not upload' do -      stub_const 'HTTPService', double('HTTPService') -      subject.perform(workbench_import.id) -    end - -    it 'does create a message' do -      expect{ subject.perform(workbench_import.id) }.to change{ workbench_import.messages.count }.by(1) - -      message = workbench_import.messages.last -      expect( message.criticity ).to eq('error') -      expect( message.message_key ).to eq('corrupt_zip_file') -      expect( message.message_attributes ).to eq( 'source_filename' => workbench_import.file.file.file ) -    end - -    it 'does not change current step' do -      expect{ subject.perform(workbench_import.id) }.not_to change{ workbench_import.current_step } -    end - -    it "sets the workbench_import.status to failed" do -      subject.perform(workbench_import.id) -      expect( workbench_import.reload.status ).to eq('failed') -    end -  end - -  context 'empty zip file' do  -    let( :downloaded ){ '' } -    it_should_behave_like 'corrupt zipfile data' -  end - -  context 'corrupt data' do  -    let( :downloaded ){ very_random } -    it_should_behave_like 'corrupt zipfile data' -  end -end diff --git a/spec/workers/workbench_import/workbench_import_worker_spec.rb b/spec/workers/workbench_import/workbench_import_worker_spec.rb deleted file mode 100644 index 47ca2b4ff..000000000 --- a/spec/workers/workbench_import/workbench_import_worker_spec.rb +++ /dev/null @@ -1,169 +0,0 @@ -RSpec.describe WorkbenchImportWorker, type: [:worker, :request] do - -  let( :worker ) { described_class.new } -  let( :import ){ build_stubbed :import, token_download: download_token, file: zip_file } - -  let( :workbench ){ import.workbench } -  let( :referential ){ import.referential } -  let( :api_key ){ build_stubbed :api_key, referential: referential, token: "#{referential.id}-#{random_hex}" } - -  # http://www.example.com/workbenches/:workbench_id/imports/:id/download -  let( :host ){ Rails.configuration.rails_host } -  let( :path ){ download_workbench_import_path(workbench, import) } - -  let( :downloaded_zip ){ double("downloaded zip") } -  let( :download_zip_response ){ OpenStruct.new( body: downloaded_zip ) } -  let( :download_token ){ random_string } - -  let( :upload_path ) { api_v1_netex_imports_path(format: :json) } - -  let( :spurious ){ [[], [], []] } -  let( :subdirs ) do -    entry_count.times.map do |i| -      ZipService::Subdir.new( -        "subdir #{i}", -        double("subdir #{i}", rewind: 0, read: ''), -        spurious[i] -      ) -    end -  end - -  let( :zip_service ){ double("zip service") } -  let( :zip_file ){ open_fixture('multiple_references_import.zip') } - -  let( :post_response_ok ){ double(status: 201, body: "{}") } - -  before do -    Timecop.freeze(Time.now) - -    # Silence Logger -    allow_any_instance_of(Logger).to receive(:info) -    allow_any_instance_of(Logger).to receive(:warn) - -    # That should be `build_stubbed's` job, no? -    allow(Import).to receive(:find).with(import.id).and_return(import) - -    allow(Api::V1::ApiKey).to receive(:from).and_return(api_key) -    allow(ZipService).to receive(:new).with(downloaded_zip).and_return zip_service -    expect(zip_service).to receive(:subdirs).and_return(subdirs) -    expect( import ).to receive(:update).with( -      status: 'running', -      started_at: Time.now -    ) -  end - -  after do -    Timecop.return -  end - - -  context 'multireferential zipfile, no errors' do -    let( :entry_count ){ 2 } - -    it 'downloads a zip file, cuts it, and uploads all pieces' do - -      expect(HTTPService).to receive(:get_resource) -        .with(host: host, path: path, params: {token: download_token}) -        .and_return( download_zip_response ) - -      subdirs.each do |subdir| -        mock_post subdir, post_response_ok -      end - -      expect( import ).to receive(:update).with(total_steps: 2) -      expect( import ).to receive(:update).with(current_step: 1) -      expect( import ).to receive(:update).with(current_step: 2) -      expect( import ).to receive(:update).with(ended_at: Time.now) - -      worker.perform import.id - -    end -  end - -  context 'multireferential zipfile with error' do -    let( :entry_count ){ 3 } -    let( :post_response_failure ){ double(status: 406, body: {error: 'What was you thinking'}) } - -    it 'downloads a zip file, cuts it, and uploads some pieces' do -      expect(HTTPService).to receive(:get_resource) -        .with(host: host, path: path, params: {token: download_token}) -        .and_return( download_zip_response ) - -      # First subdir succeeds -      subdirs[0..0].each do |subdir| -        mock_post subdir, post_response_ok -      end - -      # Second subdir fails (M I S E R A B L Y) -      subdirs[1..1].each do |subdir| -        mock_post subdir, post_response_failure -      end - -      expect( import ).to receive(:update).with(total_steps: 3) -      expect( import ).to receive(:update).with(current_step: 1) -      expect( import ).to receive(:update).with(current_step: 2) -      expect( import ).to receive(:update).with(current_step: 3, status: 'failed') - -      expect { worker.perform import.id }.to raise_error(StopIteration) -    end -  end - -  context 'multireferential zipfile with spurious directories' do  -    let( :entry_count ){ 2 } -    let( :spurious1 ){ [random_string] } -    let( :spurious2 ){ [random_string, random_string] } -    let( :spurious ){ [spurious1, spurious2] } -    let( :messages ){ double('messages') } -    let( :message_attributes ){{criticity: :warning, message_key: 'inconsistent_zip_file'}} -    let( :message1_attributes ){ message_attributes.merge(message_attributes: {'source_filename' => import.file.file.file, 'spurious_dirs' => spurious1.join(', ')}) } -    let( :message2_attributes ){ message_attributes.merge(message_attributes: {'source_filename' => import.file.file.file, 'spurious_dirs' => spurious2.join(', ')}) } - -    before do -      allow(import).to receive(:messages).and_return(messages) -    end - -    it 'downloads a zip file, cuts it, and uploads all pieces and adds messages' do - -      expect(HTTPService).to receive(:get_resource) -        .with(host: host, path: path, params: {token: download_token}) -        .and_return( download_zip_response ) - -      subdirs.each do |subdir| -        mock_post subdir, post_response_ok -      end - -      expect( import ).to receive(:update).with(total_steps: 2) -      expect( import ).to receive(:update).with(current_step: 1) -      expect( messages ).to receive(:create).with(message1_attributes) -      expect( import ).to receive(:update).with(current_step: 2) -      expect( messages ).to receive(:create).with(message2_attributes) -      expect( import ).to receive(:update).with(ended_at: Time.now) - -      worker.perform import.id - -    end -     -  end - -  def mock_post subdir, response -    allow(HTTPService).to receive(:upload) -    expect( HTTPService ).to receive(:post_resource) -      .with( -        host: host, -        path: upload_path, -        params: { -          netex_import: { -            parent_id: import.id, -            parent_type: import.class.name, -            workbench_id: workbench.id, -            name: subdir.name, -            file: HTTPService.upload( -              subdir.stream, -              'application/zip', -              "#{subdir.name}.zip" -            ) -          } -        } -      ).and_return(response) -  end -end diff --git a/spec/workers/workbench_import_worker_spec.rb b/spec/workers/workbench_import_worker_spec.rb new file mode 100644 index 000000000..310693e1e --- /dev/null +++ b/spec/workers/workbench_import_worker_spec.rb @@ -0,0 +1,102 @@ +RSpec.describe WorkbenchImportWorker, type: [:worker, :request, :zip] do + +  def self.expect_upload_with *entry_names, &blk +    let(:expected_upload_names){ Set.new(entry_names.flatten) } + +    it "uploads the following entries: #{entry_names.flatten.inspect}" do +      allow( HTTPService ).to receive(:post_resource) +        .with(host: host, path: upload_path, params: anything) { |params| +        name =  params[:params][:netex_import][:name] +        raise RuntimeError, "unexpected upload of entry #{name}" unless expected_upload_names.delete?(name) +        OpenStruct.new(status: 201) +      } +      instance_eval(&blk) +      expect( expected_upload_names ).to be_empty, "the following expected uploads were not executed: #{expected_upload_names.to_a.inspect}" +    end +  end + +  let( :lines ){ %w{*:C00109 *:C00108}.to_json } +  let!( :organisation ){ workbench.organisation.update sso_attributes: {'functional_scope' => lines}} + +  let( :worker ) { described_class.new } +  let( :workbench_import ){ create :workbench_import, token_download: download_token } + +  let( :workbench ){ workbench_import.workbench } + +  # http://www.example.com/workbenches/:workbench_id/imports/:id/download +  let( :host ){ Rails.configuration.rails_host } +  let( :path ){ download_workbench_import_path(workbench, workbench_import) } +  let( :upload_path ){ api_v1_netex_imports_path(format: :json) } + +  let( :downloaded_zip_archive ){ make_zip_from_tree zip_data_dir } +  let( :downloaded_zip_data ){ downloaded_zip_archive.data } +  let( :download_token ){ random_string } + +  before do +    stub_request(:get, "#{ host }#{ path }?token=#{ workbench_import.token_download }").  +      to_return(body: downloaded_zip_data, status: :success) +  end + +  context 'correct workbench_import' do +    let( :zip_data_dir ){ fixtures_path 'two_referentials_ok' } + +    expect_upload_with %w{ OFFRE_TRANSDEV_20170301122517 OFFRE_TRANSDEV_20170301122519 } do +      expect{ worker.perform( workbench_import.id ) }.not_to change{ workbench_import.messages.count } +      expect( workbench_import.reload.attributes.values_at(*%w{current_step total_steps}) ) +        .to eq([2, 2]) +      expect( workbench_import.reload.status ).to eq('running') +    end + +  end + +  context 'correct but spurious directories' do +    let( :zip_data_dir ){ fixtures_path 'extra_file_nok' } + +    expect_upload_with [] do +      expect{ worker.perform( workbench_import.id ) }.to change{ workbench_import.messages.count }.by(1) +      expect( workbench_import.reload.attributes.values_at(*%w{current_step total_steps}) ) +        .to eq([0, 0]) +      expect( workbench_import.messages.last.message_key ).to eq('inconsistent_zip_file') +      expect( workbench_import.reload.status ).to eq('running') +    end +  end + +  context 'foreign lines' do  +    let( :zip_data_dir ){ fixtures_path 'some_foreign_mixed' } + +    expect_upload_with %w{ OFFRE_TRANSDEV_20170301122517 OFFRE_TRANSDEV_20170301122519 } do +      expect{ worker.perform( workbench_import.id ) }.to change{ workbench_import.messages.count }.by(1) +      expect( workbench_import.reload.attributes.values_at(*%w{current_step total_steps}) ) +        .to eq([2, 2]) +      expect( workbench_import.messages.last.message_key ).to eq('foreign_lines_in_referential') +      expect( workbench_import.reload.status ).to eq('running') +    end +     +  end + +  context 'foreign and spurious' do +    let( :zip_data_dir ){ fixtures_path 'foreign_and_spurious' } + +    expect_upload_with %w{ OFFRE_TRANSDEV_20170301122517 OFFRE_TRANSDEV_20170301122519 } do +      expect{ worker.perform( workbench_import.id ) }.to change{ workbench_import.messages.count }.by(2) +      expect( workbench_import.reload.attributes.values_at(*%w{current_step total_steps}) ) +        .to eq([2, 2]) +      expect( workbench_import.messages.last(2).map(&:message_key).sort ) +        .to eq(%w{foreign_lines_in_referential inconsistent_zip_file}) +      expect( workbench_import.reload.status ).to eq('running') +    end +  end + +  context 'corrupt zip file' do  +    let( :downloaded_zip_archive ){ OpenStruct.new(data: '') } + +    it 'will not upload anything' do +      expect(HTTPService).not_to receive(:post_resource) +      expect{ worker.perform( workbench_import.id ) }.to change{ workbench_import.messages.count }.by(1) +      expect( workbench_import.messages.last.message_key ).to eq('corrupt_zip_file') +      expect( workbench_import.reload.status ).to eq('failed') +    end +     +  end + +end | 
