The ElementTimeControl interface, part of the org.w3c.dom.smil module and defined in SMIL Animation: Supported interfaces, defines common methods for elements which define animation behaviors compatible with SMIL Animation.

Calling beginElement causes the animation to begin in the same way that an animation with event-based begin timing begins. The effective begin time is the current presentation time at the time of the DOM method call. Note that beginElement is subject to the 'set/restart' attribute in the same manner that event-based begin timing is. If an animation is specified to disallow restarting at a given point, beginElement methods calls must fail. Refer also to the section Restarting animation.

Calling beginElementAt has the same behavior as beginElement, except that the effective begin time is offset from the current presentation time by an amount specified as a parameter. Passing a negative value for the offset causes the element to begin as for beginElement, but has the effect that the element begins at the specified offset into its active duration. The beginElementAt method must also respect the 'set/restart' attribute. The restart semantics for a beginElementAt method call are evaluated at the time of the method call, and not at the effective begin time specified by the offset parameter.

Calling endElement causes an animation to end the active duration, just as 'animate/end' does. Depending upon the value of the 'animate/fill' attribute, the animation effect may no longer be applied, or it may be frozen at the current effect. Refer also to the section Freezing animations. If an animation is not currently active (i.e. if it has not yet begun or if it is frozen), the endElement method will fail.

Calling endElementAt causes an animation to end the active duration, just as endElement does, but allows the caller to specify a positive offset, to cause the element to end at a point in the future. Other than delaying when the end actually happens, the semantics are identical to those for endElement. If endElementAt is called more than once while an element is active, the end time specified by the last method call will determine the end behavior.

XXX [Description of these interface members to be filled in when merging the errata.] XXX XXX XXX XXX XXX XXX XXX XXX XXX XXX XXX XXX XXX

The TimeEvent interface, defined in SMIL Animation: Supported interfaces, provides specific contextual information associated with Time events.

The different types of events that can occur are:

beginEvent
This event is raised when the element local timeline begins to play. It will be raised each time the element begins the active duration (i.e. when it restarts, but not when it repeats). It may be raised both in the course of normal (i.e. scheduled or interactive) timeline play, as well as in the case that the element was begun with the ElementTimeControl::beginElement or ElementTimeControl::beginElementAt methods. Note that if an element is restarted while it is currently playing, the element will raise an end event and another begin event, as the element restarts.
  • Bubbles: No
  • Cancelable: No
  • Context Info: None
endEvent
This event is raised at the active end of the element. Note that this event is not raised at the simple end of each repeat. This event may be raised both in the course of normal (i.e. scheduled or interactive) timeline play, as well as in the case that the element was ended with the ElementTimeControl::endElement or ElementTimeControl::endElementAt methods. Note that if an element is restarted while it is currently playing, the element will raise an end event and another begin event, as the element restarts.
  • Bubbles: No
  • Cancelable: No
  • Context Info: None
repeatEvent
This event is raised when an element local timeline repeats. It will be raised each time the element repeats, after the first iteration.
The event provides a numerical indication of which repeat iteration is beginning. The value is a 0-based integer, but the repeat event is not raised for the first iteration and so the observed values of the detail attribute will be >= 1.
  • Bubbles: No
  • Cancelable: No
  • Context Info: detail (current iteration)
The view attribute identifies the AbstractView [DOM2VIEWS] from which the event was generated. Specifies some detail information about the Event, depending on the type of the event. For this event type, indicates the repeat number for the animation. The initTimeEvent method is used to initialize the value of a TimeEvent created through the DocumentEvent interface. This method may only be called before the TimeEvent has been dispatched via the dispatchEvent method, though it may be called multiple times during that phase if necessary. If called multiple times, the final invocation takes precedence. Specifies the event type. Specifies the Event's AbstractView. Specifies the Event's detail.
This exception is raised when a specific SVG operation is impossible to perform. A code identifying the reason why the requested operation could not be performed. The value of this member will be one of the constants in the SVGException code group. Raised when an object of the wrong type is passed to an operation. Raised when an invalid value is passed to an operation or assigned to an attribute.

Raised when an attempt is made to invert a matrix that is not invertible.

Note the unusual spelling of this constant, which is necessary for compatibility with existing content.

All of the SVG DOM interfaces that correspond directly to elements in the SVG language (such as the SVGPathElement interface for the 'path' element) derive from the SVGElement interface. The value of the 'id' attribute on the given element. Raised on an attempt to change the value of a readonly attribute. Corresponds to attribute 'xml:base' on the given element. Raised on an attempt to change the value of a readonly attribute. The nearest ancestor 'svg' element. Null if the given element is the outermost 'svg' element. The element which established the current viewport. Often, the nearest ancestor 'svg' element. Null if the given element is the outermost 'svg' element. Used for attributes of type boolean which can be animated. The base value of the given attribute before applying any animations. Raised on an attempt to change the value of a readonly attribute. If the given attribute or property is being animated, contains the current animated value of the attribute or property. If the given attribute or property is not currently being animated, contains the same value as baseVal. Used for attributes of type DOMString which can be animated. The base value of the given attribute before applying any animations. Raised on an attempt to change the value of a readonly attribute. If the given attribute or property is being animated, contains the current animated value of the attribute or property. If the given attribute or property is not currently being animated, contains the same value as baseVal.

This interface defines a list of DOMString values.

SVGStringList has the same attributes and methods as other SVGxxxList interfaces. Implementers may consider using a single base class to implement the various SVGxxxList interfaces.

The number of items in the list. Clears all existing current items from the list, with the result being an empty list. Raised when the list cannot be modified. Clears all existing current items from the list and re-initializes the list to hold the single item specified by the parameter. The item being inserted into the list. Raised when the list cannot be modified. Raised if parameter newItem is the wrong type of object for the given list. The item which should become the only member of the list. Returns the specified item from the list. The selected item. Raised if the index number is negative or greater than or equal to numberOfItems. The index of the item from the list which is to be returned. The first item is number 0. Inserts a new item into the list at the specified position. The first item is number 0. If newItem is already in a list, it is removed from its previous list before it is inserted into this list. The inserted item. Raised when the list cannot be modified. Raised if parameter newItem is the wrong type of object for the given list. The item which is to be inserted into the list. The index of the item before which the new item is to be inserted. The first item is number 0. If the index is equal to 0, then the new item is inserted at the front of the list. If the index is greater than or equal to numberOfItems, then the new item is appended to the end of the list. Replaces an existing item in the list with a new item. If newItem is already in a list, it is removed from its previous list before it is inserted into this list. The inserted item. Raised when the list cannot be modified. Raised if the index number is negative or greater than or equal to numberOfItems. Raised if parameter newItem is the wrong type of object for the given list. The item which is to be inserted into the list. The index of the item which is to be replaced. The first item is number 0. Removes an existing item from the list. The removed item. Raised when the list cannot be modified. Raised if the index number is negative or greater than or equal to numberOfItems. The index of the item which is to be removed. The first item is number 0. Inserts a new item at the end of the list. If newItem is already in a list, it is removed from its previous list before it is inserted into this list. The inserted item. Raised when the list cannot be modified. Raised if parameter newItem is the wrong type of object for the given list. The item which is to be inserted. The first item is number 0.
Used for attributes whose value must be a constant from a particular enumeration and which can be animated. The base value of the given attribute before applying any animations. Raised on an attempt to change the value of a readonly attribute. If the given attribute or property is being animated, contains the current animated value of the attribute or property. If the given attribute or property is not currently being animated, contains the same value as baseVal. Used for attributes of basic type <integer> which can be animated. The base value of the given attribute before applying any animations. Raised on an attempt to change the value of a readonly attribute. If the given attribute or property is being animated, contains the current animated value of the attribute or property. If the given attribute or property is not currently being animated, contains the same value as baseVal. Used for attributes of basic type <number>. The value of the given attribute. Raised on an attempt to change the value of a readonly attribute. Used for attributes of basic type <number> which can be animated. The base value of the given attribute before applying any animations. Raised on an attempt to change the value of a readonly attribute. If the given attribute or property is being animated, contains the current animated value of the attribute or property. If the given attribute or property is not currently being animated, contains the same value as baseVal.

This interface defines a list of SVGNumber objects.

SVGNumberList has the same attributes and methods as other SVGxxxList interfaces. Implementers may consider using a single base class to implement the various SVGxxxList interfaces.

The number of items in the list. Clears all existing current items from the list, with the result being an empty list. Raised when the list cannot be modified. Clears all existing current items from the list and re-initializes the list to hold the single item specified by the parameter. The item being inserted into the list. Raised when the list cannot be modified. Raised if parameter newItem is the wrong type of object for the given list. The item which should become the only member of the list. Returns the specified item from the list. The selected item. Raised if the index number is negative or greater than or equal to numberOfItems. The index of the item from the list which is to be returned. The first item is number 0. Inserts a new item into the list at the specified position. The first item is number 0. If newItem is already in a list, it is removed from its previous list before it is inserted into this list. The inserted item. Raised when the list cannot be modified. Raised if parameter newItem is the wrong type of object for the given list. The item which is to be inserted into the list. The index of the item before which the new item is to be inserted. The first item is number 0. If the index is equal to 0, then the new item is inserted at the front of the list. If the index is greater than or equal to numberOfItems, then the new item is appended to the end of the list. Replaces an existing item in the list with a new item. If newItem is already in a list, it is removed from its previous list before it is inserted into this list. The inserted item. Raised when the list cannot be modified. Raised if the index number is negative or greater than or equal to numberOfItems. Raised if parameter newItem is the wrong type of object for the given list. The item which is to be inserted into the list. The index of the item which is to be replaced. The first item is number 0. Removes an existing item from the list. The removed item. Raised when the list cannot be modified. Raised if the index number is negative or greater than or equal to numberOfItems. The index of the item which is to be removed. The first item is number 0. Inserts a new item at the end of the list. If newItem is already in a list, it is removed from its previous list before it is inserted into this list. The inserted item. Raised when the list cannot be modified. Raised if parameter newItem is the wrong type of object for the given list. The item which is to be inserted. The first item is number 0.
Used for attributes which take a list of numbers and which can be animated. The base value of the given attribute before applying any animations. If the given attribute or property is being animated, then this attribute contains the current animated value of the attribute or property, and both the object itself and its contents are readonly. If the given attribute or property is not currently being animated, then this attribute contains the same value as baseVal. The SVGLength interface corresponds to the <length> basic data type. The unit type is not one of predefined unit types. It is invalid to attempt to define a new value of this type or to attempt to switch an existing value to this type. No unit type was provided (i.e., a unitless value was specified), which indicates a value in user units. A percentage value was specified. A value was specified using the em units defined in CSS 2. A value was specified using the ex units defined in CSS 2. A value was specified using the px units defined in CSS 2. A value was specified using the cm units defined in CSS 2. A value was specified using the mm units defined in CSS 2. A value was specified using the in units defined in CSS 2. A value was specified using the pt units defined in CSS 2. A value was specified using the pc units defined in CSS 2. The type of the value as specified by one of the SVG_LENGTHTYPE_* constants defined on this interface. The value as an floating point value, in user units. Setting this attribute will cause valueInSpecifiedUnits and valueAsString to be updated automatically to reflect this setting. Raised when the list cannot be modified. The value as an floating point value, in the units expressed by unitType. Setting this attribute will cause value and valueAsString to be updated automatically to reflect this setting. Raised when the list cannot be modified. The value as a string value, in the units expressed by unitType. Setting this attribute will cause value and valueInSpecifiedUnits to be updated automatically to reflect this setting. Raised when the list cannot be modified. Reset the value as a number with an associated unitType, thereby replacing the values for all of the attributes on the object. The unit type for the value (e.g., SVG_LENGTHTYPE_MM). The new value. Preserve the same underlying stored value, but reset the stored unit identifier to the given unitType. Object attributes unitType, valueInSpecifiedUnits and valueAsString might be modified as a result of this method. For example, if the original value were "0.5cm" and the method was invoked to convert to millimeters, then the unitType would be changed to SVG_LENGTHTYPE_MM, valueInSpecifiedUnits would be changed to the numeric value 5 and valueAsString would be changed to "5mm". The unit type to switch to (e.g., SVG_LENGTHTYPE_MM). Used for attributes of basic type <length> which can be animated. The base value of the given attribute before applying any animations. If the given attribute or property is being animated, contains the current animated value of the attribute or property, and both the object itself and its contents are readonly. If the given attribute or property is not currently being animated, contains the same value as baseVal.

This interface defines a list of SVGLength objects.

SVGLengthList has the same attributes and methods as other SVGxxxList interfaces. Implementers may consider using a single base class to implement the various SVGxxxList interfaces.

