SVG Tiny 1.2 – 20081222

- Top
- Contents
- Previous
- Next
- Elements
- Attributes

# O ECMAScript Language Binding

## Contents

This appendix is normative.

## O.1 Module `dom`

Prototype Object DOMException
  The DOMException class has the following constants:
    DOMException.INDEX_SIZE_ERR
      This constant is of type Number and its value is 1.
    DOMException.DOMSTRING_SIZE_ERR
      This constant is of type Number and its value is 2.
    DOMException.HIERARCHY_REQUEST_ERR
      This constant is of type Number and its value is 3.
    DOMException.WRONG_DOCUMENT_ERR
      This constant is of type Number and its value is 4.
    DOMException.INVALID_CHARACTER_ERR
      This constant is of type Number and its value is 5.
    DOMException.NO_DATA_ALLOWED_ERR
      This constant is of type Number and its value is 6.
    DOMException.NO_MODIFICATION_ALLOWED_ERR
      This constant is of type Number and its value is 7.
    DOMException.NOT_FOUND_ERR
      This constant is of type Number and its value is 8.
    DOMException.NOT_SUPPORTED_ERR
      This constant is of type Number and its value is 9.
    DOMException.INUSE_ATTRIBUTE_ERR
      This constant is of type Number and its value is 10.
    DOMException.INVALID_STATE_ERR
      This constant is of type Number and its value is 11.
    DOMException.SYNTAX_ERR
      This constant is of type Number and its value is 12.
    DOMException.INVALID_MODIFICATION_ERR
      This constant is of type Number and its value is 13.
    DOMException.NAMESPACE_ERR
      This constant is of type Number and its value is 14.
    DOMException.INVALID_ACCESS_ERR
      This constant is of type Number and its value is 15.
    DOMException.VALIDATION_ERR
      This constant is of type Number and its value is 16.
    DOMException.TYPE_MISMATCH_ERR
      This constant is of type Number and its value is 17.

Object DOMException
  The DOMException object has the following properties:
    code
      This property is of type Number.

Object Node
  The Node object has the following properties:
    namespaceURI
      This property is of type String.
    localName
      This property is of type String.
    parentNode
      This property is of type Node.
    ownerDocument
      This property is of type Document.
    textContent
      This property is of type String.
  The Node object has the following methods:
    appendChild(newChild)
      This method returns a(n) Node. The newChild parameter is of type Node.
    insertBefore(newChild, refChild)
      This method returns a(n) Node. The newChild parameter is of type Node. The refChild parameter is of type Node.
    removeChild(oldChild)
      This method returns a(n) Node. The oldChild parameter is of type Node.
    cloneNode(deep)
      This method returns a(n) Node. The deep parameter is of type Boolean.

Object Element

  Element has all the properties and methods of Node, ElementTraversal as well as the properties and methods defined below.

  The Element object has the following methods:
    getAttributeNS(namespaceURI, localName)
      This method returns a(n) String. The namespaceURI parameter is of type String. The localName parameter is of type String.
    setAttributeNS(namespaceURI, qualifiedName, value)
      This method has no return value. The namespaceURI parameter is of type String. The qualifiedName parameter is of type String. The value parameter is of type String.
    getAttribute(name)
      This method returns a(n) String. The name parameter is of type String.
    setAttribute(name, value)
      This method has no return value. The name parameter is of type String. The value parameter is of type String.

Object Document

  Document has all the properties and methods of Node as well as the properties and methods defined below.

  The Document object has the following properties:
    documentElement
      This property is of type Element.
  The Document object has the following methods:
    createElementNS(namespaceURI, qualifiedName)
      This method returns a(n) Element. The namespaceURI parameter is of type String. The qualifiedName parameter is of type String.
    getElementById(elementId)
      This method returns a(n) Element. The elementId parameter is of type String.

Object ElementTraversal
  The ElementTraversal object has the following properties:
    firstElementChild
      This property is of type Element.
    lastElementChild
      This property is of type Element.
    nextElementSibling
      This property is of type Element.
    previousElementSibling
      This property is of type Element.
    childElementCount
      This property is of type Number.

