W3C

SVG 1.0 Recommendation Errata

This version:
http://www.w3.org/2001/09/REC-SVG-20010904-errata
Last modified:
$Date: 2002/11/15 09:46:31 $
This document records known errors in the document:
http://www.w3.org/TR/2001/REC-SVG-20010904/
The latest version of the SVG 1.0 specification is at:
http://www.w3.org/TR/SVG/

Comments on this specification may be sent to www-svg@w3.org - (public archives).

Known errors

Section 1.2

In section 1.3, the SVG 1.0 specification says the public identifier for SVG 1.0 documents is:

"-//W3C//DTD SVG 1.0//EN"

whereas the SVG examples within the specification use the following public identifier:

"-//W3C//DTD SVG 20010904//EN"

At the time of publication, those two identifiers mean exactly the same thing. This might not always be the case in the future, and thus, a choice is offered. The former is recommended for content targeting the 1.0 specification, including a possible republishing as a "second edition". (Note: at this time, there are no plans for publishing a second edition of the SVG 1.0 specification.) The latter is recommended for content explicitly targeting the 20010904 version of the SVG 1.0 specification. Implementations which support the SVG 1.0 Recommendation of 20010904 must accept both public identifiers.

Section 1.3

In section 1.3, the SVG 1.0 specification says the system identifier for SVG 1.0 documents is:

"http://www.w3.org/TR/2001/REC-SVG-20010904/DTD/svg10.dtd"

This is the same as:

"http://www.w3.org/TR/SVG/DTD/svg10.dtd"

The DTD may also be saved locally or placed on web servers, and thus the actual URL of the DTD may vary. This form svg10.dtd refers to the current form of the SVG 1.0 DTD, including any eratta. On the W3C website, the following system identifier

"http://www.w3.org/TR/2001/REC-SVG-20010904/DTD/svg-20010904.dtd"

or

"http://www.w3.org/TR/SVG/DTD/svg-20010904.dtd"

will always refer to the exact DTD on 2001-September-04.

At the time of publication, those two identifiers meant exactly the same thing. This might not always be the case in the future, and thus, a choice is offered.

4.3 Basic DOM interfaces

Interface SVGExternalResourcesRequired

Change the associated description of the attribute 'externalResourcesRequired'.

Attributes

readonly SVGAnimatedBoolean externalResourcesRequired

Corresponds to attribute externalResourcesRequired on the given element. Note that the SVG DOM defines attribute externalResourcesRequired as being of type SVGAnimatedBoolean, whereas the SVG language definition says that externalResourcesRequired is not animated. Because the SVG language definition states that externalResourcesRequired cannot be animated, the animVal will always be the same as the baseVal.

5.1.2 The 'svg' element

During publication of the 2001-September-04 Recommendation, one line was accidentally omitted from the attribute list for the svg element. The following line should be added to the ATTLIST declaration for svg:

xmlns:xlink CDATA #FIXED "http://www.w3.org/1999/xlink"

As a result, The current DTD fragment for the svg element is:

<!ATTLIST svg
	xmlns CDATA #FIXED "http://www.w3.org/2000/svg"
        xmlns:xlink CDATA #FIXED "http://www.w3.org/1999/xlink"
	%stdAttrs; 
	%testAttrs; 
	%langSpaceAttrs; 
	externalResourcesRequired %Boolean; #IMPLIED
	class %ClassList; #IMPLIED
	style %StyleSheet; #IMPLIED
	%PresentationAttributes-All; 
	viewBox %ViewBoxSpec; #IMPLIED
	preserveAspectRatio %PreserveAspectRatioSpec; "xMidYMid meet"
	zoomAndPan (disable | magnify) "magnify"
	%graphicsElementEvents; 
	%documentEvents; 
	version %Number; #FIXED "1.0"
	x %Coordinate; #IMPLIED
	y %Coordinate; #IMPLIED
	width %Length; #IMPLIED
	height %Length; #IMPLIED
	contentScriptType %ContentType; "text/ecmascript"
	contentStyleType %ContentType; "text/css">

The 'includes errata' DTD on the W3C site has also been updated to include the above fragment:

"http://www.w3.org/TR/SVG/DTD/svg10.dtd"

In consequence, content which is transitioned from the earlier Working Drafts and Candidate Recommendation DTDs will continue to validate correctly. Local copies of the svg10.dtd should be updated to reflect this change.