The number of items in the list. Clears all existing current items from the list, with the result being an empty list. Raised when the list cannot be modified. Clears all existing current items from the list and re-initializes the list to hold the single item specified by the parameter. The item being inserted into the list. Raised when the list cannot be modified. Raised if parameter newItem is the wrong type of object for the given list. The item which should become the only member of the list. Returns the specified item from the list. The selected item. Raised if the index number is negative or greater than or equal to numberOfItems. The index of the item from the list which is to be returned. The first item is number 0. Inserts a new item into the list at the specified position. The first item is number 0. If newItem is already in a list, it is removed from its previous list before it is inserted into this list. The inserted item. Raised when the list cannot be modified. Raised if parameter newItem is the wrong type of object for the given list. The item which is to be inserted into the list. The index of the item before which the new item is to be inserted. The first item is number 0. If the index is equal to 0, then the new item is inserted at the front of the list. If the index is greater than or equal to numberOfItems, then the new item is appended to the end of the list. Replaces an existing item in the list with a new item. If newItem is already in a list, it is removed from its previous list before it is inserted into this list. The inserted item. Raised when the list cannot be modified. Raised if the index number is negative or greater than or equal to numberOfItems. Raised if parameter newItem is the wrong type of object for the given list. The item which is to be inserted into the list. The index of the item which is to be replaced. The first item is number 0. Removes an existing item from the list. The removed item. Raised when the list cannot be modified. Raised if the index number is negative or greater than or equal to numberOfItems. The index of the item which is to be removed. The first item is number 0. Inserts a new item at the end of the list. If newItem is already in a list, it is removed from its previous list before it is inserted into this list. The inserted item. Raised when the list cannot be modified. Raised if parameter newItem is the wrong type of object for the given list. The item which is to be inserted. The first item is number 0.
Used for attributes of type SVGLengthList which can be animated. The base value of the given attribute before applying any animations. If the given attribute or property is being animated, contains the current animated value of the attribute or property, and both the object itself and its contents are readonly. If the given attribute or property is not currently being animated, contains the same value as baseVal. The SVGAngle interface corresponds to the <angle> basic data type. The unit type is not one of predefined unit types. It is invalid to attempt to define a new value of this type or to attempt to switch an existing value to this type. No unit type was provided (i.e., a unitless value was specified). For angles, a unitless value is treated the same as if degrees were specified. The unit type was explicitly set to degrees. The unit type is radians. The unit type is radians. The type of the value as specified by one of the SVG_ANGLETYPE_* constants defined on this interface. The angle value as a floating point value, in degrees. Setting this attribute will cause valueInSpecifiedUnits and valueAsString to be updated automatically to reflect this setting. Raised when the list cannot be modified. The angle value as a floating point value, in the units expressed by unitType. Setting this attribute will cause value and valueAsString to be updated automatically to reflect this setting. Raised when the list cannot be modified. The angle value as a string value, in the units expressed by unitType. Setting this attribute will cause value and valueInSpecifiedUnits to be updated automatically to reflect this setting. Raised when the list cannot be modified. Reset the value as a number with an associated unitType, thereby replacing the values for all of the attributes on the object. The unit type for the value (e.g., SVG_ANGLETYPE_DEG). The angle value. Preserve the same underlying stored value, but reset the stored unit identifier to the given unitType. Object attributes unitType, valueInSpecifiedUnits and valueAsString might be modified as a result of this method. The unit type to switch to (e.g., SVG_ANGLETYPE_DEG). Used for attributes of basic data type <angle> that can be animated. The base value of the given attribute before applying any animations. If the given attribute or property is being animated, contains the current animated value of the attribute or property, and both the object itself and its contents are readonly. If the given attribute or property is not currently being animated, contains the same value as baseVal.

The SVGColor interface corresponds to color value definition for properties 'stop-color', 'flood-color' and 'lighting-color' and is a base class for interface SVGPaint. It incorporates SVG's extended notion of color, which incorporates ICC-based color specifications.

Interface SVGColor does not correspond to the <color> basic data type. For the <color> basic data type, the applicable DOM interfaces are defined in DOM Level 2 Style; in particular, see the RGBColor interface ([DOM2STYLE], section 2.2).

The color type is not one of predefined types. It is invalid to attempt to define a new value of this type or to attempt to switch an existing value to this type. An sRGB color has been specified without an alternative ICC color specification. An sRGB color has been specified along with an alternative ICC color specification. Corresponds to when keyword currentColor has been specified. The type of the value as specified by one of the SVG_COLORTYPE_* constants defined on this interface. The color specified in the sRGB color space. The alternate ICC color specification. Modifies the color value to be the specified sRGB color without an alternate ICC color specification. Raised if rgbColor does not match <color>. A string that matches <color>, which specifies the new sRGB color value. Modifies the color value to be the specified sRGB color with an alternate ICC color specification. Raised if rgbColor does not match <color> or if iccColor does not match XXX need icc-color grammar symbol A string that matches <color>, which specifies the new sRGB color value. A string that matches XXX need icc-color grammar symbol, which specifies the alternate ICC color specification. Sets the color value as specified by the parameters. If colorType requires an RGBColor, then rgbColor must be a string that matches <color>; otherwise, rgbColor. must be null. If colorType requires an SVGICCColor, then iccColor must be a string that matches XXX need icc-color grammar symbol; otherwise, iccColor must be null. Raised if one of the parameters has an invalid value. One of the defined constants for colorType. The specification of an sRGB color, or null. The specification of an ICC color, or null.
The SVGICCColor interface expresses an ICC-based color specification. The name of the color profile, which is the first parameter of an ICC color specification. Raised on an attempt to change the value of a readonly attribute. The list of color values that define this ICC color. Each color value is an arbitrary floating point number. Rectangles are defined as consisting of a (x,y) coordinate pair identifying a minimum X value, a minimum Y value, and a width and height, which are usually constrained to be non-negative. Corresponds to attribute x on the given element. Raised on an attempt to change the value of a readonly attribute. Corresponds to attribute y on the given element. Raised on an attempt to change the value of a readonly attribute. Corresponds to attribute width on the given element. Raised on an attempt to change the value of a readonly attribute. Corresponds to attribute height on the given element. Raised on an attempt to change the value of a readonly attribute. Used for attributes of type SVGRect which can be animated. The base value of the given attribute before applying any animations. If the given attribute or property is being animated, contains the current animated value of the attribute or property, and both the object itself and its contents are readonly. If the given attribute or property is not currently being animated, contains the same value as baseVal. The SVGUnitTypes interface defines a commonly used set of constants and is a base interface used by SVGGradientElement, SVGPatternElement, SVGClipPathElement, SVGMaskElement and SVGFilterElement. The type is not one of predefined types. It is invalid to attempt to define a new value of this type or to attempt to switch an existing value to this type. Corresponds to value 'userSpaceOnUse'. Corresponds to value 'objectBoundingBox'. The SVGStylable interface is implemented on all objects corresponding to SVG elements that can have 'style attribute', 'class' and presentation attributes specified on them. It is thus an ancestor interface for many of the interfaces defined in this specification. Corresponds to attribute 'class' on the given element. Corresponds to attribute 'style attribute' on the given element. If the user agent does not support styling with CSS, then this attribute must always have the value of null. Returns the base (i.e., static) value of a given presentation attribute as an object of type CSSValue. The returned object is live; changes to the objects represent immediate changes to the objects to which the CSSValue is attached. The static/base value of the given presentation attribute as a CSSValue, or null if the given attribute does not have a specified value. The name of the presentation attribute whose value is to be returned. Interface SVGLocatable is for all elements which either have a 'transform' attribute or don't have a 'transform' attribute but whose content can have a bounding box in current user space. The element which established the current viewport. Often, the nearest ancestor 'svg' element. Null if the current element is the outermost 'svg' element. The farthest ancestor 'svg' element. Null if the current element is the outermost 'svg' element. Returns the tight bounding box in current user space (i.e., after application of the 'transform' attribute, if any) on the geometry of all contained graphics elements, exclusive of stroking and filter effects). An SVGRect object that defines the bounding box. Returns the transformation matrix from current user units (i.e., after application of the 'transform' attribute, if any) to the viewport coordinate system for the nearestViewportElement. An SVGMatrix object that defines the CTM. Returns the transformation matrix from current user units (i.e., after application of the 'transform' attribute, if any) to the parent user agent's notice of a "pixel". For display devices, ideally this represents a physical screen pixel. For other devices or environments where physical pixel sizes are not known, then an algorithm similar to the CSS 2 definition of a "pixel" can be used instead. An SVGMatrix object that defines the given transformation matrix. Returns the transformation matrix from the user coordinate system on the current element (after application of the 'transform' attribute, if any) to the user coordinate system on parameter element (after application of its 'transform' attribute, if any). An SVGMatrix object that defines the transformation. Raised if the currently defined transformation matrices make it impossible to compute the given matrix (e.g., because one of the transformations is singular). The target element. Interface SVGTransformable contains properties and methods that apply to all elements which have attribute 'transform'. Corresponds to attribute 'transform' on the given element. Interface SVGTests defines an interface which applies to all elements which have attributes 'requiredFeatures', 'requiredExtensions' and 'systemLanguage'. Corresponds to attribute 'requiredFeatures' on the given element. Corresponds to attribute 'requiredExtensions' on the given element. Corresponds to attribute 'systemLanguage' on the given element. Returns true if the user agent supports the given extension, specified by a URI. True or false, depending on whether the given extension is supported. The name of the extension, expressed as a URI. Interface SVGLangSpace defines an interface which applies to all elements which have attributes 'xml:lang' and 'xml:space'. Corresponds to attribute 'xml:lang' on the given element. Raised on an attempt to change the value of a readonly attribute. Corresponds to attribute 'xml:space' on the given element. Raised on an attempt to change the value of a readonly attribute. Interface SVGExternalResourcesRequired defines an interface which applies to all elements where this element or one of its descendants can reference an external resource. Corresponds to attribute 'externalResourcesRequired' on the given element. Note that the SVG DOM defines the 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 SVGAnimatedBoolean::animVal will always be the same as the SVGAnimatedBoolean::baseVal. Interface SVGFitToViewBox defines DOM attributes that apply to elements which have XML attributes 'viewBox' and 'preserveAspectRatio'. Corresponds to attribute 'viewBox' on the given element. Corresponds to attribute 'preserveAspectRatio' on the given element. The SVGZoomAndPan interface defines attribute zoomAndPan and associated constants. The enumeration was set to a value that is not one of predefined types. It is invalid to attempt to define a new value of this type or to attempt to switch an existing value to this type. Corresponds to value 'disable'. Corresponds to value 'magnify'. Corresponds to attribute 'zoomAndPan' on the given element. The value must be one of the SVG_ZOOMANDPAN_* constants defined on this interface. Raised on an attempt to change the value of a readonly attribute. The interface corresponds to an SVG View Specification. Corresponds to the transform setting on the SVG View Specification. Corresponds to the viewTarget setting on the SVG View Specification. Corresponds to the viewBox setting on the SVG View Specification. Corresponds to the preserveAspectRatio setting on the SVG View Specification. Corresponds to the transform setting on the SVG View Specification. Corresponds to the viewTarget setting on the SVG View Specification. Interface SVGURIReference defines an interface which applies to all elements which have the collection of XLink attributes, such as 'xlink:href', which define a URI reference. Corresponds to attribute 'xlink:href' on the given element.

SVG extends interface CSSRule with interface SVGCSSRule by adding an SVGColorProfileRule rule to allow for specification of ICC-based color.

It is likely that this extension will become part of a future version of CSS and DOM.

The rule is an @color-profile.
The SVGRenderingIntent interface defines the enumerated list of possible values for 'color-profile/rendering-intent' attributes or descriptors. The type is not one of predefined types. It is invalid to attempt to define a new value of this type or to attempt to switch an existing value to this type. Corresponds to a value of 'auto'. Corresponds to a value of 'perceptual'. Corresponds to a value of 'relative-colorimetric'. Corresponds to a value of 'saturation'. Corresponds to a value of 'absolute-colorimetric'.

When an 'svg' element is embedded inline as a component of a document from another namespace, such as when an 'svg' element is embedded inline within an XHTML document [XHTML], then an SVGDocument object will not exist; instead, the root object in the document object hierarchy will be a Document object of a different type, such as an HTMLDocument object.

However, an SVGDocument object will indeed exist when the root element of the XML document hierarchy is an 'svg' element, such as when viewing a stand-alone SVG file (i.e., a file with MIME type "image/svg+xml"). In this case, the SVGDocument object will be the root object of the document object model hierarchy.

In the case where an SVG document is embedded by reference, such as when an XHTML document has an 'object' element whose 'href' attribute references an SVG document (i.e., a document whose MIME type is "image/svg+xml" and whose root element is thus an 'svg' element), there will exist two distinct DOM hierarchies. The first DOM hierarchy will be for the referencing document (e.g., an XHTML document). The second DOM hierarchy will be for the referenced SVG document. In this second DOM hierarchy, the root object of the document object model hierarchy is an SVGDocument object.

The SVGDocument interface contains a similar list of attributes and methods to the HTMLDocument interface described in the Document Object Model (HTML) Level 1 chapter of the [DOM1] specification.

The title of a document as specified by the 'title' sub-element of the 'svg' root element (i.e., <svg><title>Here is the title</title>...</svg>) Returns the URI of the page that linked to this page. The value is an empty string if the user navigated to the page directly (not through a link, but, for example, via a bookmark). The domain name of the server that served the document, or a null string if the server cannot be identified by a domain name. The complete URI of the document. The root 'svg' in the document hierarchy.

A key interface definition is the SVGSVGElement interface, which is the interface that corresponds to the 'svg' element. This interface contains various miscellaneous commonly-used utility methods, such as matrix operations and the ability to control the time of redraw on visual rendering devices.

SVGSVGElement extends ViewCSS and DocumentCSS to provide access to the computed values of properties and the override style sheet as described in DOM Level 2 Style [DOM2STYLE].

