W3C

Mobile SVG Profiles: SVG Tiny and SVG Basic, Version 1.2

W3C Working Draft 25 March 2004

This version:
http://www.w3.org/TR/2004/WD-SVGMobile12-20040325/
Previous version:
http://www.w3.org/TR/2003/WD-SVGMobile12-20031209/
Latest SVG Mobile 1.2 version:
http://www.w3.org/TR/SVGMobile12/
Latest SVG Mobile Recommendation:
http://www.w3.org/TR/SVGMobile/
Editors:
Ola Andersson (ZOOMON) <ola.andersson@zoomon.com>
Tolga Capin (Nokia) <Tolga.Capin@nokia.com>
Authors:
See author list

Abstract

This document defines two mobile profiles of SVG 1.2. The first profile, SVG Tiny 1.2, is defined to be suitable for cellphones; the second profile, SVG Basic 1.2, is suitable for PDAs.

Status of this document

This section describes the status of this document at the time of its publication. Other documents may supersede this document. A list of current W3C publications and the latest revision of this technical report can be found in the W3C technical reports index at http://www.w3.org/TR/.

This document is the second public working draft of Version 1.2 of the SVG Mobile Profiles: SVG Basic and SVG Tiny. A list of changes since the last Working Draft is included.

This document has been produced by the W3C SVG Working Group as part of the W3C Graphics Activity within the Interaction Domain.

We explicitly invite comments on this specification. Please send them to www-svg@w3.org: the public email list for issues related to vector graphics on the Web. This list is archived and acceptance of this archiving policy is requested automatically upon first post. To subscribe to this list send an email to www-svg-request@w3.org with the word subscribe in the subject line.

The latest information regarding patent disclosures related to this document is available on the Web. As of this publication, the SVG Working Group are not aware of any royalty-bearing patents they believe to be essential to SVG.

Publication as a Working Draft does not imply endorsement by the W3C Membership. This is a draft document and may be updated, replaced or obsoleted by other documents at any time. It is inappropriate to cite this document as other than work in progress.

Table of contents

Sections highlighted in yellow contains new information relevant to SVG Mobile 1.2. The other sections are unmodified from SVG Mobile 1.1. 


1. Introduction

Reading Instructions:
This is the second draft of this specification and large parts of it are not updated from the 1.1 version of the specification. To facilitate for the reader the following color codes have been used to highlight relevant sections:
-Text in a green box (like this one) is used to inform the reader about open/unresolved issues and other relevant information.
-Text in light yellow boxes describes new features in SVGT1.2/SVGB1.2.
All the text outside of those boxes can possibly be out of date/wrong. 

Note that all the appendixes are up to date and contains new 1.2 information.

All the new functionality in this draft applies to both SVG Tiny 1.2 and SVG Basic 1.2. There has been limited demand for specific SVG Basic 1.2 functionality so the WG has decided to let SVG Basic 1.2 be defined by SVG Basic 1.1 + new SVG Tiny 1.2 functionality.

It has been established by industry demand, overwhelming support in the SVG working group and requests from the SVG developer community that some form of SVG suited to displaying vector graphics on small devices is required. Moreover, the mission statement of SVG 1.0 specifically addresses small devices as a target area for vector graphics display. In order to meet these demands the SVG Working Group has committed to a concerted effort to create a profile specification that addresses mobile devices.

A single such profile is not sufficient to deal with the variety of mobile devices, because each mobile device has different characteristics in terms of CPU speed, memory size, and color support. To address the range of different device families, two profiles are defined. The first low-level profile, SVG Tiny (SVGT) is suitable for highly restricted mobile devices; while the second profile, SVG Basic (SVGB) is targeted for higher level mobile devices.