In addition, for historical record, a copy of the DTD incorporating this errata has been placed at the dated location:

"http://www.w3.org/TR/SVG/DTD/svg-20021115.dtd"

5.6 The 'use' element

Under the section "Attribute definitions", change the description of the width and height attributes to:

width = "<length>"

The width of the rectangular region into which the referenced element is placed. A negative value is an error (see Error processing). A value of zero disables rendering of the element.

Animatable: yes.

height = "<length>"

The height of the rectangular region into which the referenced element is placed. A negative value is an error (see Error processing). A value of zero disables rendering of the element.

Animatable: yes.

5.7 The 'image' element

Change the first sentence of the 3rd paragraph about raster images:

"When an 'image' element references a raster image file such as PNG or JPEG files, then the raster image is fitted into the region specified by the x, y, width and height attribute."

to:

"When an 'image' element references a raster image file such as PNG or JPEG, then the 'image' element establishes a new viewport for the raster image as described in Establishing a new viewport. The 'image' element has also an implicit 'viewBox' of [0, 0, raster-image-width, raster-image-height] where 'raster-image-width' and 'raster-image-height' are respectively the actual width and height of the raster image. The raster image is fitted into the region specified by the x, y, width and height attribute (see establishing a new viewport)."

11.4 Stroke Properties

In the 'stroke-miterlimit' property description, change the 'stroke-linewidth' property to 'stroke-width'.

13.2.4 Gradient stops

Change the 'Value' list entry of the 'stop-opacity' property to: <opacity-value> | inherit

14.5 Object and group opacity: the 'opacity' property

Change the 'Value' list entry of the 'opacity' property to: <opacity-value> | inherit

Change the name of the section <alphavalue> to: <opacity-value>.

15.10 Filter primitive 'feColorMatrix'

In section "Example feColorMatrix shows examples of the four types of feColorMatrix operations."

Change:

<feColorMatrix type="saturate" in="SourceGraphic" values="40%"/>

to:

<feColorMatrix type="saturate" in="SourceGraphic" values="0.4"/>

15.16 Filter primitive 'feFlood'

Change the 'Value' list entry of the 'flood-opacity' property to: <opacity-value> | inherit

15.18 Filter primitive 'feImage'

15.25 DOM interfaces

Interface SVGFEConvolveMatrixElement

Change the IDL definition and the associated description of the attribute 'kernelUnitLength'.

readonly attribute SVGAnimatedNumber kernelUnitLengthX
readonly attribute SVGAnimatedNumber kernelUnitLengthY

Attributes

readonly SVGAnimatedNumber kernelUnitLengthX
Corresponds to attribute kernelUnitLength on the given 'feConvolveMatrix' element.
readonly SVGAnimatedNumber kernelUnitLengthY
Corresponds to attribute kernelUnitLength on the given 'feConvolveMatrix' element.

Interface SVGFEDiffuseLigthingElement

The IDL definition and the description of the attribute 'kernelUnitLength' is missing. In consequence, the two following attributes must be added to the SVGFEDiffuseLigthingElement interface.

readonly attribute SVGAnimatedNumber kernelUnitLengthX
readonly attribute SVGAnimatedNumber kernelUnitLengthY

Attributes

readonly SVGAnimatedNumber kernelUnitLengthX
Corresponds to attribute kernelUnitLength on the given 'feDiffuseLighting' element.
readonly SVGAnimatedNumber kernelUnitLengthY
Corresponds to attribute kernelUnitLength on the given 'feDiffuseLighting' element.

Interface SVGFEMorphologyElement

Change the IDL definition and the associated description of the attribute 'radius'.

readonly attribute SVGAnimatedNumber radiusX
readonly attribute SVGAnimatedNumber radiusY

Attributes

readonly SVGAnimatedNumber radiusX
Corresponds to attribute radius on the given 'feMorphology' element.
readonly SVGAnimatedNumber radiusY
Corresponds to attribute radius on the given 'feMorphology' element.

19.2.6 Attributes to control the timing of the animation

Under the list item offset-value ::= ( S? "+" | "-" S? )? ( Clock-value )

B.5 Relationship with DOM2 events

Appendix N: Property Index

Change the value <alphavalue> of the properties 'flood-opacity', 'opacity' and 'stop-opacity' to: <opacity-value>

Clarifications