Corresponds to attribute 'x' on the given 'svg' element. Corresponds to attribute 'y' on the given 'svg' element. Corresponds to attribute 'width' on the given 'svg' element. Corresponds to attribute 'height' on the given 'svg' element. Corresponds to attribute 'contentScriptType' on the given 'svg' element. Raised on an attempt to change the value of a readonly attribute. Corresponds to attribute 'contentStyleType' on the given 'svg' element. Raised on an attempt to change the value of a readonly attribute.

The position and size of the viewport (implicit or explicit) that corresponds to this 'svg' element. When the user agent is actually rendering the content, then the position and size values represent the actual values when rendering. The position and size values are unitless values in the coordinate system of the parent element. If no parent element exists (i.e., 'svg' element represents the root of the document tree), if this SVG document is embedded as part of another document (e.g., via the HTML 'object' element), then the position and size are unitless values in the coordinate system of the parent document. (If the parent uses CSS or XSL layout, then unitless values represent pixel units for the current CSS or XSL viewport, as described in the CSS 2 specification.) If the parent element does not have a coordinate system, then the user agent should provide reasonable default values for this attribute.

The object itself and its contents are both readonly.

Size of a pixel units (as defined by CSS 2) along the x-axis of the viewport, which represents a unit somewhere in the range of 70dpi to 120dpi, and, on systems that support this, might actually match the characteristics of the target medium. On systems where it is impossible to know the size of a pixel, a suitable default pixel size is provided. Corresponding size of a pixel unit along the y-axis of the viewport. User interface (UI) events in DOM Level 2 indicate the screen positions at which the given UI event occurred. When the user agent actually knows the physical size of a "screen unit", this attribute will express that information; otherwise, user agents will provide a suitable default value such as .28mm. Corresponding size of a screen pixel along the y-axis of the viewport. The initial view (i.e., before magnification and panning) of the current innermost SVG document fragment can be either the "standard" view (i.e., based on attributes on the 'svg' element such as 'viewBox') or to a "custom" view (i.e., a hyperlink into a particular 'view' or other element - see Linking into SVG content: URI fragments and SVG views). If the initial view is the "standard" view, then this attribute is false. If the initial view is a "custom" view, then this attribute is true. Raised on an attempt to change the value of a readonly attribute.

The definition of the initial view (i.e., before magnification and panning) of the current innermost SVG document fragment. The meaning depends on the situation:

The object itself and its contents are both readonly.

This attribute indicates the current scale factor relative to the initial view to take into account user magnification and panning operations, as described under Magnification and panning. DOM attributes currentScale and currentTranslate are equivalent to the 2x3 matrix [a b c d e f] = [currentScale 0 0 currentScale currentTranslate.x currentTranslate.y]. If "magnification" is enabled (i.e., zoomAndPan="magnify"), then the effect is as if an extra transformation were placed at the outermost level on the SVG document fragment (i.e., outside the outermost 'svg' element). Raised on an attempt to change the value of a readonly attribute. The corresponding translation factor that takes into account user "magnification". Takes a time-out value which indicates that redraw shall not occur until: (a) the corresponding unsuspendRedraw(suspend_handle_id) call has been made, (b) an unsuspendRedrawAll() call has been made, or (c) its timer has timed out. In environments that do not support interactivity (e.g., print media), then redraw shall not be suspended. suspend_handle_id = suspendRedraw(max_wait_milliseconds) and unsuspendRedraw(suspend_handle_id) must be packaged as balanced pairs. When you want to suspend redraw actions as a collection of SVG DOM changes occur, then precede the changes to the SVG DOM with a method call similar to suspend_handle_id = suspendRedraw(max_wait_milliseconds) and follow the changes with a method call similar to unsuspendRedraw(suspend_handle_id). Note that multiple suspendRedraw calls can be used at once and that each such method call is treated independently of the other suspendRedraw method calls. A number which acts as a unique identifier for the given suspendRedraw() call. This value must be passed as the parameter to the corresponding unsuspendRedraw() method call. The amount of time in milliseconds to hold off before redrawing the device. Values greater than 60 seconds will be truncated down to 60 seconds. Cancels a specified suspendRedraw() by providing a unique suspend_handle_id. This method will raise a DOMException with value NOT_FOUND_ERR if an invalid value (i.e., no such suspend_handle_id is active) for suspend_handle_id is provided. A number which acts as a unique identifier for the desired suspendRedraw() call. The number supplied must be a value returned from a previous call to suspendRedraw() Cancels all currently active suspendRedraw() method calls. This method is most useful at the very end of a set of SVG DOM calls to ensure that all pending suspendRedraw() method calls have been cancelled. In rendering environments supporting interactivity, forces the user agent to immediately redraw all regions of the viewport that require updating. Suspends (i.e., pauses) all currently running animations that are defined within the SVG document fragment corresponding to this 'svg' element, causing the animation clock corresponding to this document fragment to stand still until it is unpaused. Unsuspends (i.e., unpauses) currently running animations that are defined within the SVG document fragment, causing the animation clock to continue from the time at which it was suspended. Returns true if this SVG document fragment is in a paused state. Boolean indicating whether this SVG document fragment is in a paused state. Returns the current time in seconds relative to the start time for the current SVG document fragment. The current time in seconds. Adjusts the clock for this SVG document fragment, establishing a new current time. The new current time in seconds relative to the start time for the current SVG document fragment. Returns the list of graphics elements whose rendered content intersects the supplied rectangle, honoring the 'pointer-events' property value on each candidate graphics element. A list of Elements whose content intersects the supplied rectangle. The test rectangle. The values are in the initial coordinate system for the current 'svg' element. If not null, then only return elements whose drawing order has them below the given reference element. Returns the list of graphics elements whose rendered content is entirely contained within the supplied rectangle, honoring the 'pointer-events' property value on each candidate graphics element. A list of Elements whose content is enclosed by the supplied rectangle. The test rectangle. The values are in the initial coordinate system for the current 'svg' element. If not null, then only return elements whose drawing order has them below the given reference element. Returns true if the rendered content of the given element intersects the supplied rectangle, honoring the 'pointer-events' property value on each candidate graphics element. True or false, depending on whether the given element intersects the supplied rectangle. The element on which to perform the given test. The test rectangle. The values are in the initial coordinate system for the current 'svg' element. Returns true if the rendered content of the given element is entirely contained within the supplied rectangle, honoring the 'pointer-events' property value on each candidate graphics element. True or false, depending on whether the given element is enclosed by the supplied rectangle. The element on which to perform the given test. The test rectangle. The values are in the initial coordinate system for the current 'svg' element. Unselects any selected objects, including any selections of text strings and type-in bars. Creates an SVGNumber object outside of any document trees. The object is initialized to a value of zero. An SVGNumber object. Creates an SVGLength object outside of any document trees. The object is initialized to the value of 0 user units. An SVGLength object. Creates an SVGAngle object outside of any document trees. The object is initialized to the value 0 degrees (unitless). An SVGAngle object. Creates an SVGPoint object outside of any document trees. The object is initialized to the point (0,0) in the user coordinate system. An SVGPoint object. Creates an SVGMatrix object outside of any document trees. The object is initialized to the identity matrix. An SVGMatrix object. Creates an SVGRect object outside of any document trees. The object is initialized such that all values are set to 0 user units. An SVGRect object. Creates an SVGTransform object outside of any document trees. The object is initialized to an identity matrix transform (SVG_TRANSFORM_MATRIX). An SVGTransform object. Creates an SVGTransform object outside of any document trees. The object is initialized to the given matrix transform (i.e., SVG_TRANSFORM_MATRIX). An SVGTransform object. The transform matrix. Searches this SVG document fragment (i.e., the search is restricted to a subset of the document tree) for an Element whose id is given by elementId. If an Element is found, that Element is returned. If no such element exists, returns null. Behavior is not defined if more than one element has this id. The matching element. The unique id value for an element.
The SVGSVGElement interface corresponds to the 'g' element. The SVGDefsElement interface corresponds to the 'defs' element. The SVGDescElement interface corresponds to the 'desc' element. The SVGTitleElement interface corresponds to the 'title' element. The SVGSymbolElement interface corresponds to the 'symbol' element. The SVGUseElement interface corresponds to the 'use' element. Corresponds to attribute 'x' on the given 'use' element. Corresponds to attribute 'y' on the given 'use' element. Corresponds to attribute 'width' on the given 'use' element. Corresponds to attribute 'height' on the given 'use' element. The root of the "instance tree". See description of SVGElementInstance for a discussion on the instance tree. If the 'xlink:href' attribute is being animated, contains the current animated root of the "instance tree". If the 'xlink:href' attribute is not currently being animated, contains the same value as instanceRoot. See description of SVGElementInstance for a discussion on the instance tree.

For each 'use' element, the SVG DOM maintains a shadow tree (the "instance tree") of objects of type SVGElementInstance. An SVGElementInstance represents a single node in the instance tree. The root object in the instance tree is pointed to by the SVGUseElement::instanceRoot attribute on the SVGUseElement object for the corresponding 'use' element.

If the 'use' element references a simple graphics element such as a 'rect', then there is only a single SVGElementInstance object, and the correspondingElement attribute on this SVGElementInstance object is the SVGRectElement that corresponds to the referenced 'rect' element.

If the 'use' element references a 'g' which contains two 'rect' elements, then the instance tree contains three SVGElementInstance objects, a root SVGElementInstance object whose correspondingElement is the SVGGElement object for the 'g', and then two child SVGElementInstance objects, each of which has its correspondingElement that is an SVGRectElement object.

If the referenced object is itself a 'use', or if there are 'use' subelements within the referenced object, the instance tree will contain recursive expansion of the indirect references to form a complete tree. For example, if a 'use' element references a 'g', and the 'g' itself contains a 'use', and that 'use' references a 'rect', then the instance tree for the original (outermost) 'use' will consist of a hierarchy of SVGElementInstance objects, as follows:

SVGElementInstance #1 (parentNode=null, firstChild=#2, correspondingElement is the 'g')
  SVGElementInstance #2 (parentNode=#1, firstChild=#3, correspondingElement is the other 'use')
    SVGElementInstance #3 (parentNode=#2, firstChild=null, correspondingElement is the 'rect')
The corresponding element to which this object is an instance. For example, if a 'use' element references a 'rect' element, then an SVGElementInstance is created, with its correspondingElement being the SVGElementInstance object for the 'rect' element. The corresponding 'use' element to which this SVGElementInstance object belongs. When 'use' elements are nested (e.g., a 'use' references another 'use' which references a graphics element such as a 'rect'), then the correspondingUseElement is the outermost 'use' (i.e., the one which indirectly references the 'rect', not the one with the direct reference). The parent of this SVGElementInstance within the instance tree. All SVGElementInstance objects have a parent except the SVGElementInstance which corresponds to the element which was directly referenced by the 'use' element, in which case parentNode is null. An SVGElementInstanceList that contains all children of this SVGElementInstance within the instance tree. If there are no children, this is an SVGElementInstanceList containing no entries (i.e., an empty list). The first child of this SVGElementInstance within the instance tree. If there is no such SVGElementInstance, this returns null. The last child of this SVGElementInstance within the instance tree. If there is no such SVGElementInstance, this returns null. The SVGElementInstance immediately preceding this SVGElementInstance. If there is no such SVGElementInstance, this returns null. The SVGElementInstance immediately following this SVGElementInstance. If there is no such SVGElementInstance, this returns null.
The SVGElementInstanceList interface provides the abstraction of an ordered collection of SVGElementInstance objects, without defining or constraining how this collection is implemented. The number of SVGElementInstance objects in the list. The range of valid child indices is 0 to length−1 inclusive. Returns the indexth item in the collection. If index is greater than or equal to the number of nodes in the list, this returns null. The SVGElementInstance object at the indexth position in the SVGElementInstanceList, or null if that is not a valid index. Index into the collection. The SVGImageElement interface corresponds to the 'image' element. Corresponds to attribute 'x' on the given 'image' element. Corresponds to attribute 'y' on the given 'image' element. Corresponds to attribute 'width' on the given 'image' element. Corresponds to attribute 'height' on the given 'image' element. Corresponds to attribute 'preserveAspectRatio' on the given 'image' element. The SVGSwitchElement interface corresponds to the 'switch' element. In the case where an SVG document is embedded by reference, such as when an XHTML document has an 'object' element whose 'href' (or equivalent) attribute references an SVG document (i.e., a document whose MIME type is "image/svg+xml" and whose root element is thus an 'svg' element), the SVG user agent is required to implement the GetSVGDocument interface for the element which references the SVG document (e.g., the HTML 'object' or comparable referencing elements). Returns the SVGDocument object for the referenced SVG document. The SVGDocument object for the referenced SVG document. No SVGDocument object is available. The SVGStyleElement interface corresponds to the 'style element' element. Corresponds to attribute 'xml:space' on the given element. Raised on an attempt to change the value of a readonly attribute. Corresponds to attribute 'type' on the given element. Raised on an attempt to change the value of a readonly attribute. Corresponds to attribute 'media' on the given element. Raised on an attempt to change the value of a readonly attribute. Corresponds to attribute 'title attribute' on the given element. Raised on an attempt to change the value of a readonly attribute.

Many of the SVG DOM interfaces refer to objects of class SVGPoint. An SVGPoint is an (x, y) coordinate pair. When used in matrix operations, an SVGPoint is treated as a vector of the form:

[x]
[y]
[1]
The x coordinate. Raised on an attempt to change the value of a readonly attribute. The y coordinate. Raised on an attempt to change the value of a readonly attribute.