Because of the low memory, low CPU power and limited display of mobile devices, Mobile SVG profiles introduce constraints on content, attribute types, properties, and user agent behavior. This section describes these constraints and design rationale behind them.

  1. Two profiles are designed to allow SVG to render on mobile devices with limited memory, CPU power, and bandwidth.
  2. Mobile SVG profiles attempt to maximize compatibility with SVG 1.0 to display existing content.
  3. A true subset of the SVG 1.0 imaging model is maintained.
  4. Mobile SVG is designed to facilitate export from authoring tools.
  5. Mobile SVG is designed so that SVG 1.1 can be transcoded into SVGB and SVGT preserving as much scalability as possible.
  6. To ensure interoperability between content and software tools compliant with different profiles, SVGT is specified to be a proper subset of SVGB, and SVGB to be a proper subset of SVG 1.1.

2. Mobile SVG Document Types

SVGT and SVGB consist of the following SVG 1.1 modules. For each module, a given profile might contain the Full version, the subsetted Basic version, or no version of that module. For ease of use, the relevant elements in each module are given; in modules other than Full, not all attributes may be supported and there may be restrictions on attribute values. For details, see the module definitions in the SVG 1.1 specification.

SVG Tiny

Structure
Core Attribute Module
Basic Structure Module
defs, desc, g, metadata, svg, title, use
Painting
Basic Paint Attribute Module
Basic Graphics Attribute Module
Hyperlinking
Hyperlinking
a
XLink Attribute Module
Conditional Processing
Conditional Processing Module
switch
Shapes
Shape Module
circle, ellipse, line, path, polygon, polyline, rect
Images
Image Module
image
Text
Basic Text Module
text
Fonts
Basic Font Module
font, font-face, font-face-name, font-face-src, glyph, hkern, missing-glyph
Animation
Animation Module
animate, animateColor, animateMotion, animateTransform, mpath, set
Extensibility
Extensibility Module
foreignObject

SVG Basic

Structure
Core Attribute Module
Structure Module
defs, desc, g, metadata, svg, symbol, title, use
Viewport Attribute Module
Style
Style Module
style
Painting
Paint Attribute Module
Opacity Attribute Module
Graphics Attribute Module
Hyperlinking
Hyperlinking Module
a
XLink Attribute Module
External Resources Attribute Module
Conditional Processing
Conditional Processing Module
switch
Shapes
Shape Module
circle, ellipse, line, path, polygon, polyline, rect
Images
Image Module
image
Text
Text Module
altGlyph, altGlyphDef, altGlyphItem, glyphRef, text, textPath, tref, tspan
Color Profile
Color Profile Module
color-profile
Gradients
Gradient Module
linearGradient, radialGradient, stop
Patterns
Pattern Module
pattern
Clipping
Basic Clip Module
clipPath
Masking
Mask Module
mask
Fonts
Font Module
definition-src, font, font-face, font-face-format, font-face-name, font-face-src, font-face-uri, glyph, hkern, missing-glyph, vkern
Interactivity
Document Events Attribute Module
Graphical Element Events Attribute Module
Animation Events Attribute Module
Scripting
Scripting Module
script
Views
View Module
view
Filters
Basic Filter Module
feBlend, feColorMatrix, feComponentTransfer, feComposite, feFlood, feGaussianBlur, feImage, feMerge, feMergeNode, feOffset, feTile, feFuncR, feFuncG, feFuncB, feFuncA, filter
Animation
Animation Module
animate, animateColor, animateMotion, animateTransform, mpath, set
Extensibility
Extensibility Module
foreignObject
Document Model
Basic Document Model Module

3. Data Types

Data Type Description
Number SVGT and SVGB support fixed point numbers, thus all numbers must be limited in range between -32,767.9999 to +32,767.9999 or the scientific notation equivalent.
Length SVGT only supports user units (i.e., CSS units are not supported), with the one exception that the 'width' and 'height' attributes on the outermost 'svg' element can specify values in any of the following CSS units: in, cm, mm, pt, pc, and %. SVGB supports lengths in user coordinate space and in CSS units.
Coordinate SVGT and SVGB support the coordinate data type, represented with a <length> value.
List of XXX (where XXX represents a value of some type): SVGT and SVGB support the list specification.
Angle SVGT only supports angles if specified with no CSS unit identifiers (which means all angles are in degrees). SVGB supports angles with CSS unit identifiers.
Color SVGT and SVGB support <color> in the CSS2-compatible specification for a color in the sRGB color space, and system colors. Additionally, SVGB and SVGT support 16 original color keywords from XHTML, and do not support X11 colors. SVGB also allows optional support of ICC color profiles.
Paint SVGB supports paint specification for fill and stroke operations, as well as linear and radial gradients. SVGT does not support the more general notion of paint specification and thus only supports solid color fills and strokes.
Percentage SVGB supports percentages. SVGT does not support percentage values except for the 'width' and 'height' attributes on the outermost 'svg' element.
Transform List SVGB and SVGT support transform lists.
URI SVGB and SVGT support the URI datatype.
Frequency SVGB and SVGT do not support frequency values.
Time SVGB and SVGT support time values, with unit identifiers (ms, s).

