CycleNetXChange

Versioning

CycleNetXChangeuses 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 rigorous and orderly manner.

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

Both schemas & instance documents are versioned.

1. Version Numbering

1.1 Version Numbers

All CycleNetXChange schemas have a version Identifier of the form N.Mx, 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
  • x 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

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

  • //www.CycleNetXChange.org.uk/schema/N.M/cycleNet.xsd

Examples.

Version 1.1 of CycleNetXChange:

  • //www.CycleNetXChange.org.uk/schema/1.1/cycleNet.xsd

Draft of Version 1.2 of CycleNet:

  • //www.CycleNetXChanget.org.uk/schema/1.2a/cycleNet.xsd

2.2 Namespace versions

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

<xs:schema targetNamespace="http://www.CycleNetXChange.org.uk/cnm/"

2.3 Directory Structure

NPTG & NaPTAN 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.CycleNetXChange.org.uk/
//www.CycleNetXChange.org.uk/schema/
...
//www.CycleNetXChange.org.uk/schema/2.1/
//www.CycleNetXChange.org.uk/schema/2.1/cycleNet.xsd
//www.CycleNetXChange.org.uk/schema/2.0/
//www.CycleNetXChange.org.uk/schema/2.0/CycleNetXChange.xsd
//www.CycleNetXChange.org.uk/schema/2.0/cnm/cnmBasic-v1-1.xsd
//www.CycleNetXChange.org.uk/schema/2.0/cnm/cnmMore....
   ....

3. Version Identifiers

3.1 Schema Version Identifiers

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

<xs: schema targetNamespace="http://www.CycleNetXChange.org.uk/cnm"
xmlns="http://www.cyclenet.org.uk/cnm"
xmlns:xs="http://www.w3.org/2001/XMLSchema"
elementFormDefault="qualified"
attributeFormDefault="unqualified"
version="2.0"
id="CycleNetXChange">
...

3.2 Document Version Identifiers

All CycleNetXChange 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"?>
<CycleNetXChange
xmlns="http://www.CycleNetXChange.org.uk/cnm" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"xsi:schemaLocation="http://www.CycleNetXChange.org.uk/schema/1.0/CycleNetXChange.xsd"CreationDateTime="2004-07-17T09:30:47-05:00"ModificationDateTime="2004-07-17T09:30:47-05:00"Modification="new"RevisionNumber="1" FileName="String"SchemaVersion="2.0"LocationSystem="Grid">
<
cnm:CycleNetXChange>
......

</
cm:CycleNetXChange>
<
/CycleNetXChange>



3.3 Package versions

Low level subschemas that are shared with other schemas and referenced by CycleNetXChange schemas 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.CycleNetXChange.org.uk/schema/2.0/cnm/cnmBasicTypes-v2-0.xsd


Page last updated: 2013.03.30