W3C home > Mailing lists > Public > public-svg-wg@w3.org > April to June 2014

svg2: Make path data grammar reference the wsp and comma-wsp definitions

From: SVG Working Group repository <cam+svgwgrepo@mcc.id.au>
Date: Mon, 26 May 2014 01:49:19 -0700
Message-Id: <hg.e62e8a7376a0.1401094159.3034738116371802840@ps58493.dreamhostps.com>
To: public-svg-wg@w3.org
details:   https://svgwg.org/hg/svg2/rev/e62e8a7376a0
branches:  
changeset: 679:e62e8a7376a0
user:      Erik Dahlstrom <ed@opera.com>
date:      Mon May 26 10:45:44 2014 +0200
description:
Make path data grammar reference the wsp and comma-wsp definitions
from the Basic Data Types and Interfaces chapter.

diffstat:

 master/changes.html    |   3 ++
 master/definitions.xml |   3 +-
 master/paths.html      |  66 ++++++++++++++++++++++---------------------------
 3 files changed, 35 insertions(+), 37 deletions(-)

diffs (230 lines):

diff --git a/master/changes.html b/master/changes.html
--- a/master/changes.html
+++ b/master/changes.html
@@ -30,16 +30,19 @@ Changes made since the last <a href="htt
 
 <p>A number of stylistic changes have been made to the specification to make it more readable. These include the following:</p>
 
 <ul>
   <li>A change towards using styling similar to contemporary CSS specifications.</li>
 
   <li>Annotations have been added to the specification to reflect features that the Working Group
   has resolved on including and for which a member of the group has committed to drive that feature.</li>
+
+  <li>The path data grammar now references <a>comma-wsp</a> and <a>wsp</a> from the types chapter.</li>
+
 </ul>
 
 <h2 id="substantial">Substantial changes</h2>
 
 <p>In additional to the editorial changes listed above, the following substantial additions, changes and removals
 have been made.</p>
 
 <h3 id="whole">Across the whole document</h3>
diff --git a/master/definitions.xml b/master/definitions.xml
--- a/master/definitions.xml
+++ b/master/definitions.xml
@@ -1215,17 +1215,16 @@
   <symbol name='shape-box' href='http://www.w3.org/TR/2014/WD-css-shapes-1-20140211/#typedef-shape-box'/>
   <symbol name='time' href='types.html#DataTypeTime'/>
   <symbol name='transform-list' href='types.html#DataTypeTransformList'/>
   <symbol name='iri' href='types.html#DataTypeIRI'/>
   <symbol name='url' href='types.html#DataTypeIRI'/>
   <symbol name='FuncIRI' href='types.html#DataTypeFuncIRI'/>
   <symbol name='funciri' href='types.html#DataTypeFuncIRI'/>
   <symbol name='whitespace' href='types.html#DataTypeWhitespace'/>
-  <symbol name='white space' href='types.html#DataTypeWhitespace'/>
   <symbol name='XML-Name' href="types.html#DataTypeXML-Name"/>
   
   <!-- ... terms (these will be generated later) .......................... -->
   <!-- ... elements, in alphabetic order ... -->
   <term name='animation element' href='intro.html#TermAnimationElement'/>
   <term name='animation elements' href='intro.html#TermAnimationElement'/>
   <term name='container element' href='intro.html#TermContainerElement'/>
   <term name='container elements' href='intro.html#TermContainerElement'/>
@@ -1338,16 +1337,18 @@
   <term name='user agent' href='intro.html#TermUserAgent'/>
   <term name='user agents' href='intro.html#TermUserAgent'/>
   <term name='user coordinate system' href='intro.html#TermUserCoordinateSystem'/>
   <term name='user space' href='intro.html#TermUserSpace'/>
   <term name='user units' href='intro.html#TermUserUnits'/>
   <term name='viewport' href='intro.html#TermViewport'/>
   <term name='viewport coordinate system' href='intro.html#TermViewportCoordinateSystem'/>
   <term name='viewport space' href='intro.html#TermViewportSpace'/>