Applies a 2x3 matrix transformation on this SVGPoint object and returns a new, transformed SVGPoint object:

newpoint = matrix * thispoint
A new SVGPoint object. The matrix which is to be applied to this SVGPoint object.

This interface defines a list of SVGPoint objects.

SVGPointList has the same attributes and methods as other SVGxxxList interfaces. Implementers may consider using a single base class to implement the various SVGxxxList interfaces.

The number of items in the list. Clears all existing current items from the list, with the result being an empty list. Raised when the list cannot be modified. Clears all existing current items from the list and re-initializes the list to hold the single item specified by the parameter. The item being inserted into the list. Raised when the list cannot be modified. Raised if parameter newItem is the wrong type of object for the given list. The item which should become the only member of the list. Returns the specified item from the list. The selected item. Raised if the index number is negative or greater than or equal to numberOfItems. The index of the item from the list which is to be returned. The first item is number 0. Inserts a new item into the list at the specified position. The first item is number 0. If newItem is already in a list, it is removed from its previous list before it is inserted into this list. The inserted item. Raised when the list cannot be modified. Raised if parameter newItem is the wrong type of object for the given list. The item which is to be inserted into the list. The index of the item before which the new item is to be inserted. The first item is number 0. If the index is equal to 0, then the new item is inserted at the front of the list. If the index is greater than or equal to numberOfItems, then the new item is appended to the end of the list. Replaces an existing item in the list with a new item. If newItem is already in a list, it is removed from its previous list before it is inserted into this list. The inserted item. Raised when the list cannot be modified. Raised if the index number is negative or greater than or equal to numberOfItems. Raised if parameter newItem is the wrong type of object for the given list. The item which is to be inserted into the list. The index of the item which is to be replaced. The first item is number 0. Removes an existing item from the list. The removed item. Raised when the list cannot be modified. Raised if the index number is negative or greater than or equal to numberOfItems. The index of the item which is to be removed. The first item is number 0. Inserts a new item at the end of the list. If newItem is already in a list, it is removed from its previous list before it is inserted into this list. The inserted item. Raised when the list cannot be modified. Raised if parameter newItem is the wrong type of object for the given list. The item which is to be inserted. The first item is number 0.

Many of SVG's graphics operations utilize 2x3 matrices of the form:

[a c e]
[b d f]

which, when expanded into a 3x3 matrix for the purposes of matrix arithmetic, become:

[a c e]
[b d f]
[0 0 1]
The a component of the matrix. Raised on an attempt to change the value of a readonly attribute. The b component of the matrix. Raised on an attempt to change the value of a readonly attribute. The c component of the matrix. Raised on an attempt to change the value of a readonly attribute. The d component of the matrix. Raised on an attempt to change the value of a readonly attribute. The e component of the matrix. Raised on an attempt to change the value of a readonly attribute. The f component of the matrix. Raised on an attempt to change the value of a readonly attribute. Performs matrix multiplication. This matrix is post-multiplied by another matrix, returning the resulting new matrix. The resulting matrix. The matrix which is post-multiplied to this matrix. Returns the inverse matrix. The inverse matrix. Raised if this matrix is not invertable. Post-multiplies a translation transformation on the current matrix and returns the resulting matrix. The resulting matrix. The distance to translate along the x-axis. The distance to translate along the y-axis. Post-multiplies a uniform scale transformation on the current matrix and returns the resulting matrix. The resulting matrix. Scale factor in both X and Y. Post-multiplies a non-uniform scale transformation on the current matrix and returns the resulting matrix. The resulting matrix. Scale factor in X. Scale factor in Y. Post-multiplies a rotation transformation on the current matrix and returns the resulting matrix. The resulting matrix. Rotation angle. Post-multiplies a rotation transformation on the current matrix and returns the resulting matrix. The rotation angle is determined by taking (+/-) atan(y/x). The direction of the vector (x, y) determines whether the positive or negative angle value is used. The resulting matrix. Raised if one of the parameters has an invalid value. The X coordinate of the vector (x,y). Must not be zero. The Y coordinate of the vector (x,y). Must not be zero. Post-multiplies the transformation [-1 0 0 1 0 0] and returns the resulting matrix. The resulting matrix. Post-multiplies the transformation [1 0 0 -1 0 0] and returns the resulting matrix. The resulting matrix. Post-multiplies a skewX transformation on the current matrix and returns the resulting matrix. The resulting matrix. Skew angle. Post-multiplies a skewY transformation on the current matrix and returns the resulting matrix. The resulting matrix. Skew angle.
SVGTransform is the interface for one of the component transformations within an SVGTransformList; thus, an SVGTransform object corresponds to a single component (e.g., 'scale(…)' or 'matrix(…)') within a 'transform' attribute specification. The unit type is not one of predefined types. It is invalid to attempt to define a new value of this type or to attempt to switch an existing value to this type. A 'matrix(…)' transformation. A 'translate(…)' transformation. A 'scale(…)' transformation. A 'rotate(…)' transformation. A 'skewX(…)' transformation. A 'skewY(…)' transformation. The type of the value as specified by one of the SVG_TRANSFORM_* constants defined on this interface.

The matrix that represents this transformation:

A convenience attribute for SVG_TRANSFORM_ROTATE, SVG_TRANSFORM_SKEWX and SVG_TRANSFORM_SKEWY. It holds the angle that was specified.

For SVG_TRANSFORM_MATRIX, SVG_TRANSFORM_TRANSLATE and SVG_TRANSFORM_SCALE, angle will be zero.

Sets the transform type to SVG_TRANSFORM_MATRIX, with parameter matrix defining the new transformation. The new matrix for the transformation. Sets the transform type to SVG_TRANSFORM_TRANSLATE, with parameters tx and ty defining the translation amounts. The translation amount in X. The translation amount in Y. Sets the transform type to SVG_TRANSFORM_SCALE, with parameters sx and sy defining the scale amounts. The scale amount in X. The scale amount in Y. Sets the transform type to SVG_TRANSFORM_ROTATE, with parameter angle defining the rotation angle and parameters cx and cy defining the optional center of rotation. The rotation angle. The x coordinate of center of rotation. The y coordinate of center of rotation. Sets the transform type to SVG_TRANSFORM_SKEWX, with parameter angle defining the amount of skew. The skew angle. Sets the transform type to SVG_TRANSFORM_SKEWY, with parameter angle defining the amount of skew. The skew angle.

This interface defines a list of SVGTransform objects.

The SVGTransformList and SVGTransform interfaces correspond to the various attributes which specify a set of transformations, such as the 'transform' attribute which is available for many of SVG's elements.

SVGTransformList has the same attributes and methods as other SVGxxxList interfaces. Implementers may consider using a single base class to implement the various SVGxxxList interfaces.

