Dev:versioning

From wiki.railML.org
Jump to: navigation, search

Download railML

Current stable release

In order to get the current stable railML package, go to the Download section on the railML homepage whilst logged on.

The package consists of an zip archive containing:

  • XML Schema files in schema folder; and
  • HTML documentation in documentation folder

XML example files can be found on http://www.railml.org/en/user/exampledata.html (link to the railML® website).

Current stable release is railML 2.3.

Older stable releases

Older officially released railML® versions are archived at the railML homepage. Click Developers > Download or use this direct link (link to the railML® website).

All schemes are zip archived.

Developer unstable releases

Since railML 1.1 the development of railML can be publicly supervised through the public subversion repository located at railML's SVN (link to the railML® website). Beginning on June 20th, 2016 the main branch is splitted to allow a parallel work for railML 2 and railML 3 development. Therefore the structure is made like described below:

/
   railML2/
       trunk/
       branches/
       tags/
   railML3/
       trunk/
       branches/
       tags/

Please note: The old server at www.assembla.com (external link) is not longer in use since March 2014.

Subversion (external link) is an open source version control system. All code changes are registered with date and time together with its commiter and a commit log message.

Routine downloads

If you want to keep track of all code commits, you should use a subversion client. A read only access to the schemes is available at railML's SVN (link to the railML® website), any write access is possible only for the railML coordinators.

  • Change to your local railML folder.
  • First time: checkout the current repository (all changes since version 1.1).
    svn co https://svn.railml.org/
  • Further: update your local repository copy as often as you want (all recent changes since last svn update).
    svn up https://svn.railml.org/

You get railML files according to its repository folders.

Most recent snapshot

If you don't run an subversion client, you can nevertheless get a copy of the most recent developer version.

Simply click Developer version on the railML® homepage to download an zip archive of repositories' trunk folder.

The zip archive contains:

  • Current XML Schema files in schema folder
  • Current XML example files in examples folder
  • Current defect XML sample files for semantic validation purposes in defectSamples folder
  • blank documentation folder

Exchange a railML file based on unstable schemas

The following XML fragment shows how to exchange railML files using unstable railML schemas.

<?xml version="1.0" encoding="UTF-8"?>
<railml version="2.1r416"
  xmlns="http://www.railml.org/schemas/2011" 
  xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
  xsi:schemaLocation="http://www.railml.org/schemas/2011 https://svn.railml.org/export/416/trunk/schema/railML.xsd">
  ...
</railml>
  • Use the last released version number plus the current SVN number: version="2.1r416"
  • Use the last released namespace
    • as default namespace: xmlns="http://www.railml.org/schemas/2011"
    • as prefixed namespace: xmlns:rail="http://www.railml.org/schemas/2011" (not shown above)
  • Use the appropriate web-based Schema location at railML.org: xsi:schemaLocation="http://www.railml.org/schemas/2011 https://svn.railml.org/export/416/trunk/schema/railML.xsd"

For local validation purposes, see Local versus web-based validation (XML catalogs and XML namespaces)

For more information on how to use version numbers and namespaces, see Recommendations on version numbers.

Subversion repository folders

trunk

The /trunk/ directory contains the source files that the next public and stable project release is based on.

tags

The /tags/ directory contains snapshots of public and stable project versions that have been released.

branches

The /trunk/ directory contains the source files that the next public and stable project release is based on.

Back to Common overview