Errata

SVG Essentials

Errata for SVG Essentials

Submit your own errata for this product.

The errata list is a list of errors and their corrections that were found after the product was released.

The following errata were submitted by our customers and have not yet been approved or disproved by the author or editor. They solely represent the opinion of the customer.

Color Key: Serious technical mistake Minor technical mistake Language or formatting error Typo Question Note Update

Version Location Description Submitted by Date submitted
1-12
United States

I'm not sure this is wrong, and I'm reading but not testing the examples in the book so I am not reacting to something breaking. However I do think it needs to be clearer. In the section Other Basic Shapes, it says the numbers in the points attribute can be separated by spaces or commas and gives this example, which mixes them:

<polyline points="108 62, 90 10, 70 45, 50, 10, 32, 62"

If the latter entries are valid, I think some explanation and advice are warranted. For example, explaining that the numbers will be read two at a time (if that's true), and advising us to code it in a clear way because the latter examples don't scale; how can you tell whether the 50th number goes with #49 or #51? Can other punctuation such as parentheses be used?

That is what I expect from an O'Reilly book. So far I've only gotten a few pages in with this book and I find it suffers from a lack of explanation — such as the brief explanation of scale and transform in the previous section. I had to draw on a grid to understand because I couldn't picture where 140 came in.

I know some people will think I'm being lazy expecting to be spoonfed information (from a book, which is reasonable). If I had seen the grid in the book it would have been just as clear and 10x as fast.

Anonymous  Nov 10, 2014 
Printed Page 8
middle

Example 1-2, reads as follows:
<circle x="70" cy="95" r="50" style="stroke:black; fill:none">;

Error is the placement of the last ; (semi colon). It should be placed inside the
last quotation mark after the word none, instead of its placement in the book, after
the last >.

Anonymous   
Printed Page 8
Example 1-2

To get the SVG example to work in Firefox, I had to add the SVG namespace to the svg
element: xmlns="http://www.w3.org/2000/svg"

Anonymous   
Printed Page 10
First paragraph

In the creation of the mirror image of the wiskers the words do not match what is being done. It says "Example 1-5 first flips the coordinate system by multiplying the x-coordinates by negative in a scale transformation"

However the SVG element transformation is:

<use xlink.... transform="scale(-1,1) translate(-140, 0)">

A critical point not mentioned is that transform entries are applied *right to left*! So it should either say it more like "Example 1-5 first slides the drawn wiskers left 140 pixels, as if they appear off the browser. Then the scale(-1,1) is applied which flips the image around the vertical (i.e. the -1 x scale) bringing it back to the positive. So, considering the point where the whiskers come together (i.e. (75,95)):

(1) translate(-140, 0) gives (-65, 95)
(2) scale(-1,1) gives (65, 95)

Alternatively, you could go with the equivalent transformation, matching closer to your description where the flip does come first:

<use xlink.... transform="translate(140 0) scale(-1 1) ">

But then you would have to fix the subsequent incorrect explanations.

Daniel Davidson  Jan 13, 2014 
Printed Page 15
last half of page

The list of unit identifiers does not include "%" (percent)
as a legal unit even tho the std says that it is. See
http://www.w3.org/TR/2000/CR-SVG-20001102/types.html#DataTypeLength

Since the context is viewport coords, I could imagine that perhaps
percent doesnt apply here, but I could not find a more general
unit enumeration that included percent elsewhere.

The inadequate book index does not have an entry for Unit or
Unit Type or Unit Identifier or Percent so I dont know if
"percent as unit" is covered elsewhere in the book.

Anonymous   
Printed Page 16
1st section

height="150" should be height="200

And the pun at the bottom of the page: "These are set in stone, so you can take them
for granite." is even worse than one on the door at an overcrowded chemistry lab at
UC Santa Cruz that does research on mushrooms: "Not mushroom in here, too many
fungi."

Anonymous   
Printed Page 26
top line

it says <svgwidth="200px"

should be <svg width=

Anonymous   
Printed Page 39
Example 3-13

Online (Safari) version so no page number (that I've noticed).

Example 3-13 (code) lacks stroke color values so horizontal lines don't show.
Corrected code:

<line x1="10" y1="15" x2="50" y2="15"
style="stroke: black; stroke-linecap: butt; stroke-width: 15;"/>

<line x1="10" y1="45" x2="50" y2="45"
style="stroke: black; stroke-linecap: round; stroke-width: 15;"/>

<line x1="10" y1="75" x2="50" y2="75"
style="stroke: black; stroke-linecap: square; stroke-width: 15;"/>

<!-- guide lines -->
<line x1="10" y1="0" x2="10" y2="100" style="stroke: #999;"/>
<line x1="50" y1="0" x2="50" y2="100" style="stroke: #999;"/>

Anonymous   
Printed Page 40, 60

Anonymous   
Printed Page 62
middle of the page

Under Figure 5-6, second line under <g id="group1", reads as follows: <line x1="10"
y1="10 x1="30". The second x1 in that series should be x2="30" not x1.

Anonymous   
Printed Page 64
Figure 5-9

The diagram shows the new coordinate system is translated to (30, 30) instead of (30,
20) as specified by the translate(30, 20) transformation.

Anonymous   
Printed Page 67-68
all 67; top 68

Fig_0514.svg (downloaded from site) does not function as promised (Figure 5-14, pg
68, transformed Cartesian coordinates). Instead it functions like Figure 5-13 on
page 67.

Anonymous   
Printed Page 76
value/action sectioin, ist line

in the value/action section, the 1st sentence: action/Move pen to (40,50),should read

Anonymous   
Printed Page 85
2nd line in convert_from_svg function

The $phi in the second "my" line should be $pi. $phi has already been declared and
initialized on the previous line, and $pi is not declared anywhere.

Anonymous   
Printed Page 87
last sentence of the last paragraph

It mentions the car manufacturer "R?nault" which despite its french-sounding name
does not exist :) The one you want is Renault (ie without the accent).

Anonymous   
Printed Page 97
last line

markerWidth="6" and markerHeight="10"
should be:
markerWidth="4" and markerHeight="8"

Anonymous   
Printed Page 128
1st paragraph, 2nd sentence

reads as: underlying viewer softcare can displaying...
should read can "display "

Anonymous   
Printed Page 153
last 3rd of page

programming error
reads as follows: style="filter: url(#glow); fill: #003333; font-size: 18;>

this is missing a final "(quotation) mark at the end of 18; ">

Anonymous   
Printed Page 156
Example

In the SVG recommendation 1.0 http://www.w3.org/TR/2001/REC-SVG-
20010904/DTD/svg10.dtd the order of color components in <feComponentTransfer> is
important (extract) :

<!ELEMENT feComponentTransfer (feFuncR?, feFuncG?, feFuncB?, feFuncA?)>

In examples 10-5 and 10-6 this order is not respected and prevent examples to be
valided upon the recommendation DTD 1.0
NB : Adobe SVG Viewer doesn't care about this order too, so it draws these examples
correctly!

Anonymous   
Printed Page 168
all of page

The path #curve cannot be used as a tile object in either example 10.9 or 10.10. The
diffuse filter in 10.9 does not work.

Anonymous   
Printed Page 175
Example 10-13

The <feConvoleMatrix> element has two required attributes : "KernelMatrix" and
"order". The "order" attribut is missing.

<filter id="emboss">
<feConvolveMatrix kernelMatrix="
1 0 0
0 0 0
0 0 -1"/>
</filter>

should be :

<filter id="emboss">
<feConvolveMatrix order="3" kernelMatrix="
1 0 0
0 0 0
0 0 -1"/>
</filter>

(Example 2-4 (online)) Example 2-4 and figure 2.4;
The picture of the house example is show as x="10", but the matching diagram
suggests it starts at something more like 5. The whole image in the grid appears to
be shifted 5 "user units" to the left.

Anonymous   
Printed Page 196
1st line in Example 11-18

The MIME type text/ecmascript is obsolete and should be application/ecmascript
according to RFC 4329

Anonymous   
Printed Page 196
1st line in enlarge_circle() and shrink_circle() functions

The code "var circle = evt.getTarget();" does not work in Firefox or Opera. The code
"var circle = evt.target;" works


Anonymous   
Printed Page 197
Callout 8

Callout 8 refers to changing the color. However, the example changes the radius of
the circle, not the color.

Anonymous   
Printed Page 198
1st line in setScale() function

The line "obj = svgDocument.getElementById..." does not work. In Firefox and Opera,
something like "obj = evt.target.ownerDocument.getElementById..." works instead.

Anonymous   
Printed Page 205
1st line in Interacting with an HTML page section

The <DEFANGED_embed> element is nonstandard. The standard <DEFANGED_object> element
should be used instead.

Anonymous   
Printed Page 245
code snippet at the middle of the page

xmlns:xlink="http://www.w3.org/1999/xlink" is missing from the xsl:stylesheet node.
This makes the xlink:href at the code (in the example file too) to fail.

Anonymous   
Printed Page 285
last sentence of Other Character Encodings section

"...if it is possible for you to use alternate encodings" should be
"...if it is possible for you to use alternative encodings."

Anonymous   
Printed Page 285
last sentence of Other Character Encodings section

"...if it is possible for you to use alternate encodings" should be
"...if it is possible for you to use alternative encodings."

Anonymous  Jul 18, 2008 
Printed Page 311
last two paragraphs

All three occurrences of "cross product" should be "dot product".

Anonymous