Re: marker-pattern has a weird grammar

Tab Atkins Jr. wrote:
> The current grammar for marker-pattern is:
>
> [ none |<length> |<percentage> |<marker-ref> ]+
>
> What this is trying to express is "one or more groups of markers (or
> 'none' to indicate no marker at a given spot), each group separated by
> a length or percentage, and the whole list possibly preceded or
> followed by a length or percentage"
>
> What it actually expresses is that things like this are possible:
>
> 50px 5% url(#m1) none url(#m2)
>
> 1. Chaining multiple lengths/percentages together is unnecessary, as
> we have calc() when we want to add together dissimilar units.

Yeah, I'm not sure why I wasn't considering calc() when I wrote up the 
proposal. I agree it's fine to limit it to one <length> or <percentage>.

> 2. Allowing multiple markers at a given spot is fine, but it should be
> a choice of saying "none" *or* 1+ markers; mixing them is silly.
>
> Here's a grammar that expresses what we want better:
>
> <marker-gap>?<marker-ref-group> [<marker-gap> <marker-ref-group> ]*
> <marker-gap>?
> <marker-gap> =<length> |<percentage>
> <marker-ref-group> = none |<marker-ref>+

https://github.com/w3c/svgwg/commit/4d59c7a9a422f01f08f1f7613f8932015148337a

<marker-ref> seems to incorrectly include none; I've removed that.

https://github.com/w3c/svgwg/commit/c7f09b2f143338f5f7310d2ec6cd201e47df4fa7

Received on Friday, 21 November 2014 02:26:43 UTC