I like this option, but what hapens if the user wants to match the version 5? (Only 5, not 5.5)

Glauco P. Gomes

Blake Sullivan escreveu:
OK, how about

option 5) the version feature is a String that matches the native "major.minor.whatever" format of the browser's engine. If the browser's engine uses non "." for separating versions, "." is used instead.

For matches, the "*" character is allowed in any version section.
For comparisons, the "*" is always a valid match regardless of <, >, or = comparison

For comparisons where the comparison side contains fewer version sections than the actual browser version, the comparison side is padded with * version sections and the comparison occurs as above.

For comparisons where the comparison side contains more version sections than the actual browser version, the browser version is padded with 0 version sections and the comparison occurs as above.

// user wants to match IE 5, actual browser version ie 5.5
@agent ie and (version:5)

matches because version:5 expands to version 5.* and 5.* matches 5.5

@agent ie and (min-version:5)

matches because version:5 expands to version 5.* and 5.*  < 5.5 = true

@agent ie and (max-version:5)

matches because version:5 expands to version 5.* and 5.* > 5.5 = true

// actual browser version gecko 1.9
@agent gecko and (min-version:1.9.2)

does not match because the browser version 1.9 expands to 1.9.0 and 1.9.2 is > than 1.9.0

// actual browser version gecko 1.9
@agent gecko and (min-version:1.9.*)

matches because the browser version 1.9 expands to 1.9.0 and 1.9.* == 1.9.0

-- Blake Sullivan





Blake Sullivan said the following On 4/17/2008 12:31 PM PT:
If we agree that we like the we like the media query syntax and that the only issue is how to handle less than (as opposed the <=) for the max-version, then we can just collect up the proposals and pick one:

1) The verbose and explicit  (max-version-less-than:8).
2) Define that for the version feature, max-version means < not <=. Inconsistent with other uses of max (max-version:8) 3) Let the skinning author provide enough precision to avoid the need to distinguish between < 8 and <= a number that apporaches 8 (max-version:7.99)
4) Add an operator suffix (max-version-lt:8)

1) is gross
2) is potentially confusing due to inconsistency
3) might not be immediately obvious and could theoretically have precision problems
4) is not immediately obvious either but incredibly flexible

I vote for 3) since it gets the job done and doesn't preclude doing more later.

-- Blake Sullivan




Andrew Robinson said the following On 4/17/2008 11:53 AM PT:
http://www.w3.org/TR/REC-CSS2/media.html

@import url("loudvoice.css") aural;

so here are multiple groups of characters that show that spaces are
acceptable (import url and aural keywords in one "bunch")

url("loudvoice.css")
shows that parenthesis with at least one argument is acceptable

@media screen, print {
Shown that a comma separated list, unlike normal CSS selectors applies
to the whole @ (meaning that it wasn't "@meda screen, @media print")

From css3 (http://www.w3.org/TR/css3-reader/):
@import "my-print-style.css" print;
here, a quoted string is permissible (goes with the url values in CSS rules)

<?xml-stylesheet href="style1.css" type="text/css"
  media="screen and (color) and (max-width: 400px"?>
<?xml-stylesheet href="style2.css" type="text/css"
  media="reader and (max-device-ratio: 1/1)"?>
Hmmm.... interesting, but do we want to reuse something that relates
to CSS but is not in a CSS file?

@media reader and (grid: 0)
Ah, now we are talking. This looks like what Blake was referring to

From http://www.css3.info/preview/media-queries/:
@media all and (min-width: 640px) {
Even better, showing an "all" keyword and having "normal CSS
properties" in parens.

http://www.css3.info/preview/attribute-selectors/:
Do we dare take RegExp like syntax from attr. selectors and apply them
to @agent rules?


So I can see Blake's suggestion being backed by these, but IMO
"max-version-less-than:8" is too long to remember.

Perhaps just:
IE 5.5 or greater:
@agent ie and (min-version: 5.5)

IE 5.0 or greater:
@agent ie and (min-version: 5)

IE >= 5.0 and < 6.0:
@agent ie and (version: 5)
or (I like this one less):
@agent ie and (major-version: 5)

IE <= 6.0:
@agent ie and (max-version: 6)

IE < 6:
@agent ie and (max-version: 5.9)

IE >= 6.0 and < 8.0:
@agent ie and (min-version: 6) and (max-version: 7.9)
same as:
@agent ie and (min-version: 6) and (max-version: 7)

IE >= 6.0 and <= 8.0:
@agent ie and (min-version: 6) and (max-version: 8.0)

IE >= 6.0 and <= 8.x:
@agent ie and (min-version: 6) and (max-version: 8)

So x.y (ie 5.5) means precisely that, no vagueness and x (ie 6) means
major version x regardless of minor version. If it is too hard to
parse the decimal and remember it, "max-major-version",
"min-major-version" and "major-version" could be used for integer only
comparison with the major version and "max-version", "min-version" and
"version" could be used for full major.minor comparison.

I think using something like 7.9 or  7.99 could theoretically be used
for less than but not equal to. I think the fewer number of keywords
the clearer it will be to use. Just my opinion.

Just adding some thoughts to chew on since concrete ideas were asked for.

-Andrew


On Thu, Apr 17, 2008 at 12:26 PM, Cristi Toth <[EMAIL PROTECTED]> wrote:
Hi guys,

You're right, I should have discussed the format before committing it.
I started fixing the issue using the format that was specified there...
(there weren't to many comments on that issue btw...)
During I was fixing it, I noticed that XSS suppported multiple versions,
so I adapted what was suggested on the issue to support that too.

Anyway, lets get this subject out in a new thread
and stick here to discussing the format.

Guys, those of you that suggested some general guidelines, they all sound
good,
but please try to think of some concrete format that comply with those
guidelines.

If we decide a final format and implement it until its get released, then no
big harm done.
 So please be constructive ;)

Thanks for any feedback!

cheers,
--

Cristi Toth

-------------
Codebeat
www.codebeat.ro





Reply via email to