The number of items in the list. Clears all existing current items from the list, with the result being an empty list. Raised when the list cannot be modified. Clears all existing current items from the list and re-initializes the list to hold the single item specified by the parameter. The item being inserted into the list. Raised when the list cannot be modified. Raised if parameter newItem is the wrong type of object for the given list. The item which should become the only member of the list. Returns the specified item from the list. The selected item. Raised if the index number is negative or greater than or equal to numberOfItems. The index of the item from the list which is to be returned. The first item is number 0. Inserts a new item into the list at the specified position. The first item is number 0. If newItem is already in a list, it is removed from its previous list before it is inserted into this list. The inserted item. Raised when the list cannot be modified. Raised if parameter newItem is the wrong type of object for the given list. The item which is to be inserted into the list. The index of the item before which the new item is to be inserted. The first item is number 0. If the index is equal to 0, then the new item is inserted at the front of the list. If the index is greater than or equal to numberOfItems, then the new item is appended to the end of the list. Replaces an existing item in the list with a new item. If newItem is already in a list, it is removed from its previous list before it is inserted into this list. The inserted item. Raised when the list cannot be modified. Raised if the index number is negative or greater than or equal to numberOfItems. Raised if parameter newItem is the wrong type of object for the given list. The item which is to be inserted into the list. The index of the item which is to be replaced. The first item is number 0. Removes an existing item from the list. The removed item. Raised when the list cannot be modified. Raised if the index number is negative or greater than or equal to numberOfItems. The index of the item which is to be removed. The first item is number 0. Inserts a new item at the end of the list. If newItem is already in a list, it is removed from its previous list before it is inserted into this list. The inserted item. Raised when the list cannot be modified. Raised if parameter newItem is the wrong type of object for the given list. The item which is to be inserted. The first item is number 0. Creates an SVGTransform object which is initialized to transform of type SVG_TRANSFORM_MATRIX and whose values are the given matrix. The returned SVGTransform object. The matrix which defines the transformation. Consolidates the list of separate SVGTransform objects by multiplying the equivalent transformation matrices together to result in a list consisting of a single SVGTransform object of type SVG_TRANSFORM_MATRIX. The resulting SVGTransform object which becomes single item in the list. If the list was empty, then a value of null is returned.
Used for the various attributes which specify a set of transformations, such as the 'transform' attribute which is available for many of SVG's elements, and which can be animated. The base value of the given attribute before applying any animations. If the given attribute or property is being animated, contains the current animated value of the attribute or property, and both the object itself and its contents are readonly. If the given attribute or property is not currently being animated, contains the same value as baseVal. The SVGPreserveAspectRatio interface corresponds to the 'preserveAspectRatio' attribute, which is available for some of SVG's elements. The enumeration was set to a value that is not one of predefined types. It is invalid to attempt to define a new value of this type or to attempt to switch an existing value to this type. Corresponds to value 'none' for attribute 'preserveAspectRatio'. Corresponds to value 'xMinYMin' for attribute 'preserveAspectRatio'. Corresponds to value 'xMidYMin' for attribute 'preserveAspectRatio'. Corresponds to value 'xMaxYMin' for attribute 'preserveAspectRatio'. Corresponds to value 'XMinYMid' for attribute 'preserveAspectRatio'. Corresponds to value 'xMidYMid' for attribute 'preserveAspectRatio'. Corresponds to value 'xMaxYMid' for attribute 'preserveAspectRatio'. Corresponds to value 'xMinYMax' for attribute 'preserveAspectRatio'. Corresponds to value 'xMidYMax' for attribute 'preserveAspectRatio'. Corresponds to value 'xMaxYMax' for attribute 'preserveAspectRatio'. The enumeration was set to a value that is not one of predefined types. It is invalid to attempt to define a new value of this type or to attempt to switch an existing value to this type. Corresponds to value 'meet' for attribute 'preserveAspectRatio'. Corresponds to value 'slice' for attribute 'preserveAspectRatio'. The type of the alignment value as specified by one of the SVG_PRESERVEASPECTRATIO_* constants defined on this interface. Raised on an attempt to change the value of a readonly attribute. The type of the meet-or-slice value as specified by one of the SVG_MEETORSLICE_* constants defined on this interface. Raised on an attempt to change the value of a readonly attribute. Used for attributes of type SVGPreserveAspectRatio which can be animated. The base value of the given attribute before applying any animations. If the given attribute or property is being animated, contains the current animated value of the attribute or property, and both the object itself and its contents are readonly. If the given attribute or property is not currently being animated, contains the same value as baseVal. The SVGPathSeg interface is a base interface that corresponds to a single command within a path data specification. The unit type is not one of predefined types. It is invalid to attempt to define a new value of this type or to attempt to switch an existing value to this type. Corresponds to a "closepath" (z) path data command. Corresponds to a "absolute moveto" (M) path data command. Corresponds to a "relative moveto" (m) path data command. Corresponds to a "absolute lineto" (L) path data command. Corresponds to a "relative lineto" (l) path data command. Corresponds to a "absolute cubic Bézier curveto" (C) path data command. Corresponds to a "relative cubic Bézier curveto" (c) path data command. Corresponds to a "absolute quadratic Bézier curveto" (Q) path data command. Corresponds to a "relative quadratic Bézier curveto" (q) path data command. Corresponds to a "absolute arcto" (A) path data command. Corresponds to a "relative arcto" (a) path data command. Corresponds to a "absolute horizontal lineto" (H) path data command. Corresponds to a "relative horizontal lineto" (h) path data command. Corresponds to a "absolute vertical lineto" (V) path data command. Corresponds to a "relative vertical lineto" (v) path data command. Corresponds to a "absolute smooth cubic curveto" (S) path data command. Corresponds to a "relative smooth cubic curveto" (s) path data command. Corresponds to a "absolute smooth quadratic curveto" (T) path data command. Corresponds to a "relative smooth quadratic curveto" (t) path data command. The type of the path segment as specified by one of the constants defined on this interface. The type of the path segment, specified by the corresponding one character command name. The SVGPathSegClosePath interface corresponds to a "closepath" (z) path data command. The SVGPathSegMovetoAbs interface corresponds to an "absolute moveto" (M) path data command. The absolute X coordinate for the end point of this path segment. Raised on an attempt to change the value of a readonly attribute. The absolute Y coordinate for the end point of this path segment. Raised on an attempt to change the value of a readonly attribute. The SVGPathSegMovetoRel interface corresponds to a "relative moveto" (m) path data command. The relative X coordinate for the end point of this path segment. Raised on an attempt to change the value of a readonly attribute. The relative Y coordinate for the end point of this path segment. Raised on an attempt to change the value of a readonly attribute. The SVGPathSegLinetoAbs interface corresponds to an "absolute lineto" (L) path data command. The absolute X coordinate for the end point of this path segment. Raised on an attempt to change the value of a readonly attribute. The absolute Y coordinate for the end point of this path segment. Raised on an attempt to change the value of a readonly attribute. The SVGPathSegLinetoRel interface corresponds to a "relative lineto" (l) path data command. The relative X coordinate for the end point of this path segment. Raised on an attempt to change the value of a readonly attribute. The relative Y coordinate for the end point of this path segment. Raised on an attempt to change the value of a readonly attribute. The SVGPathSegCurvetoCubicAbs interface corresponds to an "absolute cubic Bézier curveto" (C) path data command. The absolute X coordinate for the end point of this path segment. Raised on an attempt to change the value of a readonly attribute. The absolute Y coordinate for the end point of this path segment. Raised on an attempt to change the value of a readonly attribute. The absolute X coordinate for the first control point. Raised on an attempt to change the value of a readonly attribute. The absolute Y coordinate for the first control point. Raised on an attempt to change the value of a readonly attribute. The absolute X coordinate for the second control point. Raised on an attempt to change the value of a readonly attribute. The absolute Y coordinate for the second control point. Raised on an attempt to change the value of a readonly attribute. The SVGPathSegCurvetoCubicRel interface corresponds to a "relative cubic Bézier curveto" (c) path data command. The relative X coordinate for the end point of this path segment. Raised on an attempt to change the value of a readonly attribute. The relative Y coordinate for the end point of this path segment. Raised on an attempt to change the value of a readonly attribute. The relative X coordinate for the first control point. Raised on an attempt to change the value of a readonly attribute. The relative Y coordinate for the first control point. Raised on an attempt to change the value of a readonly attribute. The relative X coordinate for the second control point. Raised on an attempt to change the value of a readonly attribute. The relative Y coordinate for the second control point. Raised on an attempt to change the value of a readonly attribute. The SVGPathSegCurvetoQuadraticAbs interface corresponds to an "absolute quadratic Bézier curveto" (Q) path data command. The absolute X coordinate for the end point of this path segment. Raised on an attempt to change the value of a readonly attribute. The absolute Y coordinate for the end point of this path segment. Raised on an attempt to change the value of a readonly attribute. The absolute X coordinate for the first control point. Raised on an attempt to change the value of a readonly attribute. The absolute Y coordinate for the first control point. Raised on an attempt to change the value of a readonly attribute. The SVGPathSegCurvetoQuadraticRel interface corresponds to a "relative quadratic Bézier curveto" (q) path data command. The relative X coordinate for the end point of this path segment. Raised on an attempt to change the value of a readonly attribute. The relative Y coordinate for the end point of this path segment. Raised on an attempt to change the value of a readonly attribute. The relative X coordinate for the first control point. Raised on an attempt to change the value of a readonly attribute. The relative Y coordinate for the first control point. Raised on an attempt to change the value of a readonly attribute. The SVGPathSegArcAbs interface corresponds to an "absolute arcto" (A) path data command. The absolute X coordinate for the end point of this path segment. Raised on an attempt to change the value of a readonly attribute. The absolute Y coordinate for the end point of this path segment. Raised on an attempt to change the value of a readonly attribute. The x-axis radius for the ellipse (i.e., r1). Raised on an attempt to change the value of a readonly attribute. The y-axis radius for the ellipse (i.e., r2). Raised on an attempt to change the value of a readonly attribute. The rotation angle in degrees for the ellipse's x-axis relative to the x-axis of the user coordinate system. Raised on an attempt to change the value of a readonly attribute. The value of the large-arc-flag parameter. Raised on an attempt to change the value of a readonly attribute. The value of the sweep-flag parameter. Raised on an attempt to change the value of a readonly attribute. The SVGPathSegArcRel interface corresponds to a "relative arcto" (a) path data command. The relative X coordinate for the end point of this path segment. Raised on an attempt to change the value of a readonly attribute. The relative Y coordinate for the end point of this path segment. Raised on an attempt to change the value of a readonly attribute. The x-axis radius for the ellipse (i.e., r1). Raised on an attempt to change the value of a readonly attribute. The y-axis radius for the ellipse (i.e., r2). Raised on an attempt to change the value of a readonly attribute. The rotation angle in degrees for the ellipse's x-axis relative to the x-axis of the user coordinate system. Raised on an attempt to change the value of a readonly attribute. The value of the large-arc-flag parameter. Raised on an attempt to change the value of a readonly attribute. The value of the large-arc-flag parameter. Raised on an attempt to change the value of a readonly attribute. The SVGPathSegLinetoHorizontalAbs interface corresponds to an "absolute horizontal lineto" (H) path data command. The absolute X coordinate for the end point of this path segment. Raised on an attempt to change the value of a readonly attribute. The SVGPathSegLinetoHorizontalRel interface corresponds to a "relative horizontal lineto" (h) path data command. The relative X coordinate for the end point of this path segment. Raised on an attempt to change the value of a readonly attribute. The SVGPathSegLinetoVerticalAbs interface corresponds to an "absolute vertical lineto" (V) path data command. The absolute Y coordinate for the end point of this path segment. Raised on an attempt to change the value of a readonly attribute. The SVGPathSegLinetoVerticalRel interface corresponds to a "relative vertical lineto" (v) path data command. The relative Y coordinate for the end point of this path segment. Raised on an attempt to change the value of a readonly attribute. The SVGPathSegCurvetoCubicSmoothAbs interface corresponds to an "absolute smooth cubic curveto" (S) path data command. The absolute X coordinate for the end point of this path segment. Raised on an attempt to change the value of a readonly attribute. The absolute Y coordinate for the end point of this path segment. Raised on an attempt to change the value of a readonly attribute. The absolute X coordinate for the second control point. Raised on an attempt to change the value of a readonly attribute. The absolute Y coordinate for the second control point. Raised on an attempt to change the value of a readonly attribute. The SVGPathSegCurvetoCubicSmoothRel interface corresponds to a "relative smooth cubic curveto" (s) path data command. The relative X coordinate for the end point of this path segment. Raised on an attempt to change the value of a readonly attribute. The relative Y coordinate for the end point of this path segment. Raised on an attempt to change the value of a readonly attribute. The relative X coordinate for the second control point. Raised on an attempt to change the value of a readonly attribute. The relative Y coordinate for the second control point. Raised on an attempt to change the value of a readonly attribute. The SVGPathSegCurvetoQuadraticSmoothAbs interface corresponds to an "absolute smooth cubic curveto" (T) path data command. The absolute X coordinate for the end point of this path segment. Raised on an attempt to change the value of a readonly attribute. The absolute Y coordinate for the end point of this path segment. Raised on an attempt to change the value of a readonly attribute. The SVGPathSegCurvetoQuadraticSmoothRel interface corresponds to a "relative smooth cubic curveto" (t) path data command. The relative X coordinate for the end point of this path segment. Raised on an attempt to change the value of a readonly attribute. The relative Y coordinate for the end point of this path segment. Raised on an attempt to change the value of a readonly attribute.

This interface defines a list of SVGPathSeg objects.

SVGPathSegList has the same attributes and methods as other SVGxxxList interfaces. Implementers may consider using a single base class to implement the various SVGxxxList interfaces.

The number of items in the list. Clears all existing current items from the list, with the result being an empty list. Raised when the list cannot be modified. Clears all existing current items from the list and re-initializes the list to hold the single item specified by the parameter. The item being inserted into the list. Raised when the list cannot be modified. Raised if parameter newItem is the wrong type of object for the given list. The item which should become the only member of the list. Returns the specified item from the list. The selected item. Raised if the index number is negative or greater than or equal to numberOfItems. The index of the item from the list which is to be returned. The first item is number 0. Inserts a new item into the list at the specified position. The first item is number 0. If newItem is already in a list, it is removed from its previous list before it is inserted into this list. The inserted item. Raised when the list cannot be modified. Raised if parameter newItem is the wrong type of object for the given list. The item which is to be inserted into the list. The index of the item before which the new item is to be inserted. The first item is number 0. If the index is equal to 0, then the new item is inserted at the front of the list. If the index is greater than or equal to numberOfItems, then the new item is appended to the end of the list. Replaces an existing item in the list with a new item. If newItem is already in a list, it is removed from its previous list before it is inserted into this list. The inserted item. Raised when the list cannot be modified. Raised if the index number is negative or greater than or equal to numberOfItems. Raised if parameter newItem is the wrong type of object for the given list. The item which is to be inserted into the list. The index of the item which is to be replaced. The first item is number 0. Removes an existing item from the list. The removed item. Raised when the list cannot be modified. Raised if the index number is negative or greater than or equal to numberOfItems. The index of the item which is to be removed. The first item is number 0. Inserts a new item at the end of the list. If newItem is already in a list, it is removed from its previous list before it is inserted into this list. The inserted item. Raised when the list cannot be modified. Raised if parameter newItem is the wrong type of object for the given list. The item which is to be inserted. The first item is number 0.

The SVGAnimatedPathData interface supports elements which have a 'd' attribute which holds SVG path data, and supports the ability to animate that attribute.

The SVGAnimatedPathData interface provides two lists to access and modify the base (i.e., static) contents of the 'd' attribute:

  • DOM attribute pathSegList provides access to the static/base contents of the 'd' attribute in a form which matches one-for-one with SVG's syntax.
  • DOM attribute normalizedPathSegList provides normalized access to the static/base contents of the 'd' attribute where all path data commands are expressed in terms of the following subset of SVGPathSeg types: SVG_PATHSEG_MOVETO_ABS (M), SVG_PATHSEG_LINETO_ABS (L), SVG_PATHSEG_CURVETO_CUBIC_ABS (C) and SVG_PATHSEG_CLOSEPATH (z).

and two lists to access the current animated values of the 'd' attribute:

  • DOM attribute animatedPathSegList provides access to the current animated contents of the 'd' attribute in a form which matches one-for-one with SVG's syntax.
  • DOM attribute animatedNormalizedPathSegList provides normalized access to the current animated contents of the 'd' attribute where all path data commands are expressed in terms of the following subset of SVGPathSeg types: SVG_PATHSEG_MOVETO_ABS (M), SVG_PATHSEG_LINETO_ABS (L), SVG_PATHSEG_CURVETO_CUBIC_ABS (C) and SVG_PATHSEG_CLOSEPATH (z).

Each of the two lists are always kept synchronized. Modifications to one list will immediately cause the corresponding list to be modified. Modifications to normalizedPathSegList might cause entries in pathSegList to be broken into a set of normalized path segments.

Additionally, the 'path/d' attribute on the 'path' element accessed via the XML DOM (e.g., using the getAttribute() method call) will reflect any changes made to pathSegList or normalizedPathSegList.

Provides access to the base (i.e., static) contents of the 'd' attribute in a form which matches one-for-one with SVG's syntax. Thus, if the 'd' attribute has an "absolute moveto (M)" and an "absolute arcto (A)" command, then pathSegList will have two entries: a SVG_PATHSEG_MOVETO_ABS and a SVG_PATHSEG_ARC_ABS.

Provides access to the base (i.e., static) contents of the 'd' attribute in a form where all path data commands are expressed in terms of the following subset of SVGPathSeg types: SVG_PATHSEG_MOVETO_ABS (M), SVG_PATHSEG_LINETO_ABS (L), SVG_PATHSEG_CURVETO_CUBIC_ABS (C) and SVG_PATHSEG_CLOSEPATH (z). Thus, if the 'd' attribute has an "absolute moveto (M)" and an "absolute arcto (A)" command, then pathSegList will have one SVG_PATHSEG_MOVETO_ABS entry followed by a series of SVG_PATHSEG_LINETO_ABS entries which approximate the arc. This alternate representation is available to provide a simpler interface to developers who would benefit from a more limited set of commands.

The only valid SVGPathSeg types are SVG_PATHSEG_MOVETO_ABS (M), SVG_PATHSEG_LINETO_ABS (L), SVG_PATHSEG_CURVETO_CUBIC_ABS (C) and SVG_PATHSEG_CLOSEPATH (z).

