The NeTEx Structure
In this chapter:
PublicationDelivery
Purpose
Any valid XML document must start with one root element.
PublicationDelivery is the root element of NeTEx XML.
In addition to linking to the NeTEx XML schema, this element is used to specify the publication timestamp and the participant’s identifier.
Table
| Sub | Element | Usage | Card | Type | Description | Note |
|---|---|---|---|---|---|---|
| PublicationDelivery | mandatory | 1..1 | unknown | |||
| + | PublicationTimestamp | mandatory | 1..1 | unknown | ||
| + | ParticipantRef | mandatory | 1..1 | unknown | ||
| + | dataObjects | mandatory | 1..1 | unknown | ||
| ++ | CompositeFrame | mandatory | 1..1 | unknown |
Example
<?xml version="1.0" encoding="UTF-8"?>
<PublicationDelivery xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" version="1.0" xsi:schemaLocation="http://www.netex.org.uk/netex ../xsd/xsd/NeTEx_publication.xsd">
<PublicationTimestamp>2026-03-30T12:00:00</PublicationTimestamp>
<ParticipantRef>SKI-Templates</ParticipantRef>
<dataObjects>
<CompositeFrame id="ch:1:CompositeFrame" version="1">
<FrameDefaults/>
<frames>
<ResourceFrame id="ch:1:ResourceFrame" version="1"/>
<SiteFrame id="ch:1:SiteFrame" version="1"/>
<ServiceFrame id="ch:1:ServiceFrame" version="1"/>
<ServiceCalendarFrame id="ch:1:ServiceCalendarFrame" version="1"/>
<TimetableFrame id="ch:1:TimetableFrame:j23" version="1"/>
</frames>
</CompositeFrame>
</dataObjects>
</PublicationDelivery>
→ Template
Usage Notes
- Basically, the containers could be defined arbitrarily. We are using the most common used version.
- Be aware that what should be in a Frame in a given file is defined by the organisation of files that are defined in chapter on the files.
Frames
NeTEx is divided into frames, containers for elements of a specific domain. These frames are introduced below.
We use the following frames in Switzerland:
| Frame | Description |
|---|---|
| CompositeFrame | Container for the FrameDefaults and the other frames. |
| ResourceFrame | General purpose elements such as ResponsibilitySet, Organisation, Operator, SiteFacilitySet and ServiceFacilitySet. TypeOfProductCategory and TypeOfNotice are to be defined in a ValueSet. VehicleType is not used. |
| SiteFrame | Contains the physical infrastructure model: Encloses elements describing locations like Site, StopPlace, Quay and TopographicPlace. |
| ServiceFrame | Contains, among other, the network model with elements such as Line and Route, the service pattern model with ScheduledStopPoint and JourneyPattern and Connection elements for the topological model of interchanges. |
| ServiceCalendarFrame | Contains calendar specific elements like AvailabilityConditions, ServiceCalendar and DayType that are referenced in other frames like the TimetableFrame. |
| TimetableFrame | Contains the operational journey definitions with elements like ServiceJourney, PassingTimes, ServiceJourneyInterchange and others. |
The following frames are not to be used in Switzerland:
GeneralFrameInfrastructureFrameVehicleScheduleFrameDriverScheduleFrameFareFrame
CompositeFrame
Purpose
The CompositeFrame is the container for the FrameDefaults and the other frames like ResourceFrame, SiteFrame, ServiceFrame, ServiceCalendarFrame and TimeTableFrame,
appearing in this order.
Table
| Sub | Element | Usage | Card | Type | Description | Note |
|---|---|---|---|---|---|---|
| CompositeFrame | mandatory | 1..1 | unknown | |||
| + | FrameDefaults | expected | 1..1 | unknown | ||
| + | frames | mandatory | 1..1 | unknown | ||
| ++ | ResourceFrame | expected | 1..1 | unknown | ||
| ++ | SiteFrame | expected | 1..1 | unknown | ||
| ++ | ServiceFrame | expected | 1..1 | unknown | ||
| ++ | ServiceCalendarFrame | expected | 1..1 | unknown | ||
| ++ | TimetableFrame | expected | 1..1 | unknown |
Example
<?xml version="1.0" encoding="UTF-8"?>
<CompositeFrame id="ch:1:CompositeFrame" version="1">
<FrameDefaults/>
<frames>
<ResourceFrame id="ch:1:ResourceFrame" version="1"/>
<SiteFrame id="ch:1:SiteFrame" version="1"/>
<ServiceFrame id="ch:1:ServiceFrame" version="1"/>
<ServiceCalendarFrame id="ch:1:ServiceCalendarFrame" version="1"/>
<TimetableFrame id="ch:1:TimetableFrame:j23" version="1"/>
</frames>
</CompositeFrame>
→ Template