4. Document Structure

Mobile SVG Document Fragment

SVGB and SVGT content can be in the form of stand-alone SVG Documents or document fragments embedded within a parent XML document. The following is an example of an SVG document fragment embedded within an XHTML 1.1 document:

  
      <?xml version="1.0" standalone="yes"?>
      <html xmlns="http://www.w3.org/1999/xhtml"
               xmlns:svg="http://www.w3.org/2000/svg">
      <head>
          <title xml:lang="en">Sample XHTML + SVG document</title>
      </head>
      <body>
         <svg:svg width="4cm" height="8cm" version="1.1" baseProfile="tiny" >
             <svg:ellipse cx="2" cy="4" rx="2" ry="1" />
         </svg:svg>
      </body>
      </html>

The 'title', 'desc', 'metadata' Elements

SVGB and SVGT support the 'title', 'desc' and 'metadata' elements as defined in SVG 1.1.

The 'svg' Element

SVG Tiny content cannot have nested child 'svg' elements.

The 'baseProfile' attribute on the outermost 'svg' element must have the value "tiny" for SVG Tiny content, and "basic" for SVG Basic content. The 'baseProfile' attribute on nested child 'svg' elements is ignored. The SVG 1.1 specification states that the 'version' attribute of the outermost 'svg' element in SVG 1.1 content must have the value "1.1".

References and the 'defs' Element

For SVGT, all referenced objects, except on the 'image' and 'a' elements, must be internal (using the 'data:' URL scheme, and base64 encoding). SVGB does not put extra limitations on external references as defined by SVG 1.1.

The 'symbol' Element

SVGT does not support symbols.

The 'use' Element

Note that, in SVG 1.1, animations on a referenced element will cause the instances to be animated. SVGB and SVGT also support this feature.

The 'image' Element

SVGB and SVGT require support of the JPEG and PNG formats on the image element. SVGB also requires support of SVG format on the image element.

The 'switch' Element

SVGT and SVGB support the switch element, to determine which SVG 1.1 features are supported by the user agent.

The following feature strings are allowed for SVGT:

The following feature strings are allowed for SVGB:

Multiple Pages

SVGT 1.2/SVGB 1.2 supports the page and pageSet elements as defined in the SVG 1.2 draft. SVGT 1.2 puts the restriction on the pAR for <page> that it should be the same as that for the outermost <svg> in SVGT 1.1.

Streaming

SVGT 1.2/SVGB 1.2 supports the timelineBegin and streamedContents attributes as defined in the SVG 1.2 draft

Progressive Rendering

SVGT 1.2/SVGB 1.2 supports the externalResourcesRequired attribute to enable progressive rendering, as defined in the SVG 1.2 draft

The 'audio' Element

SVGT 1.2/SVGB 1.2 supports the audio element as defined in the SVG 1.2 draft. SVGT 1.2/SVGB 1.2 allows to switch between different audio formats but will not mandate any audio format.

5. Styling

SVGB and SVGT support subsets of SVG 1.1's presentation attributes.

SVGB allows optional support of CSS Mobile Profile 1.0. SVGT does not support styling with CSS.

SVGB and SVGT can introduce constraints on style properties. Allowed values for style properties are listed in Appendix C.

6. Coordinate Systems, Transformations and Units

