On 12 Mar 2011, at 20:03, Sebastian Klein wrote:
> Thomas Davie wrote:
>> The mapCSS 0.2 wiki page states that we may not write
>> relation[type=route]
>> way[highway]
>> { stroke-color: red; }
>> as
>> relation [type=route]
>> way [highway]
>> { stroke-color: red; }
>> I see no reason why allowing this would make the grammar ambiguous, and
>> disallowing it makes the grammar significantly more complex (we can't simply
>> ignore whitespace tokens any more, and have to pollute every grammar rule
>> with whitspace? between pretty much all tokens).
>> What's the reason for this restriction?
>
> The reason for this is to comply with css. Try the following snippet:
>
> <style type="text/css">
>
> p [lang=en] { color: purple; }
>
> </style>
>
> <p lang="en">normal text</p>
>
> <p>text <span lang="en">in purple</span></p>
>
> The browser will consider [lang=en] to be a shortcut for *[lang=en] and make
> everything purple that has the lang=en property and is descendent of a <p>
> element.
Is * expected to be a valid object name in MapCSS too then? If it is I can
completely understand doing this. If not, it would seem that trying to
maintain compatibility somewhere where we're already incompatible is a bit odd,
especially when it makes parsing significantly harder.
Tom Davie
_______________________________________________
Mapcss mailing list
[email protected]
http://lists.openstreetmap.org/listinfo/mapcss