12 Standard DataTypes ToC Previous Next

12.41 SemanticVersionString DataType ToC Previous Next index

The SemanticVersionString DataType is a sub-type of String. It is formally defined in Table 280.

SemanticVersionString can be used if the version follows the rules of the Semantic Versioning 2.0.0

The syntax shall follow the BNF inTable 281.

Table 280 – SemanticVersionString definition

Attributes Value        
BrowseName SemanticVersionString        
IsAbstract FALSE        
References NodeClass BrowseName DataType TypeDefinition ModellingRule
Subtype of the String DataType defined in Table 167.          
Conformance Units          
Base Info SemanticVersionString          

Table 281 – Backus–Naur Form Grammar for SemanticVersionString

<valid semver> ::= <version core>

             | &lt;version core&gt; "-" &lt;pre-release&gt;

             | &lt;version core&gt; "+" &lt;build&gt;

             | &lt;version core&gt; "-" &lt;pre-release&gt; "+" &lt;build&gt;

<version core> ::= <major> “.” <minor> “.” <patch>

<major> ::= <numeric identifier>

<minor> ::= <numeric identifier>

<patch> ::= <numeric identifier>

<pre-release> ::= <dot-separated pre-release identifiers>

<dot-separated pre-release identifiers> ::= <pre-release identifier>

                                      | &lt;pre-release identifier&gt; "." &lt;dot-separated pre-release identifiers&gt;

<build> ::= <dot-separated build identifiers>

<dot-separated build identifiers> ::= <build identifier>

                                | &lt;build identifier&gt; "." &lt;dot-separated build identifiers&gt;

<pre-release identifier> ::= <alphanumeric identifier>

                       | &lt;numeric identifier&gt;

<build identifier> ::= <alphanumeric identifier>

                 | &lt;digits&gt;

<alphanumeric identifier> ::= <non-digit>

                        | &lt;non-digit&gt; &lt;identifier characters&gt;

                        | &lt;identifier characters&gt; &lt;non-digit&gt;

                        | &lt;identifier characters&gt; &lt;non-digit&gt; &lt;identifier characters&gt;

<numeric identifier> ::= “0”

                   | &lt;positive digit&gt;

                   | &lt;positive digit&gt; &lt;digits&gt;

<identifier characters> ::= <identifier character>

                      | &lt;identifier character&gt; &lt;identifier characters&gt;

<identifier character> ::= <digit>

                     | &lt;non-digit&gt;

<non-digit> ::= <letter>

          | "-"

<digits> ::= <digit>

       | &lt;digit&gt; &lt;digits&gt;

<digit> ::= “0”

      | &lt;positive digit&gt;
<positive digit> ::= “1” “2” “3” “4” “5” “6” “7” “8” “9”
<letter> ::= “A” “B” “C” “D” “E” “F” “G” “H” “I” “J”
       | "K" | "L" | "M" | "N" | "O" | "P" | "Q" | "R" | "S" | "T"

       | "U" | "V" | "W" | "X" | "Y" | "Z" | "a" | "b" | "c" | "d"

       | "e" | "f" | "g" | "h" | "i" | "j" | "k" | "l" | "m" | "n"

       | "o" | "p" | "q" | "r" | "s" | "t" | "u" | "v" | "w" | "x"

       | "y" | "z"

Previous Next