Provides access to the current animated contents of the 'd' attribute in a form which matches one-for-one with SVG's syntax. If the given attribute or property is being animated, contains the current animated value of the attribute or property, and both the object itself and its contents are readonly. If the given attribute or property is not currently being animated, contains the same value as pathSegList. Provides access to the current animated contents of the 'd' attribute in a form where all path data commands are expressed in terms of the following subset of SVGPathSeg types: SVG_PATHSEG_MOVETO_ABS (M), SVG_PATHSEG_LINETO_ABS (L), SVG_PATHSEG_CURVETO_CUBIC_ABS (C) and SVG_PATHSEG_CLOSEPATH (z). If the given attribute or property is being animated, contains the current animated value of the attribute or property, and both the object itself and its contents are readonly. If the given attribute or property is not currently being animated, contains the same value as normalizedPathSegList.
The SVGPathElement interface corresponds to the 'path' element. Corresponds to attribute pathLength on the given 'path' element. Returns the user agent's computed value for the total length of the path using the user agent's distance-along-a-path algorithm, as a distance in the current user coordinate system. The total length of the path. Returns the (x,y) coordinate in user space which is distance units along the path, utilizing the user agent's distance-along-a-path algorithm. The returned point in user space. The distance along the path, relative to the start of the path, as a distance in the current user coordinate system. Returns the index into SVGAnimatedPathData::pathSegList which is distance units along the path, utilizing the user agent's distance-along-a-path algorithm. The index of the path segment, where the first path segment is number 0. The distance along the path, relative to the start of the path, as a distance in the current user coordinate system. Returns a stand-alone, parentless SVGPathSegClosePath object. A stand-alone, parentless SVGPathSegClosePath object. Returns a stand-alone, parentless SVGPathSegMovetoAbs object. A stand-alone, parentless SVGPathSegMovetoAbs object. The absolute X coordinate for the end point of this path segment. The absolute Y coordinate for the end point of this path segment. Returns a stand-alone, parentless SVGPathSegMovetoRel object. A stand-alone, parentless SVGPathSegMovetoRel object. The relative X coordinate for the end point of this path segment. The relative Y coordinate for the end point of this path segment. Returns a stand-alone, parentless SVGPathSegLinetoAbs object. A stand-alone, parentless SVGPathSegLinetoAbs object. The absolute X coordinate for the end point of this path segment. The absolute Y coordinate for the end point of this path segment. Returns a stand-alone, parentless SVGPathSegLinetoRel object. A stand-alone, parentless SVGPathSegLinetoRel object. The relative X coordinate for the end point of this path segment. The relative Y coordinate for the end point of this path segment. Returns a stand-alone, parentless SVGPathSegCurvetoCubicAbs object. A stand-alone, parentless SVGPathSegCurvetoCubicAbs object. The absolute X coordinate for the end point of this path segment. The absolute Y coordinate for the end point of this path segment. The absolute X coordinate for the first control point. The absolute Y coordinate for the first control point. The absolute X coordinate for the second control point. The absolute Y coordinate for the second control point. Returns a stand-alone, parentless SVGPathSegCurvetoCubicRel object. A stand-alone, parentless SVGPathSegCurvetoCubicRel object. The relative X coordinate for the end point of this path segment. The relative Y coordinate for the end point of this path segment. The relative X coordinate for the first control point. The relative Y coordinate for the first control point. The relative X coordinate for the second control point. The relative Y coordinate for the second control point. Returns a stand-alone, parentless SVGPathSegCurvetoQuadraticAbs object. A stand-alone, parentless SVGPathSegCurvetoQuadraticAbs object. The absolute X coordinate for the end point of this path segment. The absolute Y coordinate for the end point of this path segment. The absolute X coordinate for the first control point. The absolute Y coordinate for the first control point. Returns a stand-alone, parentless SVGPathSegCurvetoQuadraticRel object. A stand-alone, parentless SVGPathSegCurvetoQuadraticRel object. The relative X coordinate for the end point of this path segment. The relative Y coordinate for the end point of this path segment. The relative X coordinate for the first control point. The relative Y coordinate for the first control point. Returns a stand-alone, parentless SVGPathSegArcAbs object. A stand-alone, parentless SVGPathSegArcAbs object. The absolute X coordinate for the end point of this path segment. The absolute Y coordinate for the end point of this path segment. The x-axis radius for the ellipse (i.e., r1). The y-axis radius for the ellipse (i.e., r2). The rotation angle in degrees for the ellipse's x-axis relative to the x-axis of the user coordinate system. The value of the large-arc-flag parameter. The value of the large-arc-flag parameter. Returns a stand-alone, parentless SVGPathSegArcRel object. A stand-alone, parentless SVGPathSegArcRel object. The relative X coordinate for the end point of this path segment. The relative Y coordinate for the end point of this path segment. The x-axis radius for the ellipse (i.e., r1). The y-axis radius for the ellipse (i.e., r2). The rotation angle in degrees for the ellipse's x-axis relative to the x-axis of the user coordinate system. The value of the large-arc-flag parameter. The value of the large-arc-flag parameter. Returns a stand-alone, parentless SVGPathSegLinetoHorizontalAbs object. A stand-alone, parentless SVGPathSegLinetoHorizontalAbs object. The absolute X coordinate for the end point of this path segment. Returns a stand-alone, parentless SVGPathSegLinetoHorizontalRel object. A stand-alone, parentless SVGPathSegLinetoHorizontalRel object. The relative X coordinate for the end point of this path segment. Returns a stand-alone, parentless SVGPathSegLinetoVerticalAbs object. A stand-alone, parentless SVGPathSegLinetoVerticalAbs object. The absolute Y coordinate for the end point of this path segment. Returns a stand-alone, parentless SVGPathSegLinetoVerticalRel object. A stand-alone, parentless SVGPathSegLinetoVerticalRel object. The relative Y coordinate for the end point of this path segment. Returns a stand-alone, parentless SVGPathSegCurvetoCubicSmoothAbs object. A stand-alone, parentless SVGPathSegCurvetoCubicSmoothAbs object. The absolute X coordinate for the end point of this path segment. The absolute Y coordinate for the end point of this path segment. The absolute X coordinate for the second control point. The absolute Y coordinate for the second control point. Returns a stand-alone, parentless SVGPathSegCurvetoCubicSmoothRel object. A stand-alone, parentless SVGPathSegCurvetoCubicSmoothRel object. The relative X coordinate for the end point of this path segment. The relative Y coordinate for the end point of this path segment. The relative X coordinate for the second control point. The relative Y coordinate for the second control point. Returns a stand-alone, parentless SVGPathSegCurvetoQuadraticSmoothAbs object. A stand-alone, parentless SVGPathSegCurvetoQuadraticSmoothAbs object. The absolute X coordinate for the end point of this path segment. The absolute Y coordinate for the end point of this path segment. Returns a stand-alone, parentless SVGPathSegCurvetoQuadraticSmoothRel object. A stand-alone, parentless SVGPathSegCurvetoQuadraticSmoothRel object. The relative X coordinate for the end point of this path segment. The relative Y coordinate for the end point of this path segment. The SVGRectElement interface corresponds to the 'rect' element. Corresponds to attribute 'x' on the given 'rect' element. Corresponds to attribute 'y' on the given 'rect' element. Corresponds to attribute 'width' on the given 'rect' element. Corresponds to attribute 'height' on the given 'rect' element. Corresponds to attribute 'rx' on the given 'rect' element. Corresponds to attribute 'ry' on the given 'rect' element. The SVGCircleElement interface corresponds to the 'circle' element. Corresponds to attribute 'cx' on the given 'circle' element. Corresponds to attribute 'cy' on the given 'circle' element. Corresponds to attribute 'r' on the given 'circle' element. The SVGEllipseElement interface corresponds to the 'ellipse' element. Corresponds to attribute 'cx' on the given 'ellipse' element. Corresponds to attribute 'cy' on the given 'ellipse' element. Corresponds to attribute 'rx' on the given 'ellipse' element. Corresponds to attribute 'ry' on the given 'ellipse' element. The SVGLineElement interface corresponds to the 'line' element. Corresponds to attribute 'x1' on the given 'line' element. Corresponds to attribute 'y1' on the given 'line' element. Corresponds to attribute 'x2' on the given 'line' element. Corresponds to attribute 'y2' on the given 'line' element.

The SVGAnimatedPoints interface supports elements which have a 'points' attribute which holds a list of coordinate values and which support the ability to animate that attribute.

Additionally, the 'points' attribute on the original element accessed via the XML DOM (e.g., using the getAttribute() method call) will reflect any changes made to points.

Provides access to the base (i.e., static) contents of the 'points' attribute. Provides access to the current animated contents of the 'points' attribute. If the given attribute or property is being animated, contains the current animated value of the attribute or property. If the given attribute or property is not currently being animated, contains the same value as points.
The SVGPolylineElement interface corresponds to the 'polyline' element. The SVGPolygonElement interface corresponds to the 'polygon' element. The SVGTextContentElement is inherited by various text-related interfaces, such as SVGTextElement, SVGTSpanElement, SVGTRefElement, SVGAltGlyphElement and SVGTextPathElement. The enumeration was set to a value that is not one of predefined types. It is invalid to attempt to define a new value of this type or to attempt to switch an existing value to this type. Corresponds to value 'spacing'. Corresponds to value 'spacingAndGlyphs'. Corresponds to attribute 'textLength' on the given element. Corresponds to attribute 'lengthAdjust' on the given element. The value must be one of the length adjust constants defined on this interface. Returns the total number of characters to be rendered within the current element. Includes characters which are included via a 'tref' reference. Total number of characters. The total sum of all of the advance values from rendering all of the characters within this element, including the advance value on the glyphs (horizontal or vertical), the effect of properties 'kerning', 'letter-spacing' and 'word-spacing' and adjustments due to attributes 'tspan/dx' and 'tspan/dy' on 'tspan' elements. For non-rendering environments, the user agent shall make reasonable assumptions about glyph metrics. The text advance distance. The total sum of all of the advance values from rendering the specified substring of the characters, including the advance value on the glyphs (horizontal or vertical), the effect of properties 'kerning', 'letter-spacing' and 'word-spacing' and adjustments due to attributes 'tspan/dx' and 'tspan/dy' on 'tspan' elements. For non-rendering environments, the user agent shall make reasonable assumptions about glyph metrics. The text advance distance. Raised if the charnum is negative or if charnum+nchars is greater than or equal to the number of characters at this node. The index of the first character in the substring, where the first character has an index of 0. The number of characters in the substring. Returns the current text position before rendering the character in the user coordinate system for rendering the glyph(s) that correspond to the specified character. The current text position has already taken into account the effects of any inter-character adjustments due to properties 'kerning', 'letter-spacing' and 'word-spacing' and adjustments due to attributes 'x', 'y', 'dx' and 'dy'. If multiple consecutive characters are rendered inseparably (e.g., as a single glyph or a sequence of glyphs), then each of the inseparable characters will return the start position for the first glyph. The character's start position. Raised if the charnum is negative or if charnum is greater than or equal to the number of characters at this node. The index of the character, where the first character has an index of 0. Returns the current text position after rendering the character in the user coordinate system for rendering the glyph(s) that correspond to the specified character. This current text position does not take into account the effects of any inter-character adjustments to prepare for the next character, such as properties 'kerning', 'letter-spacing' and 'word-spacing' and adjustments due to attributes 'x', 'y', 'dx' and 'dy'. If multiple consecutive characters are rendered inseparably (e.g., as a single glyph or a sequence of glyphs), then each of the inseparable characters will return the end position for the last glyph. The character's end position. Raised if the charnum is negative or if charnum is greater than or equal to the number of characters at this node. The index of the character, where the first character has an index of 0. Returns a tightest rectangle which defines the minimum and maximum X and Y values in the user coordinate system for rendering the glyph(s) that correspond to the specified character. The calculations assume that all glyphs occupy the full standard glyph cell for the font. If multiple consecutive characters are rendered inseparably (e.g., as a single glyph or a sequence of glyphs), then each of the inseparable characters will return the same extent. The rectangle which encloses all of the rendered glyph(s). Raised if the charnum is negative or if charnum is greater than or equal to the number of characters at this node. The index of the character, where the first character has an index of 0. Returns the rotation value relative to the current user coordinate system used to render the glyph(s) corresponding to the specified character. If multiple glyph(s) are used to render the given character and the glyphs each have different rotations (e.g., due to text-on-a-path), the user agent shall return an average value (e.g., the rotation angle at the midpoint along the path for all glyphs used to render this character). The rotation value represents the rotation that is supplemental to any rotation due to properties 'glyph-orientation-horizontal' and 'glyph-orientation-vertical'; thus, any glyph rotations due to these properties are not included into the returned rotation value. If multiple consecutive characters are rendered inseparably (e.g., as a single glyph or a sequence of glyphs), then each of the inseparable characters will return the same rotation value. The rotation angle. Raised if the charnum is negative or if charnum is greater than or equal to the number of characters at this node. The index of the character, where the first character has an index of 0. Returns the index of the character whose corresponding glyph cell bounding box contains the specified point. The calculations assume that all glyphs occupy the full standard glyph cell for the font. If no such character exists, a value of -1 is returned. If multiple such characters exist, the character within the element whose glyphs were rendered last (i.e., take into account any reordering such as for bidirectional text) is used. If multiple consecutive characters are rendered inseparably (e.g., as a single glyph or a sequence of glyphs), then the user agent shall allocate an equal percentage of the text advance amount to each of the contributing characters in determining which of the characters is chosen. The index of the character which is at the given point, where the first character has an index of 0. A point in user space. Causes the specified substring to be selected just as if the user selected the substring interactively. The text advance distance. Raised if the charnum is negative or if charnum+nchars is greater than or equal to the number of characters at this node. The index of the first character in the substring, where the first character has an index of 0. The number of characters in the substring. The SVGTextPositioningElement interface is inherited by text-related interfaces: SVGTextElement, SVGTSpanElement, SVGTRefElement and SVGAltGlyphElement. Corresponds to attribute 'x' on the given element. Corresponds to attribute 'y' on the given element. Corresponds to attribute 'dx' on the given element. Corresponds to attribute 'dy' on the given element. Corresponds to attribute 'rotate' on the given element. The SVGTextElement interface corresponds to the 'text' element. The SVGTSpanElement interface corresponds to the 'tspan' element. The SVGTRefElement interface corresponds to the 'tref' element. The SVGTextPathElement interface corresponds to the 'textPath' element. The enumeration was set to a value that is not one of predefined types. It is invalid to attempt to define a new value of this type or to attempt to switch an existing value to this type. Corresponds to value 'align'. Corresponds to value 'stretch'. The enumeration was set to a value that is not one of predefined types. It is invalid to attempt to define a new value of this type or to attempt to switch an existing value to this type. Corresponds to value 'auto'. Corresponds to value 'exact'. Corresponds to attribute 'startOffset' on the given 'textPath' element. Corresponds to attribute 'method' on the given 'textPath' element. Corresponds to attribute 'spacing' on the given 'textPath' element. The SVGAltGlyphElement interface corresponds to the 'altGlyph' element. Corresponds to attribute 'glyphRef attribute' on the given element. Corresponds to attribute 'format' on the given element. The SVGAltGlyphDefElement interface corresponds to the 'altGlyphDef' element. The SVGAltGlyphItemElement interface corresponds to the 'altGlyphItem' element. The SVGGlyphRefElement interface corresponds to the 'glyphRef element' element. Corresponds to attribute 'glyphRef attribute' on the given element. Corresponds to attribute 'format' on the given element. Corresponds to attribute 'x' on the given element. Corresponds to attribute 'y' on the given element. Corresponds to attribute 'dx' on the given element. Corresponds to attribute 'dy' on the given element. The SVGPaint interface corresponds to basic type <paint> and represents the values of properties 'fill' and 'stroke'. The paint type is not one of predefined types. It is invalid to attempt to define a new value of this type or to attempt to switch an existing value to this type. An sRGB color has been specified without an alternative ICC color specification. An sRGB color has been specified along with an alternative ICC color specification. Corresponds to a none value on a <paint> specification. Corresponds to a currentColor value on a <paint> specification. A URI has been specified, along with an explicit none as the backup paint method in case the URI is unavailable or invalid. A URI has been specified, along with an sRGB color as the backup paint method in case the URI is unavailable or invalid. A URI has been specified, along with an sRGB color as the backup paint method in case the URI is unavailable or invalid. A URI has been specified, along with both an sRGB color and alternate ICC color as the backup paint method in case the URI is unavailable or invalid. Only a URI has been specified. The type of paint, identified by one of the SVG_PAINTTYPE_* constants defined on this interface. When the paintType specifies a URI, this attribute holds the URI string. When the paintType does not specify a URI, this attribute is null. Sets the paintType to SVG_PAINTTYPE_URI_NONE and sets uri to the specified value. The URI for the desired paint server. Sets the paint as specified by the parameters. If paintType requires a URI, then uri must be non-null; otherwise, uri must be null. If paintType requires an RGBColor, then rgbColor must be a strnig that matches <color>; otherwise, rgbColor must be null. If paintType requires an SVGICCColor, then iccColor must be a string that matches XXX need icc-color grammar symbol; otherwise, iccColor must be null. Raised if one of the parameters has an invalid value. One of the defined constants for paintType. The URI for the desired paint server, or null. The specification of an sRGB color, or null. The specification of an ICC color, or null. The SVGMarkerElement interface corresponds to the 'marker element' element. The marker unit type is not one of predefined types. It is invalid to attempt to define a new value of this type or to attempt to switch an existing value to this type. The value of attribute 'markerUnits' is 'userSpaceOnUse'. The value of attribute 'markerUnits' is 'strokeWidth'. The marker orientation is not one of predefined types. It is invalid to attempt to define a new value of this type or to attempt to switch an existing value to this type. Attribute 'orient' has value 'auto'. Attribute 'orient' has an angle value. Corresponds to attribute 'refX' on the given 'marker element' element. Corresponds to attribute 'refY' on the given 'marker element' element. Corresponds to attribute 'markerUnits' on the given 'marker element' element. One of the Marker Unit Types defined on this interface. Corresponds to attribute 'markerWidth' on the given 'marker element' element. Corresponds to attribute 'markerHeight' on the given 'marker element' element. Corresponds to attribute 'orient' on the given 'marker element' element. One of the Marker Orientation Types defined on this interface. Corresponds to attribute 'orient' on the given 'marker element' element. If markerUnits is SVG_MARKER_ORIENT_ANGLE, the angle value for attribute 'orient'; otherwise, it will be set to zero. Sets the value of attribute 'orient' to 'auto'. Sets the value of attribute 'orient' to the given angle. The angle value to use for attribute 'orient'. The SVGColorProfileElement interface corresponds to the 'color-profile element' element. Corresponds to attribute 'local' on the given element. Corresponds to attribute 'name' on the given element. Corresponds to attribute 'rendering-intent' on the given element. The value of this attribute is the value of the the RENDERING_INTENT_* constant defined on SVGRenderingIntent that corresponds to the value of the 'rendering-intent' attribute.

