Dev:versioning

From railML 2 Wiki
Revision as of 11:37, 26 September 2022 by RailML Coord Governance (talk | contribs) (tag Outdated added)
Jump to navigation Jump to search
RailML Trademark RGB V2.png
XML Railway exchange format
https://railML.org
Latest release: 2.5
(September 1st, 2021)
 
Main Menu
 
Subschemas
XML tree
UML diagrams
Use cases
Versions & Changes
Outdated.png Part of the article content is outdated since 2022. SVN is not longer in use; railML's Gitlab structure is idfferent. Please update this article to reflect recent events or newly available information. Possibly, you will find further details on the discussion pageCoordination (talk) 11:37, 26 September 2022 (CEST)
🗒️ The subject of this article is accessing, setting and naming developer versions. To learn about published railML® versions and about our release policy, see dev:versions.

Download railML

Current stable release

In order to get the current stable railML® package, go to the Download section (link to the railML® website) 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 https://www.railml.org/en/user/exampledata.html (link to the railML® website).

Current stable releases are railML® 2.5 and railML® 3.2 respectively.


Older stable releases

Older officially released railML® versions are archived here (link to the railML® website) (or go to https://www.railml.org (link to the railML® website) and click Developers > Download)

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 (link to the railML® website) 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="https://www.railml.org/schemas/2011" 
  xmlns:xsi="https://www.w3.org/2001/XMLSchema-instance"
  xsi:schemaLocation="https://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="https://www.railml.org/schemas/2011"
    • as prefixed namespace: xmlns:rail="https://www.railml.org/schemas/2011" (not shown above)
  • Use the appropriate web-based Schema location at railML.org: xsi:schemaLocation="https://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

Note on legacy SVN commits

🗒️ In 2021 the railML® development was migrated from SVN (Wiki banner.png) to GitLab (Wiki banner.png). Identical commits have different numbers on SVN and GitLab respectively. Template:SVN still allows to find SVN commit numbers in GitLab via the search function. For instance SVN commit 416 corresponds to GitLab commit 5f735749. You will be directed to a search page, where the (usually unique) hit can be clicked or the commitment number can be copied. E.g. {{SVN|416|2}} [416] will present a page linking to the page of GitLab commit {{commit|5f735749}} [5f735749].