DataManagedObject, together with Version and Codespace, provides uniform, common properties for all NeTEx entities. DataManagedObject is the abstract “upper object” of the NeTEx implementation and all first class NeTEx entities are specialisations of it.
...
The DataManagedObject allows the assignment of a Version and responsibility attributes to an EntityInVersion and also one or more instances of a ValidityCondition.
EntityInVersion (Abstract)
A specific version of an ENTITY, as found in a NeTEx document. The NeTEx EntityInVersion implements ENTITY IN VERSION by adding VERSION tracking attributes and VALIDITY CONDITIONs (see later below) for any NeTEx element.
...
Classification | Name | Type | Cardinality | Description | |
::> | ::> | Entity | ::> | ENTITY ON VERSION inherits from ENTITY. | |
«FK» | dataSourceRef | DataSourceIdType | 0:1 | Data system which originated data instance. | |
«atr» | created | xsd:dateTime | 0:1 | Date and time of creation of ENTITY. | |
«atr» | changed | xsd:dateTime | 0:1 | Date and time of last change to ENTITY. | |
«enum» | modification | ModificationEnum | 0:1 | Nature of modification. Enumerated value: · new · revise · delete · unchanged ·delta If unspecified, assume value from parent of containing frame. | |
«PK» | version | VersionIdType | 0:1 | VERSION number of this instance of the ENTITY IN VERSION. | |
«enum» | status | VersionStatusEnum | 0:1 | Status of ENTITY in VERSION. Default is ‘active’. Only ‘active’ is supportd in EPIP Enumerated value: active | inactive | other. | |
«FK» | derivedFromVersionRef | VersionIdType | 0:1 | Reference to VERSION from which this VERSION of the ENTITY was derived. This is a VersionIdType, the same type as version, thus being a version number. | |
«FK» | compatibleWithVersionFrameVersionRef | VersionIdType | 0:1 | Version of frame with which this version of ENTITY is compatible. Assumes a VERSION FRAME of the same id as current frame. | |
«FK» | derivedFromObjectRef | ObjectIdType | 0:1 | Identity of object from which this version of object was derived. Normally the same. | |
|
| CHOICE | 0:1 | Optimisation: A single VALID BETWEEN may be used without a wrapper tag. | |
«cntd» | a | validityConditions | ValidityCondition | 0:* | VALIDITY CONDITIONs conditioning entity. |
| b | ValidBetween | ValidBetween | 0:1 | OPTIMISATION. Simple version of a VALIDITY CONDITION. Comprises a simple period. NO UNIQUENESS CONSTRAINT |
DataManagedObject (Abstract)
A DataManagedObject is a subclass of EntityInVersion that implements the common properties of all first-class NeTEx elements, such as:
A ResponsibilitySet, specifying data management and stakeholder roles for the object.
...
Classification | Name | Type | Cardinality | Description |
::> | ::> | EntityInVersion | ::> | DATA MANAGED OBJECT inherits from ENTITY IN VERSION. |
«FK» | responsibilitySetRef | ResponsibilitySetIdType | 1:1 | Reference to a RESPONSIBILITY SET defining ownership and management responsibilities for objects. |
«cntd» | keyList | KeyValue | 0:* | A list of KeyValue pairs that may be associated with the object. This allows simple arbitrary user extensions. |
«cntd» | Extensions | ExtensionStructure | 0:1 | User defined extension elements associated with elements. |
«FK» | BrandingRef | BrandingRef | 0:1 | Reference to a BRANDING. (A TypeOfValue) with no added attributes |
«cntd» | alternativeTexts | AlternativeText | 0:* | Additional Translations of text elements. |
...
KeyValue (Subcomponent of DataManagedObject)
A KeyValue is a convenient way to exchange additional specific data attributes not supported in NeTEx. Lists of values can be associated with any DataManagedObject. Note that the interpretation and use of each KeyValue requires an additional specification of its meaning by the local systems that use them.
...
Classification | Name | Type | Cardinality | Description |
«PK» | typeOfKey | xsd:normalizedString | 0:1 | Type for KEY VALUE. |
«PK» | Key | xsd:normalizedString | 1:1 | Key for KEY VALUE. |
Value | xsd:normalizedString | 1:1 | Value for KEY VALUE. |
Example from the Austrian NeTEx Profile:
...
...
Version
NeTEx can support the exchange of data from systems with advanced versioning systems that track every change to every element - as recorded by a version attribute on DataManagedObject. However, many legacy systems do not support such versioning capabilities and so the provision of fine-grained tracking data in a NeTEx document is optional in EPIP. However frame level versioning is mandatory in EPIP.
...
In EPIP the Version element itself not populated; a simple version number in the version attribute of an EPIP element is used to indicate the version.
...
Codespace
A CODESPACE is similar to the XML concept of aNamespace that gives a context within which the names of elements and attributes in an XML schema shall unique, (using the generic W3C domain mechanism), thus permitting the combining of elements from different schemas in the same aggregated model. In a similar way, NeTEx uses Codespaces to ensure that the identifiers of instances of elements in an XML document are unique, even if they come from many different systems and are placed in the same document – see examples below. This allows data elements from different countries, different regions, and different organisations to be combined without clashes.
...
A Codespace is specified as a path expression by using an internet domain, obtained through IANA (the Internet Assigned Numbers Authority), which provides a process for registering a domain as globally unique. For example, ‘http://tfl.gov.uk ’, ‘http://bahn.de ’, ‘http://ratp.fr ’, ‘http://foo.com ’, or ‘http://sbb.ch ’. The path can be declared in the <XmlnsUrl> attribute of a Codespace element.
...
Classification | Name | Type | Cardinality | Description |
::> | ::> | Entity | ::> | CODESPACE inherits from ENTITY. |
«PK» | id | CodespaceIdType | 1:1 | Identifier of CODESPACE. Unique within documents. |
«AK» | Xmlns | xsd:NMTOKEN | 1:1 | CODESPACE prefix, unique within a given XML document e.g. 'napt' |
XmlnsUrl | xsd:anyURI | 0:1 | CODESPACE path. Globally unique. For example, http://naptan.org.uk/naptan or http:/vdv.de/vdv/haltstelle/ | |
Description | xsd:string | 0:1 | Description of CODESPACE. |
Example from the Austrian NeTEx Profile:
...