The SVGColorProfileRule interface represents an @color-profile rule in a CSS style sheet. An @color-profile rule identifies a ICC profile which can be referenced within a given document.

Support for the SVGColorProfileRule interface is only required in user agents that support styling with CSS.

Corresponds to descriptor src within an @color-profile rule. Corresponds to descriptor 'name' within an @color-profile rule. The type of rendering intent, identified by one of the SVGRenderingIntent constants.
The SVGGradientElement interface is a base interface used by SVGLinearGradientElement and SVGRadialGradientElement. The type is not one of predefined types. It is invalid to attempt to define a new value of this type or to attempt to switch an existing value to this type. Corresponds to value 'pad'. Corresponds to value 'reflect'. Corresponds to value 'repeat'. Corresponds to attribute 'gradientUnits' on the given element. Takes one of the constants defined in SVGUnitTypes. Corresponds to attribute 'gradientTransform' on the given element. Corresponds to attribute 'spreadMethod' on the given element. One of the Spread Method Types defined on this interface. The SVGLinearGradientElement interface corresponds to the 'linearGradient' element. Corresponds to attribute 'x1' on the given 'linearGradient' element. Corresponds to attribute 'y1' on the given 'linearGradient' element. Corresponds to attribute 'x2' on the given 'linearGradient' element. Corresponds to attribute 'y2' on the given 'linearGradient' element. The SVGRadialGradientElement interface corresponds to the 'radialGradient' element. Corresponds to attribute 'cx' on the given 'radialGradient' element. Corresponds to attribute 'cy' on the given 'radialGradient' element. Corresponds to attribute 'r' on the given 'radialGradient' element. Corresponds to attribute 'fx' on the given 'radialGradient' element. Corresponds to attribute 'fy' on the given 'radialGradient' element. The SVGStopElement interface corresponds to the 'stop' element. Corresponds to attribute 'offset' on the given 'stop' element. The SVGPatternElement interface corresponds to the 'pattern' element. Corresponds to attribute 'patternUnits' on the given 'pattern' element. Takes one of the constants defined in SVGUnitTypes. Corresponds to attribute 'patternContentUnits' on the given 'pattern' element. Takes one of the constants defined in SVGUnitTypes. Corresponds to attribute 'patternTransform' on the given 'pattern' element. Corresponds to attribute 'x' on the given 'pattern' element. Corresponds to attribute 'y' on the given 'pattern' element. Corresponds to attribute 'width' on the given 'pattern' element. Corresponds to attribute 'height' on the given 'pattern' element. The SVGClipPathElement interface corresponds to the 'clipPath' element. Corresponds to attribute 'clipPathUnits' on the given 'clipPath' element. Takes one of the constants defined in SVGUnitTypes. The SVGMaskElement interface corresponds to the 'mask element' element. Corresponds to attribute 'maskUnits' on the given 'mask element' element. Takes one of the constants defined in SVGUnitTypes. Corresponds to attribute 'maskContentUnits' on the given 'mask element' element. Takes one of the constants defined in SVGUnitTypes. Corresponds to attribute 'x' on the given 'mask element' element. Corresponds to attribute 'y' on the given 'mask element' element. Corresponds to attribute 'width' on the given 'mask element' element. Corresponds to attribute 'height' on the given 'mask element' element. The SVGFilterElement interface corresponds to the 'filter element' element. Corresponds to attribute 'filterUnits' on the given 'filter element' element. Takes one of the constants defined in SVGUnitTypes. Corresponds to attribute 'primitiveUnits' on the given 'filter element' element. Takes one of the constants defined in SVGUnitTypes. Corresponds to attribute 'x' on the given 'filter element' element. Corresponds to attribute 'y' on the given 'filter element' element. Corresponds to attribute 'width' on the given 'filter element' element. Corresponds to attribute 'height' on the given 'filter element' element. Corresponds to attribute 'filterRes' on the given 'filter element' element. Contains the X component of attribute 'filterRes'. Corresponds to attribute 'filterRes' on the given 'filter element' element. Contains the Y component (possibly computed automatically) of attribute 'filterRes'. Sets the values for attribute 'filterRes'. The X component of attribute 'filterRes'. The Y component of attribute 'filterRes'. This interface defines the set of DOM attributes that are common across the filter primitive interfaces. Corresponds to attribute 'x' on the given element. Corresponds to attribute 'y' on the given element. Corresponds to attribute 'width' on the given element. Corresponds to attribute 'height' on the given element. Corresponds to attribute 'result' on the given element. The SVGFEBlendElement interface corresponds to the 'feBlend' element. The type is not one of predefined types. It is invalid to attempt to define a new value of this type or to attempt to switch an existing value to this type. Corresponds to value 'normal'. Corresponds to value 'multiply'. Corresponds to value 'screen'. Corresponds to value 'darken'. Corresponds to value 'lighten'. Corresponds to attribute 'in' on the given 'feBlend' element. Corresponds to attribute 'in2' on the given 'feBlend' element. Corresponds to attribute 'mode' on the given 'feBlend' element. Takes one of the SVG_FEBLEND_MODE_* constants defined on this interface. The SVGFEColorMatrixElement interface corresponds to the 'feColorMatrix' element. The type is not one of predefined types. It is invalid to attempt to define a new value of this type or to attempt to switch an existing value to this type. Corresponds to value 'matrix'. Corresponds to value 'saturate'. Corresponds to value 'hueRotate'. Corresponds to value 'luminanceToAlpha'. Corresponds to attribute 'in' on the given 'feColorMatrix' element. Corresponds to attribute 'type' on the given 'feColorMatrix' element. Takes one of the SVG_FECOLORMATRIX_TYPE_* constants defined on this interface. Corresponds to attribute 'values' on the given 'feColorMatrix' element. The SVGFEComponentTransferElement interface corresponds to the 'feComponentTransfer' element. Corresponds to attribute 'in' on the given 'feComponentTransfer' element. This interface defines a base interface used by the component transfer function interfaces. The type is not one of predefined types. It is invalid to attempt to define a new value of this type or to attempt to switch an existing value to this type. Corresponds to value 'identity'. Corresponds to value 'table'. Corresponds to value 'discrete'. Corresponds to value 'linear'. Corresponds to value 'gamma'. Corresponds to attribute 'type' on the given element. Takes one of the SVG_FECOMPONENTTRANSFER_TYPE_* constants defined on this interface. Corresponds to attribute 'tableValues' on the given element. Corresponds to attribute 'slope' on the given element. Corresponds to attribute 'intercept' on the given element. Corresponds to attribute 'amplitude' on the given element. Corresponds to attribute 'exponent' on the given element. Corresponds to attribute 'offset' on the given element. The SVGFEFuncRElement interface corresponds to the 'feFuncR' element. The SVGFEFuncRElement interface corresponds to the 'feFuncG' element. The SVGFEFuncBElement interface corresponds to the 'feFuncB' element. The SVGFEFuncAElement interface corresponds to the 'feFuncA' element. The SVGFECompositeElement interface corresponds to the 'feComposite' element. The type is not one of predefined types. It is invalid to attempt to define a new value of this type or to attempt to switch an existing value to this type. Corresponds to value 'over'. Corresponds to value 'in'. Corresponds to value 'out'. Corresponds to value 'atop'. Corresponds to value 'xor'. Corresponds to value 'arithmetic'. Corresponds to attribute 'in' on the given 'feComposite' element. Corresponds to attribute 'in2' on the given 'feComposite' element. Corresponds to attribute 'operator' on the given 'feComposite' element. Takes one of the SVG_FECOMPOSITE_OPERATOR_* constants defined on this interface. Corresponds to attribute 'k1' on the given 'feComposite' element. Corresponds to attribute 'k2' on the given 'feComposite' element. Corresponds to attribute 'k3' on the given 'feComposite' element. Corresponds to attribute 'k4' on the given 'feComposite' element. The SVGFEConvolveMatrixElement interface corresponds to the 'feConvolveMatrix' element. The type is not one of predefined types. It is invalid to attempt to define a new value of this type or to attempt to switch an existing value to this type. Corresponds to value 'duplicate'. Corresponds to value 'wrap'. Corresponds to value 'none'. Corresponds to attribute 'order' on the given 'feConvolveMatrix' element. Corresponds to attribute 'order' on the given 'feConvolveMatrix' element. Corresponds to attribute 'kernelMatrix' on the given 'feConvolveMatrix' element. Corresponds to attribute 'divisor' on the given 'feConvolveMatrix' element. Corresponds to attribute 'bias' on the given 'feConvolveMatrix' element. Corresponds to attribute 'targetX' on the given 'feConvolveMatrix' element. Corresponds to attribute 'targetY' on the given 'feConvolveMatrix' element. Corresponds to attribute 'edgeMode' on the given 'feConvolveMatrix' element. Takes one of the SVG_EDGEMODE_* constants defined on this interface. Corresponds to attribute 'kernelUnitLength' on the given 'feConvolveMatrix' element. Corresponds to attribute 'kernelUnitLength' on the given 'feConvolveMatrix' element. Corresponds to attribute 'preserveAlpha' on the given 'feConvolveMatrix' element. The SVGFEDiffuseLightingElement interface corresponds to the 'feDiffuseLighting' element. Corresponds to attribute 'in' on the given 'feDiffuseLighting' element. Corresponds to attribute 'surfaceScale' on the given 'feDiffuseLighting' element. Corresponds to attribute 'diffuseConstant' on the given 'feDiffuseLighting' element. Corresponds to attribute 'kernelUnitLength' on the given 'feDiffuseLighting' element. Corresponds to attribute 'kernelUnitLength' on the given 'feDiffuseLighting' element. The SVGFEDistantLightElement interface corresponds to the 'feDistantLight' element. Corresponds to attribute 'azimuth' on the given 'feDistantLight' element. Corresponds to attribute 'elevation' on the given 'feDistantLight' element. The SVGFEPointLightElement interface corresponds to the 'fePointLight' element. Corresponds to attribute 'x' on the given 'fePointLight' element. Corresponds to attribute 'y' on the given 'fePointLight' element. Corresponds to attribute 'z' on the given 'fePointLight' element. The SVGFESpotLightElement interface corresponds to the 'feSpotLight' element. Corresponds to attribute 'x' on the given 'feSpotLight' element. Corresponds to attribute 'y' on the given 'feSpotLight' element. Corresponds to attribute 'z' on the given 'feSpotLight' element. Corresponds to attribute 'pointsAtX' on the given 'feSpotLight' element. Corresponds to attribute 'pointsAtY' on the given 'feSpotLight' element. Corresponds to attribute 'pointsAtZ' on the given 'feSpotLight' element. Corresponds to attribute 'specularExponent' on the given 'feSpotLight' element. Corresponds to attribute 'limitingConeAngle' on the given 'feSpotLight' element. The SVGFEDisplacementMapElement interface corresponds to the 'feDisplacementMap' element. The type is not one of predefined types. It is invalid to attempt to define a new value of this type or to attempt to switch an existing value to this type. Corresponds to value 'R'. Corresponds to value 'G'. Corresponds to value 'B'. Corresponds to value 'A'. Corresponds to attribute 'in' on the given 'feDisplacementMap' element. Corresponds to attribute 'in2' on the given 'feDisplacementMap' element. Corresponds to attribute 'scale' on the given 'feDisplacementMap' element. Corresponds to attribute 'xChannelSelector' on the given 'feDisplacementMap' element. Takes one of the SVG_CHANNEL_* constants defined on this interface. Corresponds to attribute 'yChannelSelector' on the given 'feDisplacementMap' element. Takes one of the SVG_CHANNEL_* constants defined on this interface. The SVGFEFloodElement interface corresponds to the 'feFlood' element. Corresponds to attribute 'in' on the given 'feFlood' element. The SVGFEGaussianBlurElement interface corresponds to the 'feGaussianBlur' element. Corresponds to attribute 'in' on the given 'feGaussianBlur' element. Corresponds to attribute 'stdDeviation' on the given 'feGaussianBlur' element. Contains the X component of attribute 'stdDeviation'. Corresponds to attribute 'stdDeviation' on the given 'feGaussianBlur' element. Contains the Y component (possibly computed automatically) of attribute 'stdDeviation'. Sets the values for attribute 'stdDeviation'. The X component of attribute 'stdDeviation'. The Y component of attribute 'stdDeviation'. The SVGFEImageElement interface corresponds to the 'feImage' element. Corresponds to attribute 'preserveAspectRatio' on the given 'feImage' element. The SVGFEMergeElement interface corresponds to the 'feMerge' element. The SVGFEMergeNodeElement interface corresponds to the 'feMergeNode' element. Corresponds to attribute 'in' on the given 'feMergeNode' element. The SVGFEMorphologyElement interface corresponds to the 'feMorphology' element. The type is not one of predefined types. It is invalid to attempt to define a new value of this type or to attempt to switch an existing value to this type. Corresponds to value 'erode'. Corresponds to value 'dilate'. Corresponds to attribute 'in' on the given 'feMorphology' element. Corresponds to attribute 'operator' on the given 'feMorphology' element. Takes one of the SVG_MORPHOLOGY_OPERATOR_* constants defined on this interface. Corresponds to attribute 'radius' on the given 'feMorphology' element. Corresponds to attribute 'radius' on the given 'feMorphology' element. The SVGFEOffsetElement interface corresponds to the 'feOffset' element. Corresponds to attribute 'in' on the given 'feOffset' element. Corresponds to attribute 'dx' on the given 'feOffset' element. Corresponds to attribute 'dy' on the given 'feOffset' element. The SVGFESpecularLightingElement interface corresponds to the 'feSpecularLighting' element. Corresponds to attribute 'in' on the given 'feSpecularLighting' element. Corresponds to attribute 'surfaceScale' on the given 'feSpecularLighting' element. Corresponds to attribute 'specularConstant' on the given 'feSpecularLighting' element. Corresponds to attribute 'specularExponent' on the given 'feSpecularLighting' element. Corresponds to attribute 'kernelUnitLength' on the given 'feSpecularLighting' element. Corresponds to attribute 'kernelUnitLength' on the given 'feSpecularLighting' element. The SVGFETileElement interface corresponds to the 'feTile' element. Corresponds to attribute 'in' on the given 'feTile' element. The SVGFETurbulenceElement interface corresponds to the 'feTurbulence' element. The type is not one of predefined types. It is invalid to attempt to define a new value of this type or to attempt to switch an existing value to this type. Corresponds to value 'fractalNoise'. Corresponds to value 'turbulence'. The type is not one of predefined types. It is invalid to attempt to define a new value of this type or to attempt to switch an existing value to this type. Corresponds to value 'stitch'. Corresponds to value 'noStitch'. Corresponds to attribute 'baseFrequency' on the given 'feTurbulence' element. Contains the X component of the 'baseFrequency' attribute. Corresponds to attribute 'baseFrequency' on the given 'feTurbulence' element. Contains the Y component of the (possibly computed automatically) 'baseFrequency' attribute. Corresponds to attribute 'numOctaves' on the given 'feTurbulence' element. Corresponds to attribute 'seed' on the given 'feTurbulence' element. Corresponds to attribute 'stitchTiles' on the given 'feTurbulence' element. Takes one of the SVG_STITCHTYPE_* constants defined on this interface. Corresponds to attribute 'type' on the given 'feTurbulence' element. Takes one of the SVG_TURBULENCE_TYPE_* constants defined on this interface. The SVGCursorElement interface corresponds to the 'cursor element' element. Corresponds to attribute 'x' on the given 'cursor element' element. Corresponds to attribute 'y' on the given 'cursor element' element. The SVGAElement interface corresponds to the 'a' element. Corresponds to attribute 'target' on the given 'a' element. The SVGAElement interface corresponds to the 'view' element. Corresponds to attribute 'viewTarget' on the given 'view' element. A list of DOMString values which contain the names listed in the 'viewTarget' attribute. Each of the DOMString values can be associated with the corresponding element using the getElementById() method call. The SVGScriptElement interface corresponds to the 'script' element. Corresponds to attribute 'type' on the given 'script' element. Raised on an attempt to change the value of a readonly attribute.