5.6 The 'use' element

Under the paragraph:

"If event attributes are assigned to referenced elements, then the actual target for the event will be the SVGElementInstance object within the "instance tree" corresponding to the given referenced element."

Add the following clarification:

"The event handling for the non-exposed tree works as if the referenced element had been textually included as a deeply cloned child of the 'use' element, except that events are dispatched to the SVGElementInstance objects and event target and currentTarget attributes are set to the SVGElementInstance corresponding to the target and current target elements in the referenced subtree. An event propagates through the exposed and non-exposed portions of the tree in the same manner as it would in the regular document tree: first going from the root element to the use element and then through non-exposed tree elements in the capture phase following by the target phase at the target of the event and then bubbling back through non-exposed tree to the use element and then back through regular tree to the root element in bubbling phase."
"An element and all its corresponding SVGElementInstance objects share event listener list. A currentTarget attribute of the event can be used to determine through which object an event listener was invoked."

5.7 The 'image' element

Add the following paragraph after the 4th paragraph:

"Note that when an <image> element references an SVG image, the processing rules described in the previous paragraph mean that the preserveAspectRatio attribute as well as the clip and overflow properties on the root element in the referenced SVG image are ignored (like the x, y, width and height attributes are ignored)."
"Instead, the preserveAspectRatio attribute on the referencing <image> element defines how the SVG image content is fitted into the viewport and the clip and overflow properties on the <image> element define how the SVG image content is clipped (or not) relative to the viewport."

5.8.1 Conditional processing overview

Similar to the 'display' property, conditional processing attributes only affect the direct rendering of a given element, whereas it does not prevent elements from being referenced by other elements.

In consequence:

6.7 Styling with CSS

Second list, add to the first item:

"Because SVG is intended to be used as one component in a multiple namespace XML application and CSS2 is not namespace aware, type selectors will only match against the local part of the element's qualified name."

10.9.1 Text alignment properties

Add this note at the end of the section:

"There is specification ambiguity and inconsistent implementation concerning 'text-anchor' in the particular case where you have multiple 'x' values and fewer 'y' values (or vice versa). Thus, it is recommended that SVG 1.0 content developers provide balanced 'x' and 'y' attribute settings because such an approach avoids the specification ambiguity and is more likely to achieve similar results across different implementations.
Future versions of SVG are likely to remove the ambiguity.

15.11 Filter primitive 'feComponentTransfer'

Under the section "Attribute definitions", change the description of the 'tableValues' attribute to:

tableValues = "(list of <number>s)"

When type="table" or type="discrete", the list of <number>s v0,v1,...vn, separated by white space and/or a comma, which define the lookup table. An empty list results in an identity transfer function. If the attribute is not specified, then the effect is as if an empty list were provided.

Animatable: yes.

16.2 Complete list of supported events

Change the description (contained in the second column) of the events SVGScroll, SVGResize and SVGZoom to:

SVGResize
Occurs when a document view is being resized. This event is only applicable to outermost 'svg' elements and is dispatched after the resize operation has taken place. The target of the event is the 'svg' element.
SVGZoom
Occurs when the zoom level of a document view is being changed, either through a direct user interaction or any change to the 'currentScale' property available on SVGSVGElement interface. This event is only applicable to outermost 'svg' elements and is dispatched after the zoom level modification has taken place. The target of the event is the 'svg' element.
SVGScroll
Occurs when a document view is being shifted along the X or Y or both axis, either through a direct user interaction or any change on the 'currentTranslate' property available on SVGSVGElement interface. This event is only applicable to outermost 'svg' elements and is dispatched after the shift modification has taken place. The target of the event is the 'svg' element.

B.5 Relationship with DOM2 events

Add this note after the event type list, after the first paragraph:

"Implementors may view the setting of event attributes as the creation and registration of an EventListener on the EventTarget. The value of useCapture defaults to 'false'. This EventListener behaves in the same manner as any other EventListeners which may be registered on the EventTarget."
"If the attribute representing the event listener is changed, this may be viewed as the removal of the previously registered EventListener and the registration of a new one. Furthermore, no specification is made as to the order in which event attributes will receive the event with regards to the other EventListeners on the EventTarget."

Appendix D: Java Language Binding

Remove the 'abstract' modifier on the SVGException class.


Dean Jackson
Thierry Kormann
Chris Lilley