Appendix M: Change History
Changes since the last public draft specification
-
Global and miscellaneous changes
- Changed all of the <title> elements so that the chapter names
appear first, then "W3C SVG Specification".
- Editorial work to synchronize with latest drafts of DOM2,
along with general cleanup and consolidation of write-ups on events
and editorial completion on pending changes to the animation chapter.
A table has been added to the Interactivity chapter showing the
complete list of events supported by SVG.
The following functional changes have occurred with this draft spec:
- Removal of keyboard events as these are not part of DOM2.
A future version of DOM will define keyboard events.
- The ondblclick event has been removed as it is not part of DOM2
and is redundant with the click event, which provides an indication
of the number of clicks as part of its detail argument.
- The onselect event has been removed.
- Additional of event attributes onbegin, onend and onrepeat,
which occur when an animation begins, ends or repeats.
- DOM: Changed all DOM attributes which are of type SVGAnimated**** to
readonly as these DOM attributes should never be overridden by assignment.
The baseVal attribute on the SVGAnimated**** interfaces can be overridden
by assignment, however.
-
Changes to Basic Data Types and Interfaces
- DOM: Because SVGColor is one of the CSS_CUSTOM extended interfaces,
it has been changed to extend CSSValue. This also results in SVGPaint
inheriting from CSSValue indirectly.
-
Changes to Document Structure
- In the description of URI referencing, added a note to authors that a URI
has a restricted set of legal characters and that other characters must be escaped,
and added a recommendation to implementers
similar to the recommendation in the HTML specification that user agents should process
URI attribute values to ensure that the tranmitted bytes are restricted to
the byte values acceptable in URIs.
- DOM: Fixed erroneous description of rootElement in SVGDocument. Now says that
it points to the root 'svg' element in the document hierarchy.
- DOM: Changed SVGSVGElement to extend the ViewCSS and DocumentCSS defined
in DOM2 to provide script writers with access to the computed values for an element
and to the override style sheet.
- DOM: Removed createSVGPaint() and createSVGColor since these objects
can never be directly assigned (via assignment) to any of the DOM attributes in the SVG DOM
and because they derive from CSSValue, which cannot exist outside of a document tree.
- DOM: Added createRGBColor() since the setPaint() method call needs this type of
object.
-
Changes to Coordinate Systems, Transformations and Units
- Fix errors in the list of elements that establish new viewports. The 'use', 'marker' and
'pattern' elements do not establish new viewports, but a referenced 'symbol' will.
An 'image' which references an SVG file will result in a new viewport because
the referenced content will have an 'svg' element.
- A change to the 29 June public draft specification was not listed in the change
history in that version: the BNF for the 'transform' attribute was modified
to reflect the ability to provide optional cx,cy values on a rotate specification.
- DOM: A change to the 29 June public draft specification was not listed in the change
history in that version: the setRotate() method call on the SVGTransform interface
was modified
to reflect the additional of new parameters cx and cy.
-
Changes to Text
- Many editorial cleanups and clarifications without changing the intended
effect of various elements and attributes. These miscellaneous cleanups
and clarifications often are related to internationalization issues
and updates to the descriptions for baseline alignment properties that
are being developed for both XSL and SVG.
- Updated the overview sections and the detailed descriptions of the baseline
properties to synchronize with the latest XSL drafts.
- Renamed 'baseline-identifier' to 'alignment-baseline' to synchronize with
changes to XSL.
- Introduced the concepts of "absolute position adjustments" and "text chunks",
and provided additional clarification of how absolute position adjustments
affect ligatures, 'text-anchor', bidirectionality.
- Modified terminology to be consistent with XSL. Instead of "text advance direction",
we now use the term "inline progression direction". Instead of
"reference point", we now use the term "alignment-point". Added discussions of
"reference orientation" for additional consistency with XSL.
- Clarified that character position offsets are based on the string that results
after application of the white space handling rules in SVG.
- Added a hyperlink to the XML 1.0 spec's discussion of end-of-line characters.
- Fixed error in write-up about text on a path. Previously, the spec said that
'x' and 'y' attributes on 'tspan', etc. are ignored. Now the spec says that
for horizontal text, 'x' provides a set of per-character absolute offset values,
and 'y' is ignored, whereas for vertical text, 'y' provides a set of per-character absolute
offset values, and 'x' is ignored.
- Fixed error where 'dominant-baseline' was only allowed on 'text' elements.
Now it can now be applied to any text element, not just 'text'.
- DOM: Added clarifications for how getComputedTextLength() and getSubStringLength()
so that the description matches the write-ups in the language definition for
computing text advance distances.
- DOM: Expressed more precisely how getStartPositionOfChar() and getEndPositionOfChar() work,
and made the description less ambiguous.
-
Changes to Painting: Filling, Stroking and Marker Symbols
- Increased detail in the description of how exactly markers are rendered.
No longer is a temporary viewport created.
-
Changes to Filter Effects
- DOM: Fixed error in definition of setStdDeviation() method in SVGFEGaussianBlurElement.
Previously, the method took SVGLength parameters. Now, it takes 'float' values to match
the <number> type for attribute 'stdDeviation'.
-
Changes to Interactivity
- Renamed zoom, load, unload, error, abort, resize, scroll to
SVGZoom, SVGLoad, SVGUnload, SVGError, SVGAbort, SVGResize, SVGScroll
per DOM2 feedback comments.
-
Changes to Scripting
- Renamed zoom, load, unload, error, abort, resize, scroll to
SVGZoom, SVGLoad, SVGUnload, SVGError, SVGAbort, SVGResize, SVGScroll
per DOM2 feedback comments. Added interface SVGEvent to be the
target interface for SVGLoad, SVGUnload, SVGError, SVGAbort, SVGResize and SVGScroll.
-
Changes to Animation
- Added keyPoints to DTD for 'animateMotion'. This had been documented, but
an editorial error left it out of the DTD.
- Added attributes 'min' and 'max' attributes, updated definitions of 'begin' and 'end' attributes
(primarily, just additional optional white space), added a 'media' keyword to 'dur' attribute,
and changed event names from 'begin', 'end' and 'repeat' to 'beginEvent', 'endEvent' and 'repeatEvent'
to synchronize with latest developments in the SMIL Boston
timing model draft.
- DOM: Added EventTarget to base interface SVGAnimationElement,
which is required to allow access to the begin, end and repeat events.
- DOM: Fixed error where SVGAnimateColorElement had been missing from DOM.
-
Changes to Fonts
- Added a 'd' attribute to 'glyph' to allow an option for
compact fonts that are styled just like system fonts
without the potential coordinate system problems with
arbitrary SVG in fonts.
-
Changes to Metadata
- Replaced "openinterchange.org" with "example.org" to reinforce that the
example is hypothetical.
-
Changes to Extensibility
- Added a new section that describes the extension entities in the SVG DTD.
-
Changes to SVG DTD
- Changed the URL for the SVG namespace to "http://www.w3.org/2000/svg"
to match W3C conventions and due to imminent Candidate Recommendation status.
- Changed the URL for the XLink namespace from the incorrect URL
"http://www.w3.org/2000/xlink/namespace/" to "http://www.w3.org/1999/xlink".
- Added attribute 'arcrole' to XLink entities.
- Extended the list of possible values for 'show' and 'actuate'
in XLink to match the list of values in the latest XLink spec.
- Fixed typo in DTD where altGlyphItem was spelled incorrectly.
-
Changes to SVG DOM
- DOM: Changed the names of events focusin, focusout and activate to DOMFocusIn, DOMFocusOut and DOMActivate,
respectively, to match the latest draft of DOM2.
- DOM: Changed the range module from DOM2 from required to optional for SVG.
- DOM: Changed the initial feature number for calls to hasFeature from "1" to "1.0"
for compatibility with DOM2.
-
Changes to IDL
- The new IDL reflects any DOM changes with this draft spec.
-
Changes to Java language DOM binding
- The new Java language binding reflect any DOM changes with this draft spec.
-
Changes to ECMAScript language DOM binding
- The new ECMAScript language binding reflect any DOM changes with this draft spec.
-
Changes to Internationalization Support
- Various terminology editorial cleanups per feedback from the
Internationalization working group.
-
Changes to Implementation Requirements
- Clarified and simplified the section on text selection implementation notes.
Added language to address situations where the character-to-glyph mapping
is more complex than one-to-one.
-
Changes to Conformance Criteria
- Added a clarification about when SVG user agent
is included in a user agent that supports also supports
other languages, such as XHTML and/or CSS/XSL.
The clarification is that MIME type "image/svg-xml"
must be supported wherever raster image formats are supported.
-
Changes to References
- Added a reference for ISO8601, representation of dates and times.