+  <term name='comma-wsp' href='types.html#CommaWSP'/>
+  <term name='wsp' href='types.html#WSP'/>
 
   <!-- ... other, defined outside intro.html ... -->
   <term name='Animatable' href="animate.html#Animatable"/>
   <term name='equivalent path' href='paths.html#TermEquivalentPath'/> 
   <term name='initial coordinate system' href='coords.html#InitialCoordinateSystem'/>
   <term name='inherit' href='http://www.w3.org/TR/2008/REC-CSS2-20080411/cascade.html#value-def-inherit'/>
   <term name='object bounding box units' href='coords.html#ObjectBoundingBoxUnits'/>
   <term name='simple alpha compositing' href='masking.html#SimpleAlphaBlending'/>
diff --git a/master/paths.html b/master/paths.html
--- a/master/paths.html
+++ b/master/paths.html
@@ -881,114 +881,110 @@ description of the grammar for path data
   <li>|: separates alternatives</li>
   <li>double quotes surround literals</li>
 </ul>
 
 <p>The following is the BNF for SVG paths.</p>
 
 <pre class='grammar'>
 svg-path:
-    wsp* moveto-drawto-command-groups? wsp*
+    <a>wsp</a>* moveto-drawto-command-groups? <a>wsp</a>*
 moveto-drawto-command-groups:
     moveto-drawto-command-group
-    | moveto-drawto-command-group wsp* moveto-drawto-command-groups
+    | moveto-drawto-command-group <a>wsp</a>* moveto-drawto-command-groups
 moveto-drawto-command-group:
-    moveto wsp* drawto-commands?
+    moveto <a>wsp</a>* drawto-commands?
 drawto-commands:
     drawto-command
-    | drawto-command wsp* drawto-commands
+    | drawto-command <a>wsp</a>* drawto-commands
 drawto-command:
     closepath
     | lineto
     | horizontal-lineto
     | vertical-lineto
     | curveto
     | smooth-curveto
     | quadratic-bezier-curveto
     | smooth-quadratic-bezier-curveto
     | elliptical-arc
     | bearing
 moveto:
-    ( "M" | "m" ) wsp* moveto-argument-sequence
+    ( "M" | "m" ) <a>wsp</a>* moveto-argument-sequence
 moveto-argument-sequence:
     coordinate-pair
-    | coordinate-pair comma-wsp? lineto-argument-sequence
+    | coordinate-pair <a>comma-wsp</a>? lineto-argument-sequence
 closepath:
     ("Z" | "z")
 lineto:
-    ( "L" | "l" ) wsp* lineto-argument-sequence
+    ( "L" | "l" ) <a>wsp</a>* lineto-argument-sequence
 lineto-argument-sequence:
     coordinate-pair
-    | coordinate-pair comma-wsp? lineto-argument-sequence
+    | coordinate-pair <a>comma-wsp</a>? lineto-argument-sequence
 horizontal-lineto:
-    ( "H" | "h" ) wsp* horizontal-lineto-argument-sequence
+    ( "H" | "h" ) <a>wsp</a>* horizontal-lineto-argument-sequence
 horizontal-lineto-argument-sequence:
     coordinate
-    | coordinate comma-wsp? horizontal-lineto-argument-sequence
+    | coordinate <a>comma-wsp</a>? horizontal-lineto-argument-sequence
 vertical-lineto:
-    ( "V" | "v" ) wsp* vertical-lineto-argument-sequence
+    ( "V" | "v" ) <a>wsp</a>* vertical-lineto-argument-sequence
 vertical-lineto-argument-sequence:
     coordinate
-    | coordinate comma-wsp? vertical-lineto-argument-sequence
+    | coordinate <a>comma-wsp</a>? vertical-lineto-argument-sequence
 curveto:
-    ( "C" | "c" ) wsp* curveto-argument-sequence
+    ( "C" | "c" ) <a>wsp</a>* curveto-argument-sequence
 curveto-argument-sequence:
     curveto-argument
-    | curveto-argument comma-wsp? curveto-argument-sequence
+    | curveto-argument <a>comma-wsp</a>? curveto-argument-sequence
 curveto-argument:
-    coordinate-pair comma-wsp? coordinate-pair comma-wsp? coordinate-pair
+    coordinate-pair <a>comma-wsp</a>? coordinate-pair <a>comma-wsp</a>? coordinate-pair
 smooth-curveto:
-    ( "S" | "s" ) wsp* smooth-curveto-argument-sequence
+    ( "S" | "s" ) <a>wsp</a>* smooth-curveto-argument-sequence
 smooth-curveto-argument-sequence:
     smooth-curveto-argument