The SVG event set contains a list of special event types which are available in SVG.

A DOM consumer can use the hasFeature of the DOMImplementation interface to determine whether the SVG event set has been implemented by a DOM implementation. The feature string for this event set is "SVGEvents". This string is also used with the createEvent method.

The SVG events use the base DOM Event interface to pass contextual information.

The different types of such events that can occur are:

SVGLoad
See SVGLoad event.
  • Bubbles: No
  • Cancelable: No
  • Context Info: None
SVGUnload
See SVGUnload event.
  • Bubbles: No
  • Cancelable: No
  • Context Info: None
SVGAbort
See SVGAbort event.
  • Bubbles: Yes
  • Cancelable: No
  • Context Info: None
SVGError
See SVGError event.
  • Bubbles: Yes
  • Cancelable: No
  • Context Info: None
SVGResize
See SVGResize event.
  • Bubbles: Yes
  • Cancelable: No
  • Context Info: None
SVGScroll
See SVGScroll event.
  • Bubbles: Yes
  • Cancelable: No
  • Context Info: None

A DOM consumer can use the hasFeature of the DOMImplementation interface to determine whether the SVG zoom event set has been implemented by a DOM implementation. The feature string for this event set is "SVGZoomEvents". This string is also used with the createEvent method.

The zoom event handler occurs before the zoom event is processed. The remainder of the DOM represents the previous state of the document. The document will be updated upon normal return from the event handler.

The UI event type for a zoom event is:

SVGZoom
The zoom event occurs when the user initiates an action which causes the current view of the SVG document fragment to be rescaled. Event handlers are only recognized on 'svg' elements. See SVGZoom event.
  • Bubbles: Yes
  • Cancelable: No
  • Context Info: zoomRectScreen, previousScale, previousTranslate, newScale, newTranslate, screenX, screenY, clientX, clientY, altKey, ctrlKey, shiftKey, metaKey, relatedNode.
    (screenX, screenY, clientX and clientY indicate the center of the zoom area, with clientX and clientY in viewport coordinates for the corresponding 'svg' element. relatedNode is the corresponding 'svg' element.)

The specified zoom rectangle in screen units.

The object itself and its contents are both readonly.

The scale factor from previous zoom operations that was in place before the zoom operation occurred.

The translation values from previous zoom operations that were in place before the zoom operation occurred.

The object itself and its contents are both readonly.

The scale factor that will be in place after the zoom operation has been processed.

The translation values that will be in place after the zoom operation has been processed.

The object itself and its contents are both readonly.

The SVGAnimationElement interface is the base interface for all of the animation element interfaces: SVGAnimateElement, SVGSetElement, SVGAnimateColorElement, SVGAnimateMotionElement and SVGAnimateTransformElement.

Unlike other SVG DOM interfaces, the SVG DOM does not specify convenience DOM properties corresponding to the various language attributes on SVG's animation elements. Specification of these convenience properties in a way that will be compatible with future versions of SMIL Animation is expected in a future version of SVG. The current method for accessing and modifying the attributes on the animation elements is to use the standard getAttribute, setAttribute, getAttributeNS and setAttributeNS defined in DOM Level 2 Core [DOM2].

The element which is being animated. Returns the start time in seconds for this animation. The start time in seconds for this animation relative to the start time of the time container. Returns the current time in seconds relative to time zero for the given time container. The current time in seconds relative to time zero for the given time container. Returns the number of seconds for the simple duration for this animation. If the simple duration is undefined (e.g., the end time is indefinite), then an exception is raised. number of seconds for the simple duration for this animation. The simple duration is not determined on the given element.

The SVGAnimateElement interface corresponds to the 'animate' element.

Object-oriented access to the attributes of the 'animate' element via the SVG DOM is not available.

The SVGSetElement interface corresponds to the 'set' element.

Object-oriented access to the attributes of the 'set' element via the SVG DOM is not available.

The SVGAnimateMotionElement interface corresponds to the 'animateMotion' element.

Object-oriented access to the attributes of the 'animateMotion' element via the SVG DOM is not available.

The SVGMPathElement interface corresponds to the 'mpath' element.

The SVGAnimateColorElement interface corresponds to the 'animateColor' element.

Object-oriented access to the attributes of the 'animateColor' element via the SVG DOM is not available.

The SVGAnimateTransformElement interface corresponds to the 'animateTransform' element.

Object-oriented access to the attributes of the 'animateTransform' element via the SVG DOM is not available.

The SVGFontElement interface corresponds to the 'font element' element.

Object-oriented access to the attributes of the 'font element' element via the SVG DOM is not available.

The SVGGlyphElement interface corresponds to the 'glyph' element.

Object-oriented access to the attributes of the 'glyph' element via the SVG DOM is not available.

The SVGMissingGlyphElement interface corresponds to the 'missing-glyph' element.

Object-oriented access to the attributes of the 'missing-glyph' element via the SVG DOM is not available.

The SVGHKernElement interface corresponds to the 'hkern' element.

Object-oriented access to the attributes of the 'hkern' element via the SVG DOM is not available.

The SVGVKernElement interface corresponds to the 'vkern' element.

Object-oriented access to the attributes of the 'vkern' element via the SVG DOM is not available.

The SVGFontFaceElement interface corresponds to the 'font-face' element.

Object-oriented access to the attributes of the 'font-face' element via the SVG DOM is not available.

The SVGFontFaceSrcElement interface corresponds to the 'font-face-src' element.

Object-oriented access to the attributes of the 'font-face-src' element via the SVG DOM is not available.

The SVGFontFaceUriElement interface corresponds to the 'font-face-uri' element.

Object-oriented access to the attributes of the 'font-face-uri' element via the SVG DOM is not available.

The SVGFontFaceFormatElement interface corresponds to the 'font-face-format' element.

Object-oriented access to the attributes of the 'font-face-format' element via the SVG DOM is not available.

The SVGFontFaceNameElement interface corresponds to the 'font-face-name' element.

Object-oriented access to the attributes of the 'font-face-name' element via the SVG DOM is not available.

The SVGMetadataElement interface corresponds to the 'metadata' element. The SVGForeignObjectElement interface corresponds to the 'foreignObject' element. Corresponds to attribute 'x' on the given 'foreignObject' element. Corresponds to attribute 'y' on the given 'foreignObject' element. Corresponds to attribute 'width' on the given 'foreignObject' element. Corresponds to attribute 'height' on the given 'foreignObject' element.