Object Location
  The Location object has the following methods:
    assign(iri)
      This method has no return value. The iri parameter is of type String.
    reload()
      This method has no return value.

Object Window
  The Window object has the following properties:
    parent
      This property is of type Window.
    location
      This property is of type Location.

## O.2 Module `views`

Object AbstractView
  The AbstractView object has the following properties:
    document
      This property is of type DocumentView.

Object DocumentView
  The DocumentView object has the following properties:
    defaultView
      This property is of type AbstractView.

## O.3 Module `events`

Object EventTarget
  The EventTarget object has the following methods:
    addEventListener(type, listener, useCapture)
      This method has no return value. The type parameter is of type String. The listener parameter is of type EventListener. The useCapture parameter is of type Boolean.
    removeEventListener(type, listener, useCapture)
      This method has no return value. The type parameter is of type String. The listener parameter is of type EventListener. The useCapture parameter is of type Boolean.

Function EventListener

  In ECMAScript, an EventListener can be specified in one of two ways. The first is an ECMAScript Function object, where the function itself is considered to be the implementation of the handleEvent operation. The second is an ECMAScript object with a property handleEvent, which provides the implementation of the handleEvent operation. If an ECMAScript Function object also has a handleEvent property, then that handleEvent property and not the Function itself is considered to be the implementation of the handleEvent operation.

  The EventListener object has the following methods:
    handleEvent(evt)
      This method has no return value. The evt parameter is of type Event.

Object Event
  The Event object has the following properties:
    target
      This property is of type EventTarget.
    currentTarget
      This property is of type EventTarget.
    type
      This property is of type String.
    cancelable
      This property is of type Boolean.
    defaultPrevented
      This property is of type Boolean.
  The Event object has the following methods:
    stopPropagation()
      This method has no return value.
    preventDefault()
      This method has no return value.

Object MouseEvent

  MouseEvent has all the properties and methods of UIEvent as well as the properties and methods defined below.

  The MouseEvent object has the following properties:
    screenX
      This property is of type Number.
    screenY
      This property is of type Number.
    clientX
      This property is of type Number.
    clientY
      This property is of type Number.
    button
      This property is of type Number.

Object MouseWheelEvent

  MouseWheelEvent has all the properties and methods of MouseEvent as well as the properties and methods defined below.

  The MouseWheelEvent object has the following properties:
    wheelDelta
      This property is of type Number.

Object TextEvent

  TextEvent has all the properties and methods of UIEvent as well as the properties and methods defined below.

  The TextEvent object has the following properties:
    data
      This property is of type String.

Object KeyboardEvent

  KeyboardEvent has all the properties and methods of UIEvent as well as the properties and methods defined below.

  The KeyboardEvent object has the following properties:
    keyIdentifier
      This property is of type String.

Object UIEvent

  UIEvent has all the properties and methods of Event as well as the properties and methods defined below.

  The UIEvent object has the following properties:
    detail
      This property is of type Number.

Object ProgressEvent

  ProgressEvent has all the properties and methods of Event as well as the properties and methods defined below.

  The ProgressEvent object has the following properties:
    lengthComputable
      This property is of type Boolean.
    loaded
      This property is of type Number.
    total
      This property is of type Number.

## O.4 Module `smil`

Object ElementTimeControl
  The ElementTimeControl object has the following methods:
    beginElementAt(offset)
      This method has no return value. The offset parameter is of type Number.
    beginElement()
      This method has no return value.
    endElementAt(offset)
      This method has no return value. The offset parameter is of type Number.
    endElement()
      This method has no return value.

Object TimeEvent

  TimeEvent has all the properties and methods of Event as well as the properties and methods defined below.

  The TimeEvent object has the following properties:
    detail
      This property is of type Number.

## O.5 Module `svg`

Prototype Object SVGException
  The SVGException class has the following constants:
    SVGException.SVG_WRONG_TYPE_ERR
      This constant is of type Number and its value is 0.
    SVGException.SVG_INVALID_VALUE_ERR
      This constant is of type Number and its value is 1.
    SVGException.SVG_MATRIX_NOT_INVERTABLE
      This constant is of type Number and its value is 2.

Object SVGException
  The SVGException object has the following properties:
    code
      This property is of type Number.