SVGT 1.2/SVGB 1.2 shall support the new transform definition type 'ref(<target>, <x>, <y>)' as defined in the SVG 1.2 draft. SVGT 1.2/SVGB 1.2 supports only 'host' as a target.

SVGB and SVGT support SVG 1.1's notion of viewports.

SVGB and SVGT support nesting of transformations. The types of transformations that are allowed are generic transformation matrices, or simple operations such as rotation, scaling, skewing, and translation.

The 'transform' Attribute

SVGB and SVGT support the transform attribute. The following transform definition types are supported:

The 'viewBox' Attribute

SVGB and SVGT fully support the 'viewBox' attribute. SVGT has restrictions on allowed preserveAspectRatio attribute values.

The 'preserveAspectRatio' Attribute

SVGB and SVGT support the 'preserveAspectRatio' attribute for adapting the content to devices with different display aspect ratios.

In SVGT,ÃÇ the <align> parameter can only be either 'none' or 'XMidYMid', the <meetOrSlice> parameter can only be 'meet'.

In SVGB, the values of this parameter can be the same as in SVG 1.1.

Establishing a New Viewport

SVGB supports establishing a new viewport via additional embedded 'svg' elements. SVGT does not allow nested 'svg' elements.

Units

SVGT supports user units only, except for the 'width' and 'height' attributes on the outermost 'svg' element where CSS units are also supported. SVGB supports both user units and CSS user identifiers.

Object Bounding Box Units

SVGT does not support bounding box unit specification.

7. Shapes

Paths

SVGB and SVGT support all SVG 1.1 path commands, except the elliptical arc curve command ("A"(absolute) and "a"(relative)).

The path element data is animatable, as defined in the SVG 1.1 specification.

Basic Shapes

SVGT and SVGB support the basic shapes (rectangles, circles, ellipses, lines, polylines, and polygons) as defined in SVG 1.1.

8. Text

SVGB and SVGT represent text with Unicode characters. Mobile SVG user agents are not required to allow text selection and clipboard operations.

SVGT does not support text on a path, 'tspan' and 'tref' elements. SVGT supports the 'rotate' attribute on the 'text' element, but it should be noted that this may cause a slow down of the user agent's rendering speed, and rotation may not be supported with system fonts.

SVGT 1.2/SVGB 1.2 enables a block of text to be rendered inside of a rectangle, while automatically wrapping the text into lines using the flowText element.

SVGT 1.2/SVGB 1.2 shall support the following elements, with the listed restrictions, as specified in the SVG 1.2 draft:

9. Painting: Filling, Stroking and Marker Symbols

SVGB and SVGT support filling and stroking 'path' elements and basic shapes with solid colors.

SVGB supports all features of opacity as defined in SVG 1.2 specification. SVGT supports fill-opacity and stroke-opacity properties only.

SVGT 1.2/SVGB 1.2 supports the non-scaling stroke as defined in the SVG 1.2 specification.

SVGT 1.2 adds support for the following rendering properties: shape-rendering, text-rendering, and image-rendering. color-rendering was already supported in SVGT 1.1.

SVGT 1.2/SVGB 1.2 supports stroking on text when using outline fonts.

10. Color

SVGT and SVGB support <color> in the CSS2-compatible specification for a color in the sRGB color space, and system colors. Additionally, SVGB and SVGT support 16 original color keywords from XHTML, and do not support X11 colors.

Specifying colors using an ICC profile is not supported in SVGT; and as with SVG 1.1, it is optional in SVGB.

11. Gradients and Patterns

SVGB supports solid colors, gradient paints, patterns, and custom paints.

SVGT 1.2 supports a subset of the linearGradient and radialGradient elements. The following is not supported:
-No support for gradientTransform
-No support for spreadMethod (i.e., pad only)
-No support for xlink:href.
-No support for (fx,fy) on radial gradients.
-No percentages on gradient stop offset values.

The SVG WG has still not decided wether to restrict gradientUnits to userSpaceOnUse only or to allow for both userSpaceOnUse and objectBoundingBox. The group is also still investigating possible support for spreadMethod and fx, fy.

