TransXChange

Versioning

TransXChange uses a systematic versioning scheme in line with GovTalk & e-Gif standards. The system is intended to allow you to design applications that operate at different schema levels concurrently, and to manage future schema application evolution in a rigourous and orderly manner.

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

Both schemas & instance documents are versioned. The schema version level required to process any given TransXChange document can therefore be identified. There are separate versions of the Publisher for each version of the Schema.

1. Version Numbering

1.1 Version Numbers

All TransXChange schemas are 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

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

  • http://www.dft.gov.uk/transxchange//schema/N.M/TransXChange_variant.xsd

Examples of Versioning

Draft c of Version 2.0 of TransXChange registration schema:

Version 2.1 of TransXChange registration schema:

2.2 Namespace versions

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

<xs:schema targetNamespace="http://www.dft.gov.uk/transxchange/schema/schemas.htm"

In version 2.0 and 2.1 because of technical constraints in earlier XML tools, TXC uses chameleon namespaces for imported packages. These will be revised in future.

2.3 Directory Structure

TransXChange artefacts are organised into a hierarchical directory structure relative to the root domain, in accordance with the e-Gif versioning system. For example the directory structure used is as follows:

//www.dft.gov.uk/transxchange/
//www.dft.gov.uk/transxchange/schema/
...
//www.dft.gov.uk/transxchange/schema/2.0/
//www.dft.gov.uk/transxchange/schema/2.0/TransXChange_general.xsd
//www.dft.gov.uk/transxchange/schema/2.0/TransXChange_registration.xsd
//www.dft.gov.uk/transxchange/schema/2.0/TransXChange_common.xsd
//www.dft.gov.uk/transxchange/schema/2.0/TransXChange_types.xsd
//www.dft.gov.uk/transxchange/schema/2.0/xml/xml.xsd
//www.dft.gov.uk/transxchange/schema/2.0/napt/NaPT_stop-v1-0c.xsd
//www.dft.gov.uk/transxchange/schema/2.0/napt/NaPT_common-v1-0c.xsd
//www.dft.gov.uk/transxchange/schema/2.0/napt/NaPT_dates-v1-0c.xsd
//www.dft.gov.uk/transxchange/schema/2.0/napt/NaPT_geographic-v1-0c.xsd
//www.dft.gov.uk/transxchange/schema/2.0/napt/NaPT_journey-v1-0c.xsd
//www.dft.gov.uk/transxchange/schema/2.0/napt/NaPT_topography-v1-0c.xsd
//www.dft.gov.uk/transxchange/schema/2.0/napt/NaPT_organisation-v1-0c.xsd
//www.dft.gov.uk/transxchange/schema/2.0/apd/PersonDescriptiveTypes-v1-0.xsd
//www.dft.gov.uk/transxchange/schema/2.0/apd/AddressTypes-v1-3.xsd
//www.dft.gov.uk/transxchange/schema/2.0/apd/BS7666-v1-3.xsd
//www.dft.gov.uk/transxchange/schema/2.0/apd/CitizenIdentificationTypes-v1-3.xsd
//www.dft.gov.uk/transxchange/schema/2.0/apd/CommonSimpleTypes-v1-3.xsd
//www.dft.gov.uk/transxchange/schema/2.0/apd/ContactTypes-v1-3.xsd
//www.dft.gov.uk/transxchange/schema/2.0/apd/PersonalDetailsTypes-v1-3.xsd
//www.dft.gov.uk/transxchange/schema/2.0/guide/TransXChange_Guide_2.0e.zip
//www.dft.gov.uk/transxchange/schema/2.0/examples/linear/linear.xml
//www.dft.gov.uk/transxchange/schema/2.0/examples/linear/linear.png
//www.dft.gov.uk/transxchange/schema/2.0/examples/interchange/interchange.xml
  ....

3. Version Identifiers

3.1 Schema Version Identifiers

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

<xs:schema targetNamespace="http://www.dft.gov.uk/transxchange//schema/"
xmlns="http://www.dft.gov.uk/transxchange//schema/"
xmlns:xs="http://www.w3.org/2001/XMLSchema"
elementFormDefault="qualified"
attributeFormDefault="unqualified"
version="2.0"
id="TransXChange">
...

3.2 Document Version Identifiers

All TransXChange instance documents have a version identifier which must be populated by the implementation to indicate the schema level against which the document validates.

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

3.3 Package versions

Low level subschemas shared with other schemas and referenced by TransXChange are individually versioned within a subdirectory, for example /napt and /apd. Copies of the referenced subschemas are included in the download so that the schemas can be used offline. For example:

 //www.dft.gov.uk/transxchange/schema/2.0/napt/NaPT_stop-v2-0.xsd


Page last updated: 2013/03/30