Object SVGDocument

  SVGDocument has all the properties and methods of Document, EventTarget as well as the properties and methods defined below.

Object SVGUseElement

  SVGUseElement has all the properties and methods of SVGLocatableElement as well as the properties and methods defined below.

Object SVGElementInstance

  SVGElementInstance has all the properties and methods of EventTarget as well as the properties and methods defined below.

  The SVGElementInstance object has the following properties:
    correspondingElement
      This property is of type SVGElement.
    correspondingUseElement
      This property is of type SVGUseElement.

Prototype Object SVGSVGElement
  The SVGSVGElement class has the following constants:
    SVGSVGElement.NAV_AUTO
      This constant is of type Number and its value is 1.
    SVGSVGElement.NAV_NEXT
      This constant is of type Number and its value is 2.
    SVGSVGElement.NAV_PREV
      This constant is of type Number and its value is 3.
    SVGSVGElement.NAV_UP
      This constant is of type Number and its value is 4.
    SVGSVGElement.NAV_UP_RIGHT
      This constant is of type Number and its value is 5.
    SVGSVGElement.NAV_RIGHT
      This constant is of type Number and its value is 6.
    SVGSVGElement.NAV_DOWN_RIGHT
      This constant is of type Number and its value is 7.
    SVGSVGElement.NAV_DOWN
      This constant is of type Number and its value is 8.
    SVGSVGElement.NAV_DOWN_LEFT
      This constant is of type Number and its value is 9.
    SVGSVGElement.NAV_LEFT
      This constant is of type Number and its value is 10.
    SVGSVGElement.NAV_UP_LEFT
      This constant is of type Number and its value is 11.

Object SVGSVGElement

  SVGSVGElement has all the properties and methods of SVGLocatableElement, SVGTimedElement as well as the properties and methods defined below.

  The SVGSVGElement object has the following properties:
    currentScale
      This property is of type Number.
    currentRotate
      This property is of type Number.
    currentTranslate
      This property is of type SVGPoint.
    viewport
      This property is of type SVGRect.
  The SVGSVGElement object has the following methods:
    getCurrentTime()
      This method returns a(n) Number.
    setCurrentTime(seconds)
      This method has no return value. The seconds parameter is of type Number.
    createSVGMatrixComponents(a, b, c, d, e, f)
      This method returns a(n) SVGMatrix. The a parameter is of type Number. The b parameter is of type Number. The c parameter is of type Number. The d parameter is of type Number. The e parameter is of type Number. The f parameter is of type Number.
    createSVGRect()
      This method returns a(n) SVGRect.
    createSVGPoint()
      This method returns a(n) SVGPoint.
    createSVGPath()
      This method returns a(n) SVGPath.
    createSVGRGBColor(red, green, blue)
      This method returns a(n) SVGRGBColor. The red parameter is of type Number. The green parameter is of type Number. The blue parameter is of type Number.
    moveFocus(motionType)
      This method has no return value. The motionType parameter is of type Number.
    setFocus(theObject)
      This method has no return value. The theObject parameter is of type EventTarget.
    getCurrentFocusedObject()
      This method returns a(n) EventTarget.

Object SVGRGBColor
  The SVGRGBColor object has the following properties:
    red
      This property is of type Number.
    green
      This property is of type Number.
    blue
      This property is of type Number.

Object SVGRect
  The SVGRect object has the following properties:
    x
      This property is of type Number.
    y
      This property is of type Number.
    width
      This property is of type Number.
    height
      This property is of type Number.

Object SVGPoint
  The SVGPoint object has the following properties:
    x
      This property is of type Number.
    y
      This property is of type Number.
  The SVGPoint object has the following methods:
    matrixTransform(matrix)
      This method returns a(n) SVGPoint. The matrix parameter is of type SVGMatrix.

Prototype Object SVGPath
  The SVGPath class has the following constants:
    SVGPath.MOVE_TO
      This constant is of type Number and its value is 77.
    SVGPath.LINE_TO
      This constant is of type Number and its value is 76.
    SVGPath.CURVE_TO
      This constant is of type Number and its value is 67.
    SVGPath.QUAD_TO
      This constant is of type Number and its value is 81.
    SVGPath.CLOSE
      This constant is of type Number and its value is 90.

