[Bug 26443] [XSLT30] xsl:use-package/@package-version is defined as a token, but can take any string, and appears to act as regex (?)

https://www.w3.org/Bugs/Public/show_bug.cgi?id=26443

Michael Kay <mike@saxonica.com> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
             Status|ASSIGNED                    |RESOLVED
         Resolution|---                         |FIXED

--- Comment #4 from Michael Kay <mike@saxonica.com> ---
We resolved to go with the following, subject to bug-checking and turning into
spec prose:

A version is a dot-separated sequence of integers followed optionally by a
(hyphen followed by a name).

version ::= integer ("." integer)* ("-" NCName)?

Refer to the integers and NCName as "components".

Versions are ordered. To compare two versions, 

(a) trailing zero components (before the hyphen) are discarded (so 1.2 = 1.2.0)

(b) comparison is then component-by-component, compared pairwise. If one
version is a prefix of the other, then it comes first if the remainder is
numeric (e.g. 2 < 2.3) but last if the remainder is an NCName (e.g. 2.3-alpha <
2.3). If all components are pairwise equal, the versions are equal. Otherwise,
the ordering depends on the first component that differs.

Components are compared as follows: if both are integers, they are compared
numerically; if both are NCNames, they are compared by codepoint collation; if
one is an NCName and one is an integer, the NCName comes first.

Thus 0-rc1 < 0-rc2 < 0 < 1 = 1.0 < 1.0.2 < 1.0.3-rc1 < 1.0.3 < 1.0.10

use-package defines a version range. A version range is one of:

"*" (any version)

version (exact match)

version "+" (greater than or equal)

version ".*" (must match a prefix - matches v-n as well as v.N)

range ("," range)+ (a union of ranges)

"to" version (less than or equal)

"to" version ".*" (less than or equal to the highest version that matches v.*)

version "to" version (inclusive range)

version "to" version ".*" (exclusive range, e.g. 1 to 3.*)

-- 
You are receiving this mail because:
You are the QA Contact for the bug.

Received on Friday, 1 August 2014 09:26:35 UTC