Changes for page 14 ANNEX Semantic Versioning
Last modified by Helena on 2025/09/10 11:19
Summary
-
Page properties (1 modified, 0 added, 0 removed)
Details
- Page properties
-
- Content
-
... ... @@ -45,78 +45,7 @@ 45 45 46 46 == 14.3 Backus–Naur Form Grammar for Valid SDMX 3.0(.0) Semantic Versions == 47 47 48 -|((( 49 -**<valid semver> ::= <version core>** 50 50 51 -**| <version core> "-" <extension>** 52 - 53 -**<version core> ::= <major> "." <minor> "." <patch>** 54 - 55 -**<major> ::= <numeric identifier>** 56 - 57 -**<minor> ::= <numeric identifier>** 58 - 59 -**<patch> ::= <numeric identifier>** 60 - 61 -**<extension> ::= <dot-separated extension identifiers>** 62 - 63 -**<dot-separated extension identifiers> ::= <extension identifier>** 64 - 65 -**| <extension identifier> "." <dotseparated extension identifiers>** 66 - 67 -**<extension identifier> ::= <alphanumeric identifier>** 68 - 69 -**| <numeric identifier>** 70 - 71 -**<alphanumeric identifier> ::= <non-digit>** 72 - 73 -**| <non-digit> <identifier characters>** 74 - 75 -**| <identifier characters> <non-digit>** 76 - 77 -**| <identifier characters> <non-digit> <identifier characters>** 78 - 79 -**<numeric identifier> ::= "0"** 80 - 81 -**| <positive digit>** 82 - 83 -**| <positive digit> <digits>** 84 - 85 -**<identifier characters> ::= <identifier character>** 86 - 87 -**| <identifier character> <identifier characters>** 88 -))) 89 - 90 -**<identifier character> ::= <digit>** 91 - 92 -**| <non-digit>** 93 - 94 -**<non-digit> ::= <letter>** 95 - 96 -**| "-"** 97 - 98 -**<digits> ::= <digit>** 99 - 100 -**| <digit> <digits>** 101 - 102 -**<digit> ::= "0"** 103 - 104 -**| <positive digit>** 105 - 106 -**<positive digit> ::= "1" | "2" | "3" | "4" | "5" | "6" | "7" | "8" | "9"** 107 - 108 -**<letter> ::= "A" | "B" | "C" | "D" | "E" | "F" | "G" | "H" | "I" | "J"** 109 - 110 -**| "K" | "L" | "M" | "N" | "O" | "P" | "Q" | "R" | "S" | "T"** 111 - 112 -**| "U" | "V" | "W" | "X" | "Y" | "Z" | "a" | "b" | "c" | "d"** 113 - 114 -**| "e" | "f" | "g" | "h" | "i" | "j" | "k" | "l" | "m" | "n"** 115 - 116 -**| "o" | "p" | "q" | "r" | "s" | "t" | "u" | "v" | "w" | "x"** 117 - 118 -**| "y" | "z"** 119 - 120 120 == 14.4 Dependency Management in SDMX 3.0(.0): == 121 121 122 122 MAJOR, MINOR or PATCH version parts in SDMX 3.0 artefact references CAN be wildcarded using "+" as extension: ... ... @@ -228,24 +228,16 @@ 228 228 229 229 One with named groups for those systems that support them (PCRE [Perl Compatible Regular Expressions, i.e. Perl, PHP and R], Python and Go). 230 230 231 -Reduced version (without original SemVer "build metadata") from: [[__https:~~/~~/regex101.com/r/Ly7O1x/3/__ >>url:https://regex101.com/r/Ly7O1x/3/]][[url:https://regex101.com/r/Ly7O1x/3/]]160 +Reduced version (without original SemVer "build metadata") from: [[__https:~~/~~/regex101.com/r/Ly7O1x/3/__https:~~/~~/regex101.com/r/Ly7O1x/3/>>https://https:regex101.comrLy7O1x3https:regex101.comrLy7O1x3]] 232 232 233 -^(?P<major>0|[1-9]\d*)\.(?P<minor>0|[1-9]\d*)\.(?P<patch>0|[1- 162 +^(?P<major>0|[1-9]\d*)\.(?P<minor>0|[1-9]\d*)\.(?P<patch>0|[1-9]\d*)(?:-(?P<extension>(?:0|[1-9]\d*|\d*[a-zA-Z-][0-9a-zA-Z-]*)(?:\.(?:0|[1-9]\d*|\d*[a-zA-Z-][0-9a-zA-Z-]*))*))?$ 234 234 235 -9]\d*)(?:-(?P<extension>(?:0|[1-9]\d*|\d*[a-zA-Z-][0-9a-zA-Z- 236 - 237 -]*)(?:\.(?:0|[1-9]\d*|\d*[a-zA-Z-][0-9a-zA-Z-]*))*))?$ 238 - 239 239 And one with numbered capture groups instead (so cg1 = major, cg2 = minor, cg3 = patch and cg4 = extension) that is compatible with ECMA Script (JavaScript), PCRE (Perl Compatible Regular Expressions, i.e. Perl, PHP and R), Python and Go. 240 240 241 -Reduced version (without original SemVer "build metadata") from: [[__https:~~/~~/regex101.com/r/vkijKf/1/__ >>url:https://regex101.com/r/vkijKf/1/]][[url:https://regex101.com/r/vkijKf/1/]]166 +Reduced version (without original SemVer "build metadata") from: [[__https:~~/~~/regex101.com/r/vkijKf/1/__https:~~/~~/regex101.com/r/vkijKf/1/>>https://https:regex101.comrvkijKf1https:regex101.comrvkijKf1]] 242 242 243 -^(0|[1-9]\d*)\.(0|[1-9]\d*)\.(0|[1-9]\d*)(?:-((?:0|[1- 168 +^(0|[1-9]\d*)\.(0|[1-9]\d*)\.(0|[1-9]\d*)(?:-((?:0|[1-9]\d*|\d*[a-zA-Z-][0-9a-zA-Z-]*)(?:\.(?:0|[1-9]\d*|\d*[a-zA-Z-][0-9a-zA-Z-]*))*))?$ 244 244 245 -9]\d*|\d*[a-zA-Z-][0-9a-zA-Z-]*)(?:\.(?:0|[1-9]\d*|\d*[a-zA-Z- 246 - 247 -][0-9a-zA-Z-]*))*))?$ 248 - 249 249 **Must I adopt semantic versioning rules when switching to SDMX 3.0?** 250 250 251 251 No. If backwards compatibility with pre-existing tools and processes is required, then it is possible to continue using the previous versioning scheme (with up to two version parts MAJOR.MINOR). Semantic versioning is indicated only for those use cases where a proper artefact versioning is required. If versioning does not apply to some or all of your artefacts, then rather migrate to non-versioned SDMX 3.0 artefacts. ... ... @@ -272,7 +272,7 @@ 272 272 273 273 In practice, the migration approach will often mirror the way in which organisations have migrated between earlier SDMX versions. Rarely, the new data models used mixed SDMX standard versions in their dependencies, and if they did then standard conversions were put in place. A typical method is to first migrate the re-used artefacts from the previous SDMX version to SDMX 3.0 and while doing so to apply the appropriate new semantic version string. From that point onwards, you can enjoy the advantages of the new SDMX versioning features for all those artefacts that require appropriate versioning. 274 274 275 -[[1>>path:#sdfootnote1anc||name="sdfootnote1sym"]] Regular expressions, as specified in [[__W3C XML Schema Definition Language (XSD)__>>url:https://www.w3.org/TR/xmlschema11-2/]][[ >>url:https://www.w3.org/TR/xmlschema11-2/]][[__1.1 Part 2: Datatypes__>>url:https://www.w3.org/TR/xmlschema11-2/]][[.>>url:https://www.w3.org/TR/xmlschema11-2/]]196 +[[1>>path:#sdfootnote1anc||name="sdfootnote1sym"]] Regular expressions, as specified in __W3C XML Schema Definition Language (XSD)__ __1.1 Part 2: Datatypes__. 276 276 277 277 [[2>>path:#sdfootnote2anc||name="sdfootnote2sym"]] The seconds can be reported fractionally 278 278