Object SVGPath
  The SVGPath object has the following properties:
    numberOfSegments
      This property is of type Number.
  The SVGPath object has the following methods:
    getSegment(cmdIndex)
      This method returns a(n) Number. The cmdIndex parameter is of type Number.
    getSegmentParam(cmdIndex, paramIndex)
      This method returns a(n) Number. The cmdIndex parameter is of type Number. The paramIndex parameter is of type Number.
    moveTo(x, y)
      This method has no return value. The x parameter is of type Number. The y parameter is of type Number.
    lineTo(x, y)
      This method has no return value. The x parameter is of type Number. The y parameter is of type Number.
    quadTo(x1, y1, x2, y2)
      This method has no return value. The x1 parameter is of type Number. The y1 parameter is of type Number. The x2 parameter is of type Number. The y2 parameter is of type Number.
    curveTo(x1, y1, x2, y2, x3, y3)
      This method has no return value. The x1 parameter is of type Number. The y1 parameter is of type Number. The x2 parameter is of type Number. The y2 parameter is of type Number. The x3 parameter is of type Number. The y3 parameter is of type Number.
    close()
      This method has no return value.

Object SVGMatrix
  The SVGMatrix object has the following methods:
    getComponent(index)
      This method returns a(n) Number. The index parameter is of type Number.
    mMultiply(secondMatrix)
      This method returns a(n) SVGMatrix. The secondMatrix parameter is of type SVGMatrix.
    inverse()
      This method returns a(n) SVGMatrix.
    mTranslate(x, y)
      This method returns a(n) SVGMatrix. The x parameter is of type Number. The y parameter is of type Number.
    mScale(scaleFactor)
      This method returns a(n) SVGMatrix. The scaleFactor parameter is of type Number.
    mRotate(angle)
      This method returns a(n) SVGMatrix. The angle parameter is of type Number.

Object SVGLocatable
  The SVGLocatable object has the following methods:
    getBBox()
      This method returns a(n) SVGRect.
    getScreenCTM()
      This method returns a(n) SVGMatrix.
    getScreenBBox()
      This method returns a(n) SVGRect.

Object SVGLocatableElement

  SVGLocatableElement has all the properties and methods of SVGElement, SVGLocatable as well as the properties and methods defined below.

Object TraitAccess
  The TraitAccess object has the following methods:
    getTrait(name)
      This method returns a(n) String. The name parameter is of type String.
    getTraitNS(namespaceURI, name)
      This method returns a(n) String. The namespaceURI parameter is of type String. The name parameter is of type String.
    getFloatTrait(name)
      This method returns a(n) Number. The name parameter is of type String.
    getFloatListTrait(name)
      This method returns a(n) Object (but see Sequences below for details). The name parameter is of type String.
    getMatrixTrait(name)
      This method returns a(n) SVGMatrix. The name parameter is of type String.
    getRectTrait(name)
      This method returns a(n) SVGRect. The name parameter is of type String.
    getPathTrait(name)
      This method returns a(n) SVGPath. The name parameter is of type String.
    getRGBColorTrait(name)
      This method returns a(n) SVGRGBColor. The name parameter is of type String.
    getPresentationTrait(name)
      This method returns a(n) String. The name parameter is of type String.
    getPresentationTraitNS(namespaceURI, name)
      This method returns a(n) String. The namespaceURI parameter is of type String. The name parameter is of type String.
    getFloatPresentationTrait(name)
      This method returns a(n) Number. The name parameter is of type String.
    getFloatListPresentationTrait(name)
      This method returns a(n) Object (but see Sequences below for details). The name parameter is of type String.
    getMatrixPresentationTrait(name)
      This method returns a(n) SVGMatrix. The name parameter is of type String.
    getRectPresentationTrait(name)
      This method returns a(n) SVGRect. The name parameter is of type String.
    getPathPresentationTrait(name)
      This method returns a(n) SVGPath. The name parameter is of type String.
    getRGBColorPresentationTrait(name)
      This method returns a(n) SVGRGBColor. The name parameter is of type String.
    setTrait(name, value)
      This method has no return value. The name parameter is of type String. The value parameter is of type String.
    setTraitNS(namespaceURI, name, value)
      This method has no return value. The namespaceURI parameter is of type String. The name parameter is of type String. The value parameter is of type String.
    setFloatTrait(name, value)
      This method has no return value. The name parameter is of type String. The value parameter is of type Number.
    setFloatListTrait(name, value)
      This method has no return value. The name parameter is of type String. The value parameter is of type Object (but see Sequences below for details).
    setMatrixTrait(name, matrix)
      This method has no return value. The name parameter is of type String. The matrix parameter is of type SVGMatrix.
    setRectTrait(name, rect)
      This method has no return value. The name parameter is of type String. The rect parameter is of type SVGRect.
    setPathTrait(name, path)
      This method has no return value. The name parameter is of type String. The path parameter is of type SVGPath.
    setRGBColorTrait(name, color)
      This method has no return value. The name parameter is of type String. The color parameter is of type SVGRGBColor.