-    | smooth-curveto-argument comma-wsp? smooth-curveto-argument-sequence
+    | smooth-curveto-argument <a>comma-wsp</a>? smooth-curveto-argument-sequence
 smooth-curveto-argument:
-    coordinate-pair comma-wsp? coordinate-pair
+    coordinate-pair <a>comma-wsp</a>? coordinate-pair
 quadratic-bezier-curveto:
-    ( "Q" | "q" ) wsp* quadratic-bezier-curveto-argument-sequence
+    ( "Q" | "q" ) <a>wsp</a>* quadratic-bezier-curveto-argument-sequence
 quadratic-bezier-curveto-argument-sequence:
     quadratic-bezier-curveto-argument
-    | quadratic-bezier-curveto-argument comma-wsp? 
+    | quadratic-bezier-curveto-argument <a>comma-wsp</a>? 
         quadratic-bezier-curveto-argument-sequence
 quadratic-bezier-curveto-argument:
-    coordinate-pair comma-wsp? coordinate-pair
+    coordinate-pair <a>comma-wsp</a>? coordinate-pair
 smooth-quadratic-bezier-curveto:
-    ( "T" | "t" ) wsp* smooth-quadratic-bezier-curveto-argument-sequence
+    ( "T" | "t" ) <a>wsp</a>* smooth-quadratic-bezier-curveto-argument-sequence
 smooth-quadratic-bezier-curveto-argument-sequence:
     coordinate-pair
-    | coordinate-pair comma-wsp? smooth-quadratic-bezier-curveto-argument-sequence
+    | coordinate-pair <a>comma-wsp</a>? smooth-quadratic-bezier-curveto-argument-sequence
 elliptical-arc:
-    ( "A" | "a" ) wsp* elliptical-arc-argument-sequence
+    ( "A" | "a" ) <a>wsp</a>* elliptical-arc-argument-sequence
 elliptical-arc-argument-sequence:
     elliptical-arc-argument
-    | elliptical-arc-argument comma-wsp? elliptical-arc-argument-sequence
+    | elliptical-arc-argument <a>comma-wsp</a>? elliptical-arc-argument-sequence
 elliptical-arc-argument:
-    number comma-wsp? number comma-wsp? 
-        number comma-wsp flag comma-wsp? flag comma-wsp? coordinate-pair
+    number <a>comma-wsp</a>? number <a>comma-wsp</a>? 
+        number <a>comma-wsp</a> flag <a>comma-wsp</a>? flag <a>comma-wsp</a>? coordinate-pair
 bearing:
-    ( "B" | "b") wsp* bearing-argument-sequence
+    ( "B" | "b") <a>wsp</a>* bearing-argument-sequence
 bearing-argument-sequence:
     number
-    | number comma-wsp? bearing-argument-sequence
+    | number <a>comma-wsp</a>? bearing-argument-sequence
 coordinate-pair:
-    coordinate comma-wsp? coordinate
+    coordinate <a>comma-wsp</a>? coordinate
 coordinate:
     number
 nonnegative-number:
     integer-constant
     | floating-point-constant
 number:
     sign? integer-constant
     | sign? floating-point-constant
 flag:
     "0" | "1"
-comma-wsp:
-    (wsp+ comma? wsp*) | (comma wsp*)
-comma:
-    ","
 integer-constant:
     digit-sequence
 floating-point-constant:
     fractional-constant exponent?
     | digit-sequence exponent
 fractional-constant:
     digit-sequence? "." digit-sequence
     | digit-sequence "."
@@ -996,18 +992,16 @@ exponent:
     ( "e" | "E" ) sign? digit-sequence
 sign:
     "+" | "-"
 digit-sequence:
     digit
     | digit digit-sequence
 digit:
     "0" | "1" | "2" | "3" | "4" | "5" | "6" | "7" | "8" | "9"
-wsp:
-    (#x20 | #x9 | #xD | #xA)
 </pre>
 
 <p>The processing of the BNF must consume as much of a given
 BNF production as possible, stopping at the point when a
 character is encountered which no longer satisfies the
 production. Thus, in the string "M 100-200", the first
 coordinate for the "moveto" consumes the characters "100" and
 stops upon encountering the minus sign because the minus sign
Received on Monday, 26 May 2014 08:49:46 UTC

This archive was generated by hypermail 2.3.1 : Tuesday, 6 January 2015 21:20:19 UTC