Date: Fri, 29 Mar 2024 08:02:33 +0000 (UTC) Message-ID: <633624943.17.1711699353874@af7de71dbd28> Subject: Exported From Confluence MIME-Version: 1.0 Content-Type: multipart/related; boundary="----=_Part_16_1268141907.1711699353873" ------=_Part_16_1268141907.1711699353873 Content-Type: text/html; charset=UTF-8 Content-Transfer-Encoding: quoted-printable Content-Location: file:///C:/exported.html
This page contains documentation with clarifications of how Netex (the Nordic Profi= le) data is imported by Samtrafiken.
The data is delivered in a zip file that consists of the following requi= red files:
_shared_data.xml - A prefix is allowed in the file name= as long as it matches =E2=80=9C.*_shared _data.xml=E2=80=9D.
_stops.xml - A prefix is allowed in the file name as lo= ng as it matches =E2=80=9C.*_stops.xml=E2=80=9D.
line_{Line.Number}_{Line.Id}.xml - One file per line. F= iles must contain =E2=80=9Cline=E2=80=9D (case-insensitive) and end with = =E2=80=9C.xml=E2=80=9D, but otherwise they may be named anything.
The files are described below.
2024-02-12 - Added the two fields JourneyPart.
StartTimeDayOffset
and JourneyPart
.EndT=
imeDayOffset
with explanations.
Samtrafiken requires submitted NeTEx datasets to comply with the Norwegi= an NeTEx 1.0.11 standard.
If you are using Java, you can use the netex-java-model package offered = by Entur. This package helps validating your NeTEx files against the previo= usly mentioned XSD files, and is the same validation as we use when we rece= ive NeTEx files. h= ttps://github.com/entur/netex-java-model/releases/tag/netex-java-model-1.0.= 11
<depe= ndency> <groupId>org.entur</groupId> <artifactId>netex-java-model</artifactId> <version>1.0.11</version> </dependency>
In order to validate a file, you can take a look at this example code:= p>
NeTExVa= lidator netexValidator =3D new NeTExValidator(); Schema schema =3D netexValidator.getSchema(); Validator validator =3D schema.newValidator(); validator.setProperty(XMLConstants.ACCESS_EXTERNAL_DTD, ""); validator.setProperty(XMLConstants.ACCESS_EXTERNAL_SCHEMA, ""); validator.setErrorHandler(new XmlErrorHandler()); validator.validate(new StreamSource(netexFile));
If you want to validate the files in another way, you can use XSD files = directly. These files can be found here: https://github.com/NeTEx-CEN/NeTEx
In case the version requirements would change in a way that your Netex f= iles no longer validate against the new version, Samtrafiken will contact y= ou before the change happens.
The id attribute must follow the pattern: [codespace]:[type]:[id] or [co=
untrycode]:[codespace]:[type]:[id] . Examples: 253:Authority:90100050=
00000000
or SE:253:Authority:9010005000000000
.
Be consistent with your choice throughout all of the files.
All ids must be unique across all files in a single NeTEx delivery for a= given version.
The version must be a positive whole number (integer) or =E2=80=9Cany=E2= =80=9D.
The version number must be increased in such a way that the latest versi= on of the object always has the highest number.
We recommend using the pattern YYYYMMDDHHmmSS as version if your non-net= ex objects are already version controlled with "exists from"-dates.
The Xmlns value of the Codespace-element is provided by Samtrafiken.
=You must use the <Date>
or the <OperatingPer=
iodRef>
element in the DayTypeAssignment when specifying operatin=
g days.
We do not support the use of the OperatingDayRef
element.
Example:
<DayT= ypeAssignment order=3D"1" version=3D"any" id=3D"SE:253:DayTypeAssignment:1-= 20191125"> <!-- Choice OperatingDayRef is not allowed --> <Date>2019-11-25</Date> <DayTypeRef ref=3D"SE:253:DayType:1" version=3D"any"/> </DayTypeAssignment> <DayTypeAssignment order=3D"1" version=3D"any" id=3D"SE:253:DayTypeAssig= nment:2-20191101"> <!-- Choice OperatingDayRef is not allowed --> <OperatingPeriodRef ref=3D"SE:253:OperatingPeriod:Cal20192786-MoWeTh= Fr" version=3D"any"/> <DayTypeRef ref=3D"SE:253:DayType:1" version=3D"any"/> </DayTypeAssignment>
Note: An OperatingPeriod
is valid up to th=
e datetime specified in the ToDate
, but NOT including that tim=
e, see the example below:
<Ope= ratingPeriod version=3D"any" id=3D"SE:253:OperatingPeriod:221108221209"> <FromDate>2022-11-08T00:00:00</FromDate> <ToDate>2022-12-10T00:00:00</ToDate> <!-- N.B: The ToDate is actually the time when the OperatingPeriod sto= ps being valid. This means that the period is valid up to this time, but NOT includi= ng this time.=20 So the last possible trip would depart on 2022-12-09 23:59:59 --> </OperatingPeriod>
ServiceFacilities or TrainNumbers can be specified for parts of a journe= y using JourneyParts, and are defined by two StopPoints and their passing t= imes. See the XML file below for an example.
TimingPoints (where a vehicle does not stop, but is merely passing by at= a specified time) are ignored by Samtrafiken. If a JourneyPart begins or e= nds at a PointInJourneyPattern which is a reference to a TimingPoint, then = that JourneyPart will be ignored completely by Samtrafiken.
This element will be used as the announced journey code for the ServiceJ= ourney. This element is optional but if not present there must be either a = train number for trains or Line.PublicCode for other public transports avai= lable.
A few fields have strict requirements on what values that are allowed in= them. These requirements are necessary in order for Samtrafiken to be able= to use the delivered data.
The most important fields are listed here for clarity. The examples for = each file also have comments on fields that have special requirements.
To see requirements for ServiceFacilities, click here.
Element |
Requirement |
Used for |
Comment |
---|---|---|---|
StopPlace.Name |
Required Max 50 characters |
Used as StopArea.name/StopPoint.name in Samtrafiken's systems. |
|
StopPlace.PrivateCode |
Must be either
|
Used as StopArea.Number in Samtrafiken's systems. |
If PrivateCode is not supplied, then the last part of the StopPlace.id=
will be tried instead. For example if the StopPlace.PrivateCode is empty a=
nd the StopPlace.id is: The requirement (between 1-999998) remains the same. When delivering stops using riksh=C3=A5llplatsnumbers, all numbers shoul= d already exist as a riksh=C3=A5llplats. |
Line.PrivateCode |
Must be a number between 1 and 9998 |
Used as Line.Number in Samtrafiken's systems. |
This should be unique in combination with the lines |
ServiceJourney.trainNumbers |
Required if the ServiceJourney.TransportMode is of type rail. Max 5 characters |
Used as DatedVehicleJourney.AnnouncedTrainNumber in Samtrafiken's system= s. |
The train number must be specified if the ServiceJourney.TransportMode i= s of type rail. |
Element |
Requirement |
Used for |
Comment |
---|---|---|---|
Quay.Name |
Optional Max 50 characters |
Used as StopPoint.name in Samtrafikens systems |
|
StopPlace.ShortName Quay.ShortName |
Optional Max 16 characters |
Used as StopArea.ShortName/StopPoint.ShortName in Samtrafikens systems= p> |
|
StopPlace.AlternativeName.Abbreviation |
Optional Max 8 characters |
||
Quay.PublicCode |
Optional Max 4 characters |
Public facing stop point designation. When not present, the local number= (auto-increment per StopPlace) is used instead. |
Automatically shortened to 4 characters if too long. For train operators: If the quay is not known (yet), us=
e |
DestinationDisplay.PublicCode |
Optional Max 8 characters |
Usually the same as Line.PublicCode |
|
DestinationDisplay.FrontText |
Optional Max 50 characters |
||
ServiceJourney.PublicCode |
Optional Max 5 characters |
Public facing journey code. When not present, the first announced train = number (for trains) or Line.PublicCode is used. |
Import will fail if ServiceJourney.PublicCode is present but empty = td> |
This is an example of the _shared_data.xml file with instructio= ns on how the different fields and elements are expected to be used.
<?xml= version=3D"1.0" encoding=3D"UTF-8" standalone=3D"yes"?> <PublicationDelivery xmlns=3D"http://www.netex.org.uk/netex" xmlns:ns2= =3D"http://www.opengis.net/gml/3.2"> <PublicationTimestamp>2019-11-27T12:50:21</PublicationTimestam= p> <!-- Required Timestamp of export. --> <ParticipantRef>SAM</ParticipantRef> <!-- Required Codes= pace for data submitter, participant identifier. We currently don't use thi= s value for anything, so it's not important for our import. --> <dataObjects> <CompositeFrame created=3D"2019-11-27T12:50:21" version=3D"20191= 127125021" id=3D"SE:253:CompositeFrame:1"> <ValidBetween> <FromDate>2002-01-01T00:00:00</FromDate> <!-- ToDate is omitted since if there are elements withi= n the frame that have indefinite validity, the frame must also have that. -= -> </ValidBetween> <codespaces> <Codespace id=3D"253"> <!-- id is the same as Xmln= s below --> <Xmlns>253</Xmlns> <!-- From Samtrafiken= 's registry of producer numbers, provided by Samtrafiken --> <XmlnsUrl>http://www.samtrafiken.se/ns/=C3=96stg= =C3=B6tatrafiken</XmlnsUrl> <!-- "=C3=96stg=C3=B6tatrafiken" is ba= sed on data source and ensures that the url is unique, but is otherwise ign= ored during import --> </Codespace> </codespaces> <!-- Recommended defaults used to define common values. --&g= t; <FrameDefaults> <DefaultLocale> <TimeZone>Europe/Stockholm</TimeZone> <DefaultLanguage>se</DefaultLanguage> </DefaultLocale> <DefaultLocationSystem>4326</DefaultLocationSystem= > <!-- All coordinates are EPSG:4326 WGS84 --> </FrameDefaults> <frames> <ResourceFrame version=3D"20191127125021" id=3D"SE:253:R= esourceFrame:1"> <organisations> <Authority version=3D"20131206" id=3D"SE:253:Aut= hority:9010005000000000"> <CompanyNumber>5560388950</CompanyNumb= er> <!-- Required --> <Name>=C3=96stg=C3=B6tatrafiken</Name&= gt; <!-- Required --> <LegalName>=C3=96stg=C3=B6tatrafiken</= LegalName> <!-- Required --> <OrganisationType>authority</Organisat= ionType> <!-- Always "authority" --> </Authority> <!-- More Authority elements --> <Operator version=3D"20131211" id=3D"SE:253:Oper= ator:9013005918200000"> <Name>eBuss Motala</Name> <!-- R= equired --> <LegalName>eBuss i Sverige AB</LegalNa= me> <!-- Required --> <OrganisationType>operator</Organisati= onType> <!-- Always "operator" --> </Operator> <!-- More Operator elements --> </organisations> </ResourceFrame> <ServiceFrame version=3D"20191127125021" id=3D"SE:253:Se= rviceFrame:1"> <!-- Network elements are refered to from Line eleme= nts (in the line-files) and provide common information of the Lines, like = their Authority. --> <Network version=3D"20131206" id=3D"SE:253:Network:9= 010005000000000"> <Name>=C3=96stg=C3=B6tatrafiken</Name> = <!-- Required --> <AuthorityRef ref=3D"SE:253:Authority:9010005000= 000000" version=3D"20131206"/> </Network> <additionalNetworks> <!-- More Network elements --> </additionalNetworks> <routePoints> <!-- A point that is a stop place in a route. --= > <RoutePoint version=3D"20190426" id=3D"SE:253:Ro= utePoint:9022005000001001"> <projections> <PointProjection version=3D"20190426" id= =3D"SE:253:PointProjection:9022005000001001"> <ProjectedPointRef ref=3D"SE:253:Sch= eduledStopPoint:9022005000001001" version=3D"20190426"/> </PointProjection> </projections> </RoutePoint> <RoutePoint version=3D"20190426" id=3D"SE:253:Ro= utePoint:9022005000050016"> <projections> <PointProjection version=3D"20190426" id= =3D"SE:253:PointProjection:9022005000001002"> <ProjectedPointRef ref=3D"SE:253:Sch= eduledStopPoint:9022005000001001" version=3D"20190426"/> </PointProjection> </projections> </RoutePoint> <!-- More RoutePoint elements --> </routePoints> <destinationDisplays> <!-- The displayed destination for a vehicle, co= mmonly above the front window or onboard information screens, describing th= e vehicles final (or intermediary) destination. --> <!-- --> <DestinationDisplay version=3D"any" id=3D"SE:253= :DestinationDisplay:via_55700000037211691"> <FrontText>V=C3=A4sterl=C3=B6sa</Front= Text> <!-- Required, max 50 characters --> <PublicCode>573</PublicCode> <!-= - Optional Line Designation/number, max 8 characters --> <!-- SideText is ignored --> </DestinationDisplay> <DestinationDisplay version=3D"any" id=3D"SE:253= :DestinationDisplay:55700000037211691"> <FrontText>Malmsl=C3=A4tt</FrontText&g= t; <PublicCode>573</PublicCode> <vias> <!-- max 1 via --> <Via> <DestinationDisplayRef ref=3D"SE:253= :DestinationDisplay:via_55700000037211691" version=3D"any"/> </Via> </vias> </DestinationDisplay> <!-- More DestinationDisplay elements --> </destinationDisplays> <scheduledStopPoints> <!-- Point for planned disembarking and/or board= ing. All ScheduledStopPoint must be mapped to a corresp= onding Quay, through PassengerStopAssignment further down the file. --> <ScheduledStopPoint version=3D"20190426" id=3D"S= E:253:ScheduledStopPoint:9022005000001001"> <Name>Norr Tull</Name> <!-- Name= is ignored, but useful for human readability --> </ScheduledStopPoint> <ScheduledStopPoint version=3D"20190426" id=3D"S= E:253:ScheduledStopPoint:9022005001364002"> <Name>S=C3=B6der Tull</Name> </ScheduledStopPoint> <ScheduledStopPoint version=3D"20190426" id=3D"S= E:253:ScheduledStopPoint:9022005000057002"> <Name>=C3=96ster Tull</Name> </ScheduledStopPoint> <!-- More ScheduledStopPoint elements --> </scheduledStopPoints> <serviceLinks> <!-- Optional, omit if empty --= > <!-- A ServiceLink describes the actual path a v= ehicle travels between two stop points. In GTFS this is called Shapes. --&g= t; <ServiceLink version=3D"20190213" id=3D"SE:253:S= erviceLink:BUS_9025005000136402_9025005000005702"> <ValidBetween> <FromDate>2019-02-13T00:00:00</Fro= mDate> </ValidBetween> <Distance>338</Distance> <!-- Op= tional distance in meters (decimals are ignored) defaults to 0 --> <projections> <LinkSequenceProjection version=3D"20190= 213" id=3D"SE:253:LinkSequenceProjection:BUS_9025005000136402_9025005000005= 702"> <!-- Geometric representation of Lin= k. The LineString is a sequential list of coordinate pairs. --> <ns2:LineString srsName=3D"4326" ns2= :id=3D"LS_BUS_9025005000136402_9025005000005702"> <!-- Coordinate pairs --> <ns2:posList count=3D"30" srsDim= ension=3D"2">58.666991 16.180848 58.666982 16.180848 58.66691 16.180899 = 58.666703 16.181034 58.666325 16.181358 58.666109 16.181545 58.665821 16.18= 18 58.665749 16.181834 58.665651 16.181833 58.665624 16.181833 58.665328 16= .181743 58.664978 16.18155 58.664593 16.181253 58.664494 16.181166 58.66415= 4 16.180869</ns2:posList> </ns2:LineString> </LinkSequenceProjection> </projections> <FromPointRef ref=3D"SE:253:ScheduledStopPoi= nt:9022005001364002" version=3D"20190426"/> <!-- Required --> <ToPointRef ref=3D"SE:253:ScheduledStopPoint= :9022005000057002" version=3D"20190426"/> <!-- Required --> <!-- VehicleMode is ignored during import, i= t is extracted from ServiceJourneys that travel this ServceLink instead --&= gt; </ServiceLink> <!-- More ServiceLink elements --> </serviceLinks> <stopAssignments> <!-- Mapping between ScheduledStopPoint and Quay= --> <PassengerStopAssignment order=3D"1" version=3D"= 20190426" id=3D"SE:253:PassengerStopAssignment:9022005000001001"> <ScheduledStopPointRef ref=3D"SE:253:Schedul= edStopPoint:9022005000001001" version=3D"20190426"/> <QuayRef ref=3D"SE:253:Quay:9022005000001001= "/> </PassengerStopAssignment> <PassengerStopAssignment order=3D"2" version=3D"= 20190426" id=3D"SE:253:PassengerStopAssignment:9022005000001002"> <ScheduledStopPointRef ref=3D"SE:253:Schedul= edStopPoint:9022005001364002" version=3D"20190426"/> <QuayRef ref=3D"SE:253:Quay:9022005000100216= "/> </PassengerStopAssignment> <PassengerStopAssignment order=3D"3" version=3D"= 20190426" id=3D"SE:253:PassengerStopAssignment:9022005000001003"> <ScheduledStopPointRef ref=3D"SE:253:Schedul= edStopPoint:9022005000057002" version=3D"20190426"/> <QuayRef ref=3D"SE:253:Quay:9022005000102017= "/> </PassengerStopAssignment> <!-- More PassengerStopAssignment elements -->= ; </stopAssignments> <notices> <!-- Text-based notes describing circumstances w= hich cannot be modelled as structured data. These are mapped to ServiceJourneys in the line-fil= es through NoticeAssignment. (Note: the example text below should actually be pr= ovided as a BookingArrangement (WIP for us))--> <Notice version=3D"any" id=3D"SE:253:Notice:5570= 0000050931583"> <Text>Turen m=C3=A5ste f=C3=B6rbest=C3=A4= llas p=C3=A5 0771 - 71 10 20 senast 2 timmar f=C3=B6re avresa fr=C3=A5n tur= ens starth=C3=A5llplats.</Text> <!-- Required--> </Notice> <!-- More Notice elements --> </notices> </ServiceFrame> <ServiceCalendarFrame version=3D"20191127125021" id=3D"S= E:253:ServiceCalendarFrame:1"> <!-- Each unique combination of operating days will = create one DayType. --> <!-- The DayType contains each operating date or an = OperatingPeriodRef as a DayTypeAssignment. --> <dayTypes> <DayType version=3D"any" id=3D"SE:253:DayType:1"= /> <DayType version=3D"any" id=3D"SE:253:DayType:2"= /> <DayType version=3D"any" id=3D"SE:253:DayType:3"= /> <DayType version=3D"any" id=3D"SE:253:DayType:4"= /> <DayType version=3D"any" id=3D"SE:253:DayType:5"= /> <DayType version=3D"any" id=3D"SE:253:DayType:6"= /> <DayType version=3D"any" id=3D"SE:253:DayType:7"= /> <DayType version=3D"any" id=3D"SE:253:DayType:8"= /> <DayType version=3D"any" id=3D"SE:253:DayType:9"= /> <DayType version=3D"any" id=3D"SE:253:DayType:10= "/> <DayType version=3D"any" id=3D"SE:253:DayType:11= "/> <DayType version=3D"any" id=3D"SE:253:DayType:12= "/> <DayType version=3D"any" id=3D"SE:253:DayType:13= "/> </dayTypes> <dayTypeAssignments> <!-- Each DayTypeAssignments maps one operating = Date to a DayType --> <DayTypeAssignment order=3D"1" version=3D"any" i= d=3D"SE:253:DayTypeAssignment:1-20191125"> <Date>2019-11-25</Date> <DayTypeRef ref=3D"SE:253:DayType:1" version= =3D"any"/> </DayTypeAssignment> <DayTypeAssignment order=3D"2" version=3D"any" i= d=3D"SE:253:DayTypeAssignment:1-20191126"> <Date>2019-11-26</Date> <DayTypeRef ref=3D"SE:253:DayType:1" version= =3D"any"/> </DayTypeAssignment> <DayTypeAssignment order=3D"3" version=3D"any" i= d=3D"SE:253:DayTypeAssignment:1-20191127"> <Date>2019-11-27</Date> <DayTypeRef ref=3D"SE:253:DayType:1" version= =3D"any"/> </DayTypeAssignment> <!-- More DayTypeAssignment elements --> </dayTypeAssignments> </ServiceCalendarFrame> </frames> </CompositeFrame> </dataObjects> </PublicationDelivery>
This is an example of the _stops.xml file with instructions on = how the different fields and elements are expected to be used.
<?xml= version=3D"1.0" encoding=3D"UTF-8" standalone=3D"yes"?> <PublicationDelivery xmlns=3D"http://www.netex.org.uk/netex"> <PublicationTimestamp>2019-11-27T12:50:21</PublicationTimestam= p> <!-- Required Timestamp of export. --> <ParticipantRef>SAM</ParticipantRef> <!-- Required Code= space for data submitter, participant identifier. We currently don't use th= is value for anything, so it's not important for our import. --> <dataObjects> <SiteFrame version=3D"20191127125021" id=3D"SE:253:SiteFrame:1"&= gt; <ValidBetween> <FromDate>2005-01-01T00:00:00</FromDate> <!-- ToDate is omitted since if there are elements withi= n the frame that have indefinite validity, the frame must also have that. -= -> </ValidBetween> <codespaces> <Codespace id=3D"253"> <!-- id is the same as Xmln= s below --> <Xmlns>253</Xmlns> <!-- From Samtrafiken= 's registry of producer numbers, provided by Samtrafiken --> <XmlnsUrl>http://www.samtrafiken.se/ns/=C3=96stg= =C3=B6tatrafiken</XmlnsUrl> <!-- "=C3=96stg=C3=B6tatrafiken" is ba= sed on data source and ensures that the url is unique, but is otherwise ign= ored during import --> </Codespace> </codespaces> <FrameDefaults> <DefaultLocale> <TimeZone>Europe/Stockholm</TimeZone> <DefaultLanguage>se</DefaultLanguage> </DefaultLocale> <DefaultLocationSystem>4326</DefaultLocationSystem= > <!-- All coordinates are EPSG:4326 WGS84 --> </FrameDefaults> <stopPlaces> <StopPlace version=3D"20161213" id=3D"SE:253:StopPlace:9= 021005000001000"> <ValidBetween> <FromDate>2016-12-13T00:00:00</FromDate>= ; </ValidBetween> <Name>Norr Tull</Name> <!-- Required, ma= x 50 characters --> <ShortName>Norr Tull</ShortName> <!-- Op= tional, max 16 characters --> <PrivateCode>1</PrivateCode> <!-- Requir= ed. Internal/technical and unique number, not meant to be shown to passenge= rs. Kind of like an Id for the StopPlace. --> <Centroid> <Location> <Longitude>16.176723</Longitude> <Latitude>58.594850</Latitude> <!-- Altitude is ignored --> <!-- Precision is ignored --> </Location> </Centroid> <TransportMode>bus</TransportMode> <!-- = TransportMode is ignored during import --> <StopPlaceType>busStation</StopPlaceType> &= lt;!-- Required --> <quays> <!-- A part of StopPlace where passengers can bo= ard or disembark a vehicle. For example tactile paving position at a bus stop, = the midpoint of a railway platform, a gate at an airport. --> <!-- Quays do not have their own names. This inf= ormation is inherited from the parent StopPlace. --> <Quay version=3D"20180419" id=3D"SE:253:Quay:902= 2005000001001"> <ValidBetween> <FromDate>2019-04-26T00:00:00</Fro= mDate> </ValidBetween> <Name>Norr Tull</Name> <!-- Opti= onal, max 50 characters --> <ShortName>Norr Tull</ShortName> &l= t;!-- Optional, max 16 characters --> <Centroid> <Location> <Longitude>16.177052</Longitud= e> <Latitude>58.595038</Latitude&= gt; </Location> </Centroid> <PublicCode>1</PublicCode> <!-- = Optional designation meant to be shown for passengers. Max 4 characters lon= g. --> </Quay> <Quay version=3D"20140218" id=3D"SE:253:Quay:902= 2005000100216"> <ValidBetween> <FromDate>2019-04-26T00:00:00</Fro= mDate> </ValidBetween> <Name>Norr Tull</Name> <ShortName>Norr Tull</ShortName> <Location> <Longitude>16.176760</Longitude>= ; <Latitude>58.595074</Latitude> </Location> <PublicCode>2</PublicCode> </Quay> <!-- More Quay elements --> </quays> </StopPlace> <!-- More StopPlace elements --> </stopPlaces> <navigationPaths> <!-- Optional, omit if empty --> <!-- A detailed description of the path between two plac= es, in our import and export we only handle Quay-to-Quay NavigationPaths. -= -> <NavigationPath version=3D"20180504" id=3D"SE:253:Naviga= tionPath:55700000046273098"> <Distance>0</Distance> <!-- Optional. To= tal length (in meters). --> <From> <PlaceRef ref=3D"SE:253:Quay:9022005000100216" v= ersion=3D"20140218"/> <!-- Required --> </From> <To> <PlaceRef ref=3D"SE:253:Quay:9022005000102017" v= ersion=3D"20181204"/> <!-- Required --> </To> <TransferDuration> <DefaultDuration>PT6M</DefaultDuration>= <!-- Required. Specifies the duration of the transfer. --> </TransferDuration> <!-- NavigationType is ignored --> <!-- AccessibilityAssessment is ignored --> </NavigationPath> <!-- More NavigationPath elements --> </navigationPaths> </SiteFrame> </dataObjects> </PublicationDelivery>
This is an example of a line file with instructions on how the = different fields and elements are expected to be used.
<?xml= version=3D"1.0" encoding=3D"UTF-8" standalone=3D"yes"?> <PublicationDelivery xmlns=3D"http://www.netex.org.uk/netex"> <PublicationTimestamp>2019-11-27T12:50:21</PublicationTimestam= p> <!-- Timestamp of export --> <ParticipantRef>SAM</ParticipantRef> <!-- Required Codes= pace for data submitter, participant identifier. We currently don't use thi= s value for anything, so it's not important for our import. --> <dataObjects> <CompositeFrame created=3D"2019-11-27T12:50:21" version=3D"20191= 127125021" id=3D"SE:253:CompositeFrame:9011005005300000"> <ValidBetween> <FromDate>2005-01-01T00:00:00</FromDate> <!-- ToDate is omitted since if there are elements withi= n the frame that have indefinite validity, the frame must also have that. -= -> </ValidBetween> <codespaces> <Codespace id=3D"253"> <!-- id is the same as Xmln= s below --> <Xmlns>253</Xmlns> <!-- From Samtrafiken= 's registry of producer numbers, provided by Samtrafiken --> <XmlnsUrl>http://www.samtrafiken.se/ns/=C3=96stg= =C3=B6tatrafiken</XmlnsUrl> <!-- "=C3=96stg=C3=B6tatrafiken" is ba= sed on data source and ensures that the url is unique, but is otherwise ign= ored during import --> </Codespace> </codespaces> <FrameDefaults> <DefaultLocale> <TimeZone>Europe/Stockholm</TimeZone> <DefaultLanguage>se</DefaultLanguage> </DefaultLocale> <DefaultLocationSystem>4326</DefaultLocationSystem= > </FrameDefaults> <frames> <ServiceFrame version=3D"20191127125021" id=3D"SE:253:Se= rviceFrame:9011005005300000"> <routes> <!-- Description of a route, specified as a sort= ed list of RoutePoints. --> <Route version=3D"any" id=3D"SE:253:Route:557000= 00035050824"> <Name>Motala</Name> <!-- Require= d --> <LineRef ref=3D"SE:253:Line:9011005005300000= " version=3D"20131215"/> <!-- Required --> <DirectionType>outbound</DirectionType= > <!-- inbound/outbound --> </Route> <!-- More Route elements --> </routes> <lines> <Line version=3D"20131215" id=3D"SE:253:Line:901= 1005005300000"> <Name>53</Name> <!-- Required --= > <TransportMode>rail</TransportMode>= <!-- Required --> <!-- TransportSubmode is currently ignored--= > <PublicCode>53</PublicCode> <!--= Optional. The publicly advertised line number --> <PrivateCode>53</PrivateCode> <!= -- Required. Internal (non-public) identifier for the line. Together with T= ransportOrganisation, this value should be unique in the entire dataset. Th= is needs to fit in a numeric(4), can't be a String. --> <RepresentedByGroupRef ref=3D"SE:253:Network= :9010005000000000"/> <!-- Required Reference to the Line's Network, d= efined in the _shared_data.xml-file --> </Line> </lines> <journeyPatterns> <JourneyPattern version=3D"any" id=3D"SE:253:Jou= rneyPattern:55700000035050824"> <RouteRef ref=3D"SE:253:Route:55700000035050= 824" version=3D"any"/> <!-- Required --> <pointsInSequence> <!-- Only StopPointInJourneyPattern is a= llowed --> <StopPointInJourneyPattern order=3D"1" v= ersion=3D"any" id=3D"SE:253:StopPointInJourneyPattern:55700000035050829">= ; <ScheduledStopPointRef ref=3D"SE:253= :ScheduledStopPoint:9022005000001001"/> <!-- Required --> <ForAlighting>false</ForAlight= ing> <!-- default true --> <ForBoarding>true</ForBoarding= > <!-- default true --> <DestinationDisplayRef ref=3D"SE:253= :DestinationDisplay:55700000037211691"/> <!-- Should be present on at= least the first StopPointInJourneyPattern --> <RequestStop>true</RequestStop= > <!-- default false --> </StopPointInJourneyPattern> <StopPointInJourneyPattern order=3D"2" v= ersion=3D"any" id=3D"SE:253:StopPointInJourneyPattern:55700000035050830">= ; <ScheduledStopPointRef ref=3D"SE:253= :ScheduledStopPoint:9022005001364002"/> <ForAlighting>true</ForAlighti= ng> <ForBoarding>true</ForBoarding= > <RequestStop>true</RequestStop= > </StopPointInJourneyPattern> <StopPointInJourneyPattern order=3D"3" v= ersion=3D"any" id=3D"SE:253:StopPointInJourneyPattern:55700000035050831">= ; <ScheduledStopPointRef ref=3D"SE:253= :ScheduledStopPoint:9022005000057002"/> <ForAlighting>true</ForAlighti= ng> <ForBoarding>true</ForBoarding= > </StopPointInJourneyPattern> <StopPointInJourneyPattern order=3D"4" v= ersion=3D"any" id=3D"SE:253:StopPointInJourneyPattern:55700000035050832">= ; <ScheduledStopPointRef ref=3D"SE:253= :ScheduledStopPoint:9022005000057003"/> <!-- (Reference is missing fr= om this example page) --> <ForAlighting>true</ForAlighti= ng> <ForBoarding>true</ForBoarding= > </StopPointInJourneyPattern> <StopPointInJourneyPattern order=3D"5" v= ersion=3D"any" id=3D"SE:253:StopPointInJourneyPattern:55700000035050833">= ; <ScheduledStopPointRef ref=3D"SE:253= :ScheduledStopPoint:9022005000057004"/> <!-- (Reference is missing fr= om this example page) --> <ForAlighting>true</ForAlighti= ng> <ForBoarding>false</ForBoardin= g> </StopPointInJourneyPattern> <!-- Timing points are not supported (ig= nored) by Samtrafiken, but may be present in the file using this syntax --&= gt; <TimingPointInJourneyPattern order=3D"4"= version=3D"0" id=3D"SE:253:TimingPointInJourneyPattern:1234">=20 <TimingPointRef ref=3D"SE:253:Timing= Point:1234" /> </TimingPointInJourneyPattern> <!-- More StopPointInJourneyPattern elem= ents --> </pointsInSequence> <linksInSequence> <!-- Optional, omit= if empty --> <!-- References to relevant ServiceLinks= that has been defined in the _shared_data.xml-file --> <ServiceLinkInJourneyPattern order=3D"1"= version=3D"any" id=3D"SE:253:ServiceLinkInJourneyPattern:BUS_391"> <ServiceLinkRef ref=3D"SE:253:Servic= eLink:BUS_9025005000136402_9025005000005702"/> </ServiceLinkInJourneyPattern> <!-- More ServiceLinkInJourneyPattern el= ements --> </linksInSequence> <!-- PrivateCode is ignored --> <!-- runTimes is ignored --> <!-- waitTimes is ignored --> <!-- headways is ignored --> </JourneyPattern> </journeyPatterns> </ServiceFrame> <TimetableFrame version=3D"20191127125021" id=3D"SE:253:= TimetableFrame:9011005005300000"> <!-- A planned journey from starting point to a dest= ination, according to a JourneyPattern. --> <vehicleJourneys> <!-- Only ServiceJourney and DeadRun are allowed= , but DeadRun is ignored --> <!-- Multiple versions are not supported on Serv= iceJourney, and should always be "any" --> <ServiceJourney version=3D"any" id=3D"SE:253:Ser= viceJourney:55700000049527547"> <PrivateCode>123<PrivateCode> <!= -- Optional, numeric(6). Represents an internal journey number that is not = supposed to be shown to passengers. --> <TransportMode>rail</TransportMode>= <!-- Required --> <!-- TransportSubmode is currently ignored -= -> <dayTypes> <!-- Required --> <DayTypeRef ref=3D"SE:253:DayType:1"/>= ; <!-- at least 1 --> </dayTypes> <JourneyPatternRef ref=3D"SE:253:JourneyPatt= ern:55700000035050824" version=3D"any"/> <!-- Required --> <PublicCode>1234X</PublicCode><!= -- Optional, max 5 characters. Represents the trip number that is to be sho= wn to the public. --> <OperatorRef ref=3D"SE:253:Operator:90130059= 18200000"/> <trainNumbers> <!-- TrainNumbers exist= s only for ServiceJourneys that are trains. --> <!-- Normally there will only be one Tra= inNumberRef here. For Trains that change their announced train number durin= g their journey (also called vagnskurs/kursvagnar) there will be multiple T= rainNumberRefs (as restricted by JourneyPart-elements). --> <TrainNumberRef ref=3D"SE:253:TrainNumbe= r:9011074007000000_74" versionRef=3D"any"/> <TrainNumberRef ref=3D"SE:253:TrainNumbe= r:9011074007000000_70" versionRef=3D"any"/> </trainNumbers> <passingTimes> <!-- Required --> <TimetabledPassingTime version=3D"any" i= d=3D"SE:253:TimetabledPassingTime:55700000049527529"> <!-- Required -= -> <StopPointInJourneyPatternRef ref=3D= "SE:253:StopPointInJourneyPattern:55700000035050829" version=3D"any"/> <!-- Optional DepartureDayOffset, de= fault value =3D 0 --> <!-- Optional ArrivalDayOffset, defa= ult value =3D 0 --> <DepartureTime>06:40:00</Depar= tureTime> <!-- WaitingTime is ignored --> </TimetabledPassingTime> <TimetabledPassingTime version=3D"any" i= d=3D"SE:253:TimetabledPassingTime:55700000049527530"> <StopPointInJourneyPatternRef ref=3D= "SE:253:StopPointInJourneyPattern:55700000035050830" version=3D"any"/> <ArrivalTime>06:41:28</Arrival= Time> <DepartureTime>06:41:28</Depar= tureTime> </TimetabledPassingTime> <TimetabledPassingTime version=3D"any" i= d=3D"SE:253:TimetabledPassingTime:55700000049527544"> <StopPointInJourneyPatternRef ref=3D= "SE:253:StopPointInJourneyPattern:55700000035050831" version=3D"any"/> <ArrivalTime>07:50:00</Arrival= Time> <DepartureTime>07:51:00</Depar= tureTime> </TimetabledPassingTime> <!-- More TimetabledPassingTime elements= --> <TimetabledPassingTime version=3D"any" i= d=3D"SE:253:TimetabledPassingTime:55700000049527545"> <StopPointInJourneyPatternRef ref=3D= "SE:253:StopPointInJourneyPattern:55700000035050832" version=3D"any"/> <ArrivalTime>01:00:00</Arrival= Time> <ArrivalDayOffset>1</ArrivalDa= yOffset> <DepartureTime>01:05:00</Depar= tureTime> <DepartureDayOffset>1</Departu= reDayOffset> </TimetabledPassingTime> <TimetabledPassingTime version=3D"any" i= d=3D"SE:253:TimetabledPassingTime:55700000049527546"> <StopPointInJourneyPatternRef ref=3D= "SE:253:StopPointInJourneyPattern:55700000035050833" version=3D"any"/> <ArrivalTime>03:10:00</Arrival= Time> <ArrivalDayOffset>1</ArrivalDa= yOffset> </TimetabledPassingTime> </passingTimes> <parts> <!-- JourneyParts with TrainNumberRefs m= ust only exist for ServiceJourneys that are trains. --> <!-- JourneyParts with TrainNumberRefs m= ust only exist for trains that change their announced train number during t= heir journey (also called vagnskurs/kursvagnar). --> <JourneyPart version=3D"any" id=3D"SE:25= 3:JourneyPart:323200000000003266_tn_0"> <!-- MainPartRef is a self-reference= that only exists to pass Netex-validation --> <MainPartRef ref=3D"SE:253:JourneyPa= rt:323200000000003266_tn_0" version=3D"any"/> <TrainNumberRef ref=3D"SE:253:TrainN= umber:9011074007000000_70" versionRef=3D"any"/> <FromStopPointRef ref=3D"SE:253:Sche= duledStopPoint:9022005000001001"/> <!-- required. If this points to a= TimingPoint, the JourneyPart will be ignored --> <ToStopPointRef ref=3D"SE:253:Schedu= ledStopPoint:9022005000057003"/> <!-- required. If this points to a T= imingPoint, the JourneyPart will be ignored --> <StartTime>06:40:00</StartTime= ><!-- required. Must match the departure time when this ServiceJourne= y has a call at FromStopPointRef. --> <EndTime>01:00:00</EndTime>= <!-- required. Must match the arrival time when this ServiceJourney has= a call at ToStopPointRef. --> <EndTimeDayOffset>1</EndTimeDa= yOffset> <!-- required. If null (or 0) this field is expected to not = be set. --> </JourneyPart> <JourneyPart version=3D"any" id=3D"SE:25= 3:JourneyPart:323200000000003266_tn_1"> <MainPartRef ref=3D"SE:253:JourneyPa= rt:323200000000003266_tn_1" version=3D"any"/> <TrainNumberRef ref=3D"SE:253:TrainN= umber:9011074007000000_74" versionRef=3D"any"/> <FromStopPointRef ref=3D"SE:253:Sche= duledStopPoint:9022005000057003"/> <!-- required. If this points to a= TimingPoint, the JourneyPart will be ignored --> <ToStopPointRef ref=3D"SE:253:Schedu= ledStopPoint:9022005000057004"/> <!-- required. If this points to a T= imingPoint, the JourneyPart will be ignored --> <StartTime>01:05:00</StartTime= > <!-- required. Must match the departure time when this ServiceJourn= ey has a call at FromStopPointRef. --> <StartTimeDayOffset>1</StartTi= meDayOffset> <!-- required. If null (or 0) this field is expected to = not be set. --> <EndTime>03:10:00</EndTime>= <!-- required. Must match the arrival time when this ServiceJourney has= a call at ToStopPointRef. --> <EndTimeDayOffset>1</EndTimeDa= yOffset> <!-- required. If null (or 0) this field is expected to not = be set. --> </JourneyPart> </parts> </ServiceJourney> <!-- More ServiceJourneys --> </vehicleJourneys> <trainNumbers> <TrainNumber version=3D"any" id=3D"SE:253:TrainN= umber:9011074007000000_70"> <!-- ForAdvertisement contains the announced= train number which should be displayed for passengers. --> <ForAdvertisement>70</ForAdvertisement= > </TrainNumber> <TrainNumber version=3D"any" id=3D"SE:253:TrainN= umber:9011074007000000_74"> <ForAdvertisement>74</ForAdvertisement= > </TrainNumber> </trainNumbers> <!-- Mappings between Notices defined in the _shared= _data.xml-file and ServiceJourneys --> <noticeAssignments> <NoticeAssignment order=3D"1" version=3D"1" id= =3D"SE:NoticeAssignment:55700000050931583"> <NoticeRef ref=3D"SE:253:Notice:557000000509= 31583"/> <NoticedObjectRef ref=3D"SE:253:ServiceJourn= ey:55700000049527547" /> <!-- Only refs to ServiceJourney are allowed= --> </NoticeAssignment> </noticeAssignments> <journeyInterchanges> <!-- other than ServiceJourneyInterchange is ign= ored --> <ServiceJourneyInterchange version=3D"any" id=3D= "SE:253:ServiceJourneyInterchange:55700000051347301_1"> <Priority>0</Priority> <!--0 =3D= Interchange allowed, -1 =3D Interchange not allowed --> <!-- Guaranteed and Advertised are ignored--= > <FromPointRef ref=3D"SE:253:ScheduledStopPoi= nt:9022005000001001"/> <ToPointRef ref=3D"SE:253:ScheduledStopPoint= :9022005001364002" version=3D"20190426"/> <FromJourneyRef ref=3D"SE:253:ServiceJourney= :55700000049527547"/> <ToJourneyRef ref=3D"SE:253:ServiceJourney:5= 5700000049527548" version=3D"any"/> </ServiceJourneyInterchange> </journeyInterchanges> </TimetableFrame> </frames> </CompositeFrame> </dataObjects> </PublicationDelivery>