Object SVGElement

  SVGElement has all the properties and methods of Element, EventTarget, TraitAccess as well as the properties and methods defined below.

  The SVGElement object has the following properties:
    id
      This property is of type String.

Object SVGTimedElement

  SVGTimedElement has all the properties and methods of SVGElement, smil::ElementTimeControl as well as the properties and methods defined below.

  The SVGTimedElement object has the following properties:
    isPaused
      This property is of type Boolean.
  The SVGTimedElement object has the following methods:
    pauseElement()
      This method has no return value.
    resumeElement()
      This method has no return value.

Object SVGAnimationElement

  SVGAnimationElement has all the properties and methods of SVGTimedElement as well as the properties and methods defined below.

Object SVGVisualMediaElement

  SVGVisualMediaElement has all the properties and methods of SVGLocatableElement, SVGTimedElement as well as the properties and methods defined below.

Object SVGTimer

  SVGTimer has all the properties and methods of events::EventTarget as well as the properties and methods defined below.

  The SVGTimer object has the following properties:
    delay
      This property is of type Number.
    repeatInterval
      This property is of type Number.
    running
      This property is of type Boolean.
  The SVGTimer object has the following methods:
    start()
      This method has no return value.
    stop()
      This method has no return value.

Object SVGGlobal
  The SVGGlobal object has the following methods:
    createTimer(initialInterval, repeatInterval)
      This method returns a(n) SVGTimer. The initialInterval parameter is of type Number. The repeatInterval parameter is of type Number.
    getURL(iri, callback)
      This method has no return value. The iri parameter is of type String. The callback parameter is of type AsyncStatusCallback.
    postURL(iri, data, callback, type, encoding)
      This method has no return value. The iri parameter is of type String. The data parameter is of type String. The callback parameter is of type AsyncStatusCallback. The type parameter is of type String. The encoding parameter is of type String.
    parseXML(data, contextDoc)
      This method returns a(n) Node. The data parameter is of type String. The contextDoc parameter is of type Document.

Object AsyncStatusCallback
  The AsyncStatusCallback object has the following methods:
    operationComplete(status)
      This method has no return value. The status parameter is of type AsyncURLStatus.

Object AsyncURLStatus
  The AsyncURLStatus object has the following properties:
    success
      This property is of type Boolean.
    contentType
      This property is of type String.
    content
      This property is of type String.

## O.6 Sequences

In the ECMAScript language binding, a value of type sequence<float> is represented by an ECMAScript object, hereafter called the sequence object.

The sequence object must have a length property whose value is a non-negative integer Number, which gives the length of the sequence.

For each index in the range [0, length), the sequence object must have a property (an index property) whose name is the index and whose value gives the element of the sequence at that index. When returned from a host object (that is, when an operation whose return type is sequence<float> is called, or when an attribute whose type is sequence<float> is retrieved), then the element values returned from these properties must be an ECMAScript Number.

When passed to a host object (that is, when passed as an operation argument whose type is sequence<float>, or when assigned to an attribute whose type is sequence<float> is assigned to), then the value of each index property gives the element value, which is the result of passing the value of the corresponding index property to the ToNumber operator (defined in section 9.3 of the ECMAScript Language Specification [ECMA-262]).