- From: <bugzilla@jessica.w3.org>
- Date: Sat, 14 Mar 2015 17:01:01 +0000
- To: public-qt-comments@w3.org
https://www.w3.org/Bugs/Public/show_bug.cgi?id=28215 Bug ID: 28215 Summary: [XSLT30] EBNF for versions incomplete for VersionTo production and ambiguous explanation for VersionPrefix Product: XPath / XQuery / XSLT Version: Last Call drafts Hardware: PC OS: Windows NT Status: NEW Severity: normal Priority: P2 Component: XSLT 3.0 Assignee: mike@saxonica.com Reporter: abel.braaksma@xs4all.nl QA Contact: public-qt-comments@w3.org For reference, the current productions for PackageVersion and PackageRanges are: PackageVersion ::= NumericPart ( "-" NamePart )? NumericPart ::= IntegerLiteral ( "." IntegerLiteral )* NamePart ::= NCName PackageVersionRange ::= AnyVersion | VersionRanges AnyVersion ::= "*" VersionRanges ::= VersionRange (S? "," S? VersionRange)* VersionRange ::= VersionPrefix | VersionFrom | VersionTo | VersionFromTo VersionPrefix ::= PackageVersion ".*" VersionFrom ::= PackageVersion "+" VersionTo ::= "to" S VersionPrefix VersionFromTo ::= PackageVersion S "to" S (PackageVersion | VersionPrefix) The first two items below are the bug, the last three are editorial suggestions. ** ITEM 1 ** Bug 26997 fixed VersionFromTo, but the same fix (the part after the "to" keyword) should also be applied on VersionTo, otherwise the examples, the intended meaning and the explanation in the text do not match, as "to 2.1" would be invalid): VersionTo ::= "to" S (PackageVersion | VersionPrefix) ** ITEM 2 ** The text on VersionPrefix says that all components must match. It is unclear what "1.2-alpha.*" would match. The intention of a user might be to match "1.2-alphaBuild1" and "1.2-alphaBuild7", but not "1.2-prod". But the NCName is a component as mentioned in the text, so it seems to be that "1.2-alpha.*" only ever matches a version that is exactly "1.2-alpha". I think that mentioning this in the bulletpoint on VersionPrefix proves beneficial. ** ITEM 3 ** (editorial) The term "component" is rather unclear and generic. My (editorial) suggestion is to change it to "version component" or even "package version component" and to interlink and define it as a real definition. Now the rest of the text and the explanation of the term "component" are not clearly linked and/or understood as such, leading to (in our case) a very confusing discussion between the programmers. In addition, I think we should make it very clear that there is at most one non-numeric component (even though the production already shows this) and that even "1.0-alpha.b.2a-5b" is legal and has one NamePart, namely "alpha.b.2a-5b". ** ITEM 4 ** (editorial) "The integers and optional NCName within the version number are referred to as the components of the version number." This should probably be s/NCName/NamePart/: "The integers and optional NamePart within the version number are referred to as the components of the version number." And maybe even: s/integers/IntegerLiteral/, as "integers" is not mentioned in the production. ** ITEM 5 ** (editorial) Layout: the second production, on PackageVersionRange, is indented eight spaces in the spec, the first part, on PackageVersion, is not. -- You are receiving this mail because: You are the QA Contact for the bug.
Received on Saturday, 14 March 2015 17:01:03 UTC