RtigXml Versions

RtigXml uses a systematic versioning scheme in line with GovTalk & e-Gif  standards.

  1. Version Numbering
  2. Version Location
  3. Version Identifiers

1. Version Numbering

All RtigXml schemas have a version Identifier of the form N.Ma, where:

  • N indicates a Major release, e.g. "2.0". A major release is usually is not strictly compatible with the previous release.
  • M indicates a Minor release, e.g. "2.1". A minor release is compatible with the previous release, providing any new optional features added in the release are not used
  • a indicates an Unapproved draft, e.g. "1.0a", "4.3a". A letter suffix indicates that the release is not yet officially approved or released.

2. Version Location

2.1 Schema versions

RtigXml schema versions are always located at a specific, versioned URL. The URL has the general form:

  • http://www.RtigXml.org.uk/schema/N.M/RtigXml.xsd

Examples.

Version 1.0 of RtigXml:

Draft of Version 2.0 of RtigXml:

2.2 Namespace versions

Note that the namespace used for RtigXml is not itself versioned, in line with GovTalk & e-Gif standards, thus:

<xs:schema targetNamespace="http://www.rtigXml.org.uk/schemas/"

2.3 The Current version

The official 'current' version of RtigXml may be referenced without a version number, for example:

Only one version of the JourneyWeb schema will be current at a time; different previous and new draft versions may exist concurrently.

2.3 Directory Structure

RtigXml artefacts are organised into a hierarchical directory structure  relative to the root domain, in accordance with the e-Gif versioning system. Within this hierarchy a standard structure is used to organize the base trident schemas and the dependent schemas.  Note that the other schemas are in sibling directories not child directories of the RtigXml schema.

   ../RTIG/RtigXml.xsd
   ../RTIG/trident_rtig_schema.xsd
   ../RTTI/trident_rtti_schema.xsd
   ../Trident/Trident-Request-Answer.xsd
   ../Trident/Trident.xsd
   ../Trident/Trident_Global_schema.xsd
   ../Trident/trident_Location_schema.xsd
   ../Trident/Trident_Message_schema.xsd
   ../Trident/trident_PT_schema.xsd
   ../Trident/trident_Road_schema.xsd
   ../Trident/trident_Situation_schema.xsd
   ../Trident/Trident_Trip_schema.xsd
   ../Trident_Real_Time_XML/trident_xml_request-response.xsd
   ../Trident_Real_Time_XML/rtigXml_all_1.0
   ../Trident_Real_Time_XML/trident_rt_schema.xsd
For example the directory structure could br as follows:

//www.rtigXml.org.uk/
//www.rtigXml.org.uk/schema/
...
//www.rtigXml.org.uk/schema/1.0/
//www.rtigXml.org.uk/schema/1.0/guide/
//www.rtigXml.org.uk/schema/1.0/guide/rtigXmlSchemaGuide.doc
//www.rtigXml.org.uk/schema/1.0/RTIG/
//www.rtigXml.org.uk/schema/1.0/RTIG/trident_rtig_schema.xsd
//www.rtigXml.org.uk/schema/1.0/RTIG/rtig_api.xsd
//www.rtigXml.org.uk/schema/1.0/RTIG/RtigXml.xsd
//www.rtigXml.org.uk/schema/1.0/RTIG/sample_stop_status_registration_request.xml
//www.rtigXml.org.uk/schema/1.0/RTIG/sample_stop_status_request.xml
//www.rtigXml.org.uk/schema/1.0/RTIG/sample_stop_status_response.xml
//www.rtigXml.org.uk/schema/1.0/RTIG/sample_stop_status_subscription_response_1.xml
//www.rtigXml.org.uk/schema/1.0/RTIG/sample_stop_status_subscription_response_2.xml
//www.rtigXml.org.uk/schema/1.0/RTTI/
//www.rtigXml.org.uk/schema/1.0/RTTI/trident_rtti_schema.xsd
//www.rtigXml.org.uk/schema/1.0/RTTI/rtti_api.xsd
//www.rtigXml.org.uk/schema/1.0/RTTI/sample_stop_status_real_time_response.xml
//www.rtigXml.org.uk/schema/1.0/Trident/
//www.rtigXml.org.uk/schema/1.0/Trident/Trident-Request-Answer.xsd
//www.rtigXml.org.uk/schema/1.0/Trident/Trident.xsd
//www.rtigXml.org.uk/schema/1.0/Trident/Trident_Global_schema.xsd
//www.rtigXml.org.uk/schema/1.0/Trident/trident_Location_schema.xsd
//www.rtigXml.org.uk/schema/1.0/Trident/Trident_Message_schema.xsd
//www.rtigXml.org.uk/schema/1.0/Trident/trident_PT_schema.xsd
//www.rtigXml.org.uk/schema/1.0/Trident/trident_Road_schema.xsd
//www.rtigXml.org.uk/schema/1.0/Trident/trident_Situation_schema.xsd
//www.rtigXml.org.uk/schema/1.0/Trident/Trident_Trip_schema.xsd
//www.rtigXml.org.uk/schema/1.0/Trident_Real_Time_XML/
//www.rtigXml.org.uk/schema/1.0/Trident_Real_Time_XML/trident_xml_request-response.xsd
//www.rtigXml.org.uk/schema/1.0/Trident_Real_Time_XML/rtigXml_all_1.0
//www.rtigXml.org.uk/schema/1.0/Trident_Real_Time_XML/trident_rt_schema.xsd
...
//www.rtigXml.org.uk/schema/2.0a/
//www.rtigXml.org.uk/schema/2.0a/guide/
//www.rtigXml.org.uk/schema/2.0a/guide/rtigXmlSchemaGuide.doc
//www.rtigXml.org.uk/schema/2.0a/RTIG/
//www.rtigXml.org.uk/schema/2.0a/RTIG/trident_rtig_schema.xsd
//www.rtigXml.org.uk/schema/2.0a/RTIG/rtig_api.xsd
//www.rtigXml.org.uk/schema/2.0a/RTIG/RtigXml.xsd
   ....

3.  Version Identifiers

3.1 Schema Version Identifiers

All RtigXml schema versions have a formal version identifier in the header element:

<xs:schema targetNamespace="http://www.rtigXml.org.uk/schemas/"
xmlns="http://www.rtigXml.org.uk/schemas/"
xmlns:xs="http://www.w3.org/2001/XMLSchema"
elementFormDefault="qualified"
attributeFormDefault="unqualified"
version="1.0"
id="RtigXML">
...

3.2 Document Version Identifiers

All RtigXml  request & response documents have a version identifier which must be populated by the implementation to indicate the schema level against which the document validates. It can be used can be used to determine the version of a given request or response document.

<?xml version="1.0" encoding="UTF-8"?>
<RtigXML
xmlns="http://www.rtigXml.org.uk/schema/"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://www.rtigXml.org.uk/schema/3.0/
Version="2.0">
<Request/>
...
<Request/>
</RtigXML>