12. Clipping, Masking and Compositing

SVGB supports clipping, masking and compositing. SVGB does not support additive clipping paths. Also, in SVGB, clipping paths are restricted to rectangles ('rect' elements or references to 'rect' elements through 'use').

13. Filter Effects

SVGB supports a subset of filter effects. SVGT does not support filter effects.

14. Interactivity

SVGB and SVGT support the SVG 1.1 events. SVGT only allows interactivity with declarative animation.

SVGT 1.2/SVGB 1.2 supports interactivity through the integration of XMLEvents, as described in the SVG 1.2 draft

SVGT 1.2/SVGB 1.2 also supports the focusable property, as defined in the SVG 1.2 draft.

15. Linking

SVGB and SVGT support hyperlink activation from SVG content to other Web resources through the 'a' element.

SVGB supports hyperlink into particular views of SVG content. SVGT does not support this feature.

SVGT 1.2 supports linking into specific views of the SVG document by supporting a subset of the svgView fragment identifier as defined in SVG 1.1. The supported subset is:

SVGFragmentIdentifier ::= SVGViewSpec
SVGViewSpec ::= 'svgView(' SVGViewAttributes ')'
SVGViewAttributes ::= SVGViewAttribute | SVGViewAttribute ';' SVGViewAttributes
SVGViewAttribute ::= zoomAndPanSpec
zoomAndPanSpec ::= 'zoomAndPan(' ZoomAndPanParams ')'

16. Scripting

SVG Tiny 1.2 supports scripting.

SVGB allows optional support of scripting, and includes all of the language features from SVG 1.1 to support scripting.

17. Animation

Both SVGB and SVGT support the full set of SVG 1.1's declarative animation features:

The language features to support animation through scripting and DOM are available in SVGB. SVGT only supports declarative animation.

SVGB and SVGT allow implicit targeting of parent elements, and targeting elements using the 'xlink:href' attribute.

SVGB and SVGT support linear, spline, paced and discrete animations.

SVGT 1.2/SVGB 1.2 supports the snapShotTime attribute as defined in the SVG 1.2 draft

18. Fonts

SVGB and SVGT support a subset of SVG fonts where only the 'd' attribute on the 'glyph' and 'missing-glyph' elements is available. Arbitrary SVG within a 'glyph' is not supported.

As with Full SVG 1.1, SVGB supports downloadable fonts using WebFonts facility defined in the "Cascading Style Sheets (CSS) level 2" specification. In SVGT, an SVG font can be only embedded within the same document that uses the font.

19. Metadata

Both SVGB and SVGT support embedded metadata, as well as elements and attributes from foreign namespaces included within the SVG content.

20. Extensibility

The SVG renderer is not expected to be able to render content in foreign namespaces, but the foreignObject element allows a subtree in a foreign namespace to be assigned a width and height and passed off to another renderer.


List of Changes

The following is a brief list of changes made since the last draft:

Author List

The authors of this specification are the participants of the W3C SVG Working Group.

Acknowledgments

The SVG Working Group would like to acknowledge the great many people outside of the SVG Working Group who help with the process of developing the SVG 1.1 and Mobile SVG specification. These people are too numerous to list individually. They include but are not limited to the early implementers of the SVG 1.0 and 1.1 languages and Mobile SVG profiles (including viewers, authoring tools, and server-side transcoders), developers of SVG content, people who have contributed on the www-svg@w3.org and svg-developers@yahoogroups.com email lists, other Working Groups at the W3C, and the W3C team. Mobile SVG is truly a cooperative effort between the SVG Working Group, the rest of the W3C, and the public and benefits greatly from the pioneering work of early implementers and content developers, feedback from the public, and help from the W3C team.


References

[CSS Mobile Profile]
CSS Mobile Profile 1.0 , Ted Wugofski, Doug Dominiak, Peter Stark, editors, W3C, 24 October 2001 (W3C Candidate Recommendation) Available at http://www.w3.org/TR/css-mobile.
[MOBILE SVG Requirements]
SVG Mobile Requirements , Rick Graham, Tolga K. Capin, editors, W3C, 3 August 2001 (Working Draft). Available at http://www.w3.org/TR/SVGMobileReqs.
[RFC2119]
RFC 2119: Key words for use in RFCs to Indicate Requirement Levels Internet Engineering Task Force, 1997. Available at http://www.ietf.org/rfc/rfc2119.txt.
[SRGB]
Multimedia systems and equipment - Colour measurement and management - Part 2-1: Colour management - Default RGB colour space - sRGB , IEC. Available at http://www.iec.ch/nr1899.htm.
[SVG 1.0]
Scalable Vector Graphics (SVG) 1.0 Specification , Jon Ferraiolo, editor, W3C, 4 September 2001 (Recommendation). Available at http://www.w3.org/TR/SVG/.
[SVG 1.1/2.0 Requirements]
SVG 1.1/2.0 Requirements , Dean Jackson, editor, W3C, 3 August 2001. Available at http://www.w3.org/TR/SVG2Reqs/.
[SVG 1.1]
Scalable Vector Graphics (SVG) Version 1.1 Specification , Dean Jackson, editor, W3C, 15 February 2002. Available at http://www.w3.org/TR/SVG11/.

Appendix A. UDOM

SVGT 1.2 will support the UDOM as defined in the SVG 1.2 draft.


Appendix B. Element Index


Color code
SVG1.2 New Elements Element Name
Elements supported by SVGT1.1 Module Name
Elements supported by SVGT1.2 Section Name in SVG1.2 Doc.
Disallowed in profile n/a
Element SVGT1.2
a Hyperlinking
altGlyph n/a
altGlyphDef n/a
altGlyphItem n/a
animate Animation
animateColor Animation
animateMotion Animation
animateTransform Animation
audio Multimedia enhancements
circle Shape
clipPath n/a
color-profile n/a
cursor n/a
definition-src n/a
defs Basic Structure
desc Basic Structure
deviceColor n/a
elementDef n/a
ellipse Shape
extensionDefs n/a
feBlend n/a
feColorMatrix n/a
feComponentTransfer n/a
feComposite n/a
feConvolveMatrix n/a
feDiffuseLighting n/a
feDisplacementMap n/a
feDistantLight n/a
feFlood n/a
feFuncA n/a
feFuncB n/a
feFuncG n/a
feFuncR n/a
feGaussianBlur n/a
feImage n/a
feMerge n/a
feMergeNode n/a
feMorphology n/a
feOffset n/a
fePointLight n/a
feSpecularLighting n/a
feSpotLight n/a
feTile n/a
feTurbulence n/a
filter n/a
flowDiv Text Enhancements
flowImage n/a
flowLine n/a
flowPara Text Enhancements
flowRef n/a
flowRegion Text Enhancements
flowRegionBreak n/a
flowRegionExclude n/a
flowSpan n/a
flowText Text Enhancements
flowTref n/a
font-face Basic Font
font-face-format n/a
font-face-name Basic Font
font-face-src Basic Font
font-face-uri n/a
foreignObject Extensibility
g Basic Structure
glyph Basic Font
glyphRef n/a
handler XML Events Integration
hint n/a
hkern Basic Font
image Image
line Shape
linearGradient Tiny Gradient?
marker n/a
mask n/a
metadata Basic Structure
missing-glyph Basic Font
mpath Animation
page Multiple Pages
pageSet Multiple Pages
par n/a
param n/a
path Shape
pattern n/a
polygon Shape
polyline Shape
prefetch n/a
prototype n/a
radialGradient Tiny Gradient?
rect Shape
refContent n/a
script Scripting
seq n/a
set Animation
solidColor n/a
stop n/a
style n/a
svg Basic Structure
switch Conditional Processing
symbol n/a
text Basic Text
textPath n/a
title Basic Structure
transformer n/a
transition n/a
tref n/a
tspan n/a
use Basic Structure
veAffine n/a
vectorEffect n/a
veExclude n/a
veFill n/a
veIntersect n/a
veJoin n/a
veMarker n/a
vePath n/a
vePathRef n/a
veReverse n/a
veSetback n/a
veStroke n/a
veStrokePath n/a
veUnion n/a
video n/a
view n/a
vkern n/a

Appendix C. New Elements and Attributes


Color code
Elements/Attributes supported by SVGT1.2
Section Element Attribute Values
Text Wrapping flowText PresentationAttrs
Text Wrapping flowText StyleAttrs
Text Wrapping flowRegion

Text Wrapping flowRegionExclude

Text Wrapping flowDiv PresentationAttrs
Text Wrapping flowDiv StyleAttrs
Text Wrapping flowPara PresentationAttrs
Text Wrapping flowPara StyleAttrs
Text Wrapping flowSpan PresentationAttrs
Text Wrapping flowSpan StyleAttrs
Text Wrapping flowRegionBreak

Text Wrapping flowLine PresentationAttrs
Text Wrapping flowLine StyleAttrs
Text Wrapping flowTref xlink:href %URI;
Text Wrapping flowTref PresentationAttrs
Text Wrapping flowTref StyleAttrs
Text Wrapping flowRef xlink:href %URI;
Text Wrapping flowRef PresentationAttrs
Text Wrapping flowRef StyleAttrs
Text Wrapping flowImage width %Length;
Text Wrapping flowImage height %Length;
Editable Text Fields flowDiv editable true | false
Editable Text Fields text editable true | false
Element definitions extensionDefs PresentationAttrs
Element definitions extensionDefs StyleAttrs
Element definitions elementDef PresentationAttrs
Element definitions elementDef StyleAttrs
Element definitions elementDef name CDATA
Element definitions prototype

Element definitions transformer xlink:href %URI;
Element definitions transformer type content-type
Element definitions param name CDATA
Element definitions param value CDATA
Element definitions refContent PresentationAttrs
Element definitions refContent StyleAttrs
Element definitions refContent select %XPathSelector;
Element definitions refContent transform %TransformList;
Element focus and navigation container elements and graphics elements focusable true | false | auto
Tooltips hint

The handler element handler commonAttrs
The handler element handler type %ContentType;
The handler element handler xlink:href %URI;
The handler element handler xml:base %URI;
The handler element handler ev:event CDATA
The audio element audio XLinkEmbedAttrs
The audio element audio MediaAttrs
The video element video x %Coordinate;
The video element video y %Coordinate;
The video element video width %Length;
The video element video height %Length;
The video element video preserveAspectRatio %PreserveAspectRatioSpec;
The video element video PresentationAttrs
The video element video StyleAttrs
The video element video XLinkEmbedAttrs
The video element video MediaAttrs
Transition effects transition type transition-type
Transition effects transition subtype transition-type
Transition effects transition dur CDATA
Transition effects transition startProgress %TransitionValue;
Transition effects transition endProgress %TransitionValue;
Transition effects transition direction forward | reverse
Transition effects transition fadeColor %Color;
Timing and Synchronization par

Timing and Synchronization seq

The pageSet element pageSet PresentationAttrs
The pageSet element pageSet StyleAttrs
The page element page PresentationAttrs
The page element page StyleAttrs
The page element page viewBox %ViewBoxSpec;
The page element page preserveAspectRatio %PreserveAspectRatioSpec;
The page element page page-orientation 270 | -180 | -90 | 0 | 90 | 180 | 270
The timelineBegin attribute svg, page? timelineBegin onLoad | onStart
The streamedContents attribute page? streamedContent keep | discard
Enhanced Alpha Compositing container elements and graphics elements clip-to-self true | false | inherit
Enhanced Alpha Compositing container elements enable-background accumulate | new [ x y width height ] | inherit
Enhanced Alpha Compositing container elements knock-out true | false | inherit
Enhanced Alpha Compositing container elements and graphics elements comp-op clear | src | dst | src_over | dst_over | src_in | dst_in | src_out | dst_out | src_atop | dst_atop | xor | plus | multiply | screen | overlay | darken | lighten | color_dodge | color_burn | hard_light | soft_light | difference | exclusion | inherit
Constrained Transformations container elements, use, image, feImage transform-host true | false
The solidColor Element solidColor PresentationAttrs
The solidColor Element solidColor StyleAttrs
The solidColor Element solidColor solid-color currentColor | <color> [icc-color( <name> [, <icccolorvalue>]* ) ] | inherit
The solidColor Element solidColor solid-opacity <alphavalue> | inherit
Background Fill Property viewport-creating elements background-fill <paint>
Inheritance into the shadow tree all elements that establish shadow trees shadowInherit onDefine | onUse | none | inherit
Using device colors deviceColor xlink:href %URI;
Using device colors deviceColor name
Controlling the rendering color space container elements and graphical elements rendering-color-space auto | sRGB | linearRGB | <name> | %URI; |inherit
Prefetching resources prefetch xlink:href %URI;
Prefetching resources prefetch StdAttrs
Prefetching resources prefetch mediaSize <number> | <percentage>
Prefetching resources prefetch mediaTime <clock> | <percentage>
Prefetching resources prefetch bandwidth <number> | <percentage>
The vectorEffect element vectorEffect vectorEffectUnits userSpaceOnUse | objectBoundingBox
The vectorEffect element vectorEffect compositing normal | knockout
The veStrokePath element veStrokePath result %OutputName;
The veStrokePath element veStrokePath in %SourcePath; | %InputName;
The veStrokePath element veStrokePath transform %TransformList;
The veStrokePath element veStrokePath stroke-width %StrokeWidthValue;
The veStrokePath element veStrokePath stroke-dasharray %StrokeDashArrayValue;
The veStrokePath element veStrokePath stroke-dashoffset %StrokeDashOffsetValue;
The veStrokePath element veStrokePath stroke-linejoin (miter | round | bevel | inherit)
The veStrokePath element veStrokePath stroke-linecap (butt | round | square | inherit)
The veStrokePath element veStrokePath stroke-miterlimit %StrokeMiterLimitValue;
The veSetback element veSetback result %OutputName;
The veSetback element veSetback in %SourcePath; | %InputName;
The veSetback element veSetback transform %TransformList;
The veSetback element veSetback setback-offset %Length;
The veAffine element veAffine result %OutputName;
The veAffine element veAffine in %SourcePath; | %InputName;
The veAffine element veAffine transformPath %TransformList;
The veReverse element veReverse result %OutputName;
The veReverse element veReverse in %SourcePath; | %InputName;
The veJoin element veJoin result %OutputName;
The veJoin element veJoin in %SourcePath; | %InputName;
The veJoin element veJoin in2 %SourcePath; | %InputName;
The veJoin element veJoin connect line | none
The veUnion element veUnion result %OutputName;
The veUnion element veUnion in %SourcePath; | %InputName;
The veUnion element veUnion in2 %SourcePath; | %InputName;
The veIntersect element veIntersect result %OutputName;
The veIntersect element veIntersect in %SourcePath; | %InputName;
The veIntersect element veIntersect in2 %SourcePath; | %InputName;
The veExclude element veExclude result %OutputName;
The veExclude element veExclude in %SourcePath; | %InputName;
The veExclude element veExclude in2 %SourcePath; | %InputName;
The veFill element veFill in %SourcePath; | %InputName;
The veFill element veFill fill StrokePaint | FillPaint
The veFill element veFill transform %TransformList;
The veStroke element veStroke in %SourcePath; | %InputName;
The veStroke element veStroke fill StrokePaint | FillPaint
The veStroke element veStroke transform %TransformList;
The veMarker element veMarker in %SourcePath; | %InputName;
The veMarker element veMarker marker-start ?
The veMarker element veMarker marker-mid ?
The veMarker element veMarker marker-end ?
The veMarker element veMarker transform %TransformList;
The vePath element vePath result %OutputName;
The vePathRef element vePathRef connect line | none
The vePathRef element vePathRef reverse ?
The vePathRef element vePathRef transform %TransformList;
The vePathRef element vePathRef xlink:href %URI;