SVG Interpreter

This section deals with the elements rendered by the SVG Interpreter:

Below are detailed the modules, elements and attributes rendered by the Version 5 SVG Interpreter using the classification made by the World Wide Web Consortium (W3C).
For a complete list of all SVG modules, elements and attributes that exist, you can browse the following Internet site:

http://www.w3.org/TR/2003/REC-SVG11-20030114/

W3C® is a trademark (registered in numerous countries) of the World Wide Web Consortium; marks of W3C are registered and held by its host institutions MIT, ERCIM, and Keio.
More information can be found at the following address:

http://www.w3.org/Consortium/Legal/2002/trademark-license-20021231

 

 

Legend


Elements that are not rendered by the Version 5 SVG Interpreter are displayed in red.

Elements rendered by the Version 5 SVG Interpreter are displayed in green.

 

Element Modules

 

Animation.Module   animate animateColor animateTransform animateMotion set mpath
Clip Module clipPath
Color Profile Module color-profile
Conditional Processing Module switch
Cursor Module cursor
Extensibility Module foreignObject
Filter Module filter feFlood feColorMatrix feComponentTransfer feComposite feConvolveMatrix feDiffuseLighting feDisplacementMap feFlood feGaussianBlur feImage feMerge feMergeNode feMorphology feOffset feSpecularLighting feTile feTurbulence  feDistantLight fePointLight feSpotLight feFuncR feFuncG feFuncB feFuncA
Font.Module font font-face  glyph missing-glyph hkern vkern font-face-src font-face-uri font-face-format font-face-name definition-src
Gradient Module linearGradient radialGradient stop
Hyperlink.Module a
Image Module

 

image
Marker Module marker
Mask Module mask
Pattern Module pattern
Script Module script
Shape Module path rect circle line polyline polygon ellipse
Structure Module svg  g  defs desc title metadata symbol use
Style Module style
Text Module text tspan tref textPath altGlyph altGlyphDef altGlyphItem glyphRef
View Module view

 

The following modules are parsed and processed by the SVG Interpreter:


Interpreted Elements

 

Hyperlink Module
 

Elements

Attributes

Description

a Core.attrib, Conditional.attrib, Style.attrib, transform, target, GraphicalEvents.attrib, Presentation.attrib, External.attrib, XLinkReplace.attrib Associates a group of primitives to link attributes (local or non-local URI). This link is not active during the visualization process but it is saved whenever a conversion to CGM is made.

Image Module
 

Elements

Attributes

Content Model

image

Core.attrib, XLinkEmbed.attrib, Conditional.attrib, Style.attrib, External.attrib, GraphicalEvents.attrib, preserveAspectRatio, Paint.attrib, Opacity.attrib, Graphics.attrib, Cursor.attrib, Filter.attrib, Mask.attrib, GraphicalEvents.attrib, Clip.attrib, Profile.attrib, Viewport.attrib, transform, x, y, width, height

Describes a vector or bitmap image that is defined via a link to an external file (relative or absolute path) or via a base64 encoding (in that case, the formats that can be read are: BMP, JPEG, TIFF or PNG).
Links to external bitmap images are supported but not links to vector images.

Marker Module
 

Elements

Attributes

Content Model

marker

Core.attrib, External.attrib, Style.attrib, Presentation.attrib, viewBox, preserveAspectRatio, refX, refY, markerUnits, markerWidth, markerHeight, orient

Defines a group of primitives to be re-used as markers via the marker attribute.
The markerUnits attribute is not taken into account, it is considered as being equal to userSpaceOnUse.
The orient attribute is not taken into account and the marker is not oriented according to the path segment. It is always applied without any orientation.

Pattern Module
 

Elements

Attributes

Content Model

pattern

Core.attrib, XLink.attrib, Conditional.attrib , External.attrib, Style.attrib, Presentation.attrib, viewBox, preserveAspectRatio, patternTransform, x, y, width, height, patternUnits Defines a group of primitives to be re-used for filling or stroking shapes.
The patternUnits attribute is not taken into account, it is considered as being equal to userSpaceOnUse.
The only interpreted pattern is pattern defined with a bitmap image. Patterns defined with a set of vectorial elements are not recognized.
Therefore, the child of the pattern element should be of type <image>. This enables to read
Drafting documents with a fill texture.

Shape Module
 

Elements

Attributes

Content Model

path

Core.attrib, Conditional.attrib, External.attrib, Style.attrib, transform, d, pathLength, GraphicalEvents.attrib, Paint.attrib, Opacity.attrib, Graphics.attrib, Cursor.attrib, Filter.attrib, Mask.attrib, GraphicalEvents.attrib, Clip.attrib, Marker.attrib

Defines the outline of a shape. It is made of circular or elliptical arcs, lines, cubic poly-Béziers and quadratic poly-Béziers. This outline can be closed or open.

rect

Core.attrib, Conditional.attrib, Style.attrib, GraphicalEvents.attrib, Paint.attrib Opacity.attrib, Graphics.attrib, Cursor.attrib, Filter.attrib, Mask.attrib, GraphicalEvents.attrib, Clip.attrib, x, y, width, height, rx, ry, transform

Defines a rectangle.
Rounded corners are not interpreted.

circle

Core.attrib, Conditional.attrib, Style.attrib, GraphicalEvents.attrib, Paint.attrib, Opacity.attrib, Graphics.attrib, Cursor.attrib, Filter.attrib, Mask.attrib, GraphicalEvents.attrib, Clip.attrib, cx, cy, r, transform

Defines a circle.

line

Core.attrib, Conditional.attrib, Style.attrib, GraphicalEvents.attrib, Paint.attrib, Opacity.attrib, Graphics.attrib, Cursor.attrib, Filter.attrib, Mask.attrib, GraphicalEvents.attrib, Clip.attrib, x1, y1, x2, y2, transform

Defines a line.

ellipse

Core.attrib, Conditional.attrib, Style.attrib, GraphicalEvents.attrib, Paint.attrib, Opacity.attrib, Graphics.attrib, Cursor.attrib, Filter.attrib, Mask.attrib, GraphicalEvents.attrib, Clip.attrib, cx, cy, rx, ry, transform

Defines an ellipse.

polyline

Core.attrib, Conditional.attrib, Style.attrib, GraphicalEvents.attrib, Paint.attrib, Opacity.attrib, Graphics.attrib, Cursor.attrib, Filter.attrib, Mask.attrib, GraphicalEvents.attrib, Clip.attrib, points, transform

Defines a polyline.
If the polyline is in open mode, only the outline is drawn, the polyline is not filled.

 

polygon

Core.attrib, Conditional.attrib, Style.attrib, GraphicalEvents.attrib, Paint.attrib, Opacity.attrib, Graphics.attrib, Cursor.attrib, Filter.attrib, Mask.attrib, GraphicalEvents.attrib, Clip.attrib, points, transform

Defines a polygon.

Structure Module
 

Elements

Attributes

Content Model

svg

Core.attrib, Conditional.attrib, Style.attrib, x, y, width, height, viewBox, preserveAspectRatio, zoomAndPan, version, baseProfile, contentScriptType, contentStyleType, External.attrib, Presentation.attrib, GraphicalEvents.attrib, DocumentEvents.attrib

Groups an SVG image.

g

Core.attrib, Conditional.attrib, Style.attrib, External.attrib, Presentation.attrib, GraphicalEvents.attrib, transform

Groups together one or several elements sharing the same attributes.

defs

Core.attrib, Conditional.attrib, Style.attrib, External.attrib, Presentation.attrib, GraphicalEvents.attrib, transform

Defines groups of elements that will be re-used. Its children are thus reference elements.

desc

Core.attrib, Style.attrib

Describes the element.

title

Core.attrib, Style.attrib

Indicates the title of the element.

symbol

Core.attrib, Style.attrib, External.attrib, viewBox, preserveAspectRatio, Presentation.attrib, GraphicsElementEventAttrs

Defines a group of elements that will be re-used.

use

Core.attrib, Style.attrib, Conditional.attrib, transform, x, y, width, height, XLinkEmbed.attrib, Presentation.attrib, GraphicsElementEventAttrs

References a predefined group of elements in order to display it.

Text Module
 

Elements

Attributes

Content Model

text Core.attrib, Conditional.attrib, External.attrib, Style.attrib, transform, x, y, dx, dy, rotate, textLength, lengthAdjust, GraphicalEvents.attrib, Paint.attrib, Font.attrib, Opacity.attrib, Graphics.attrib, Cursor.attrib, Filter.attrib, Mask.attrib, GraphicalEvents.attrib, Clip.attrib, TextContent.attrib, Text.attrib Defines a text.

The text color is the one defined by the stroke color, and if the stroke color is not explicitly defined then the fill color is used.

Module Attributes

Animation Attribute Sets
 

Collection Name

Attributes in Collection

Animation.attrib

XLink.attrib

AnimationAttribute.attrib

attributeName, attributeType

AnimationTiming.attrib

begin, dur, end, min, max, restart, repeatCount, repeatDur, fill

AnimationValue.attrib

calcMode, values, keyTimes, keySplines, from, to, by

AnimationAddtion.attrib

additive, accumulate

Animation Events Attribute Module
 

Collection Name

Attributes in Collection

AnimationEvents.attrib

onbegin, onend, onrepeat, onload

Clip Attribute Set
 

Collection Name

Attributes in Collection

Clip.attrib

clip-path, clip-rule

Conditional Processing Attribute Set
 

Collection Name

Attributes in Collection

Conditional.attrib

requiredFeatures, requiredExtensions, systemLanguage

Container Attribute Module
 

Collection Name

Attributes in Collection

Container.attrib

enable-background

Core Attribute Module
 

Collection Name

Attributes in Collection

Core.attrib

id, xml:base, xml:lang, xml:space

Cursor Attribute Set
 

Collection Name

Attributes in Collection

Cursor.attrib

cursor

Document Events Attribute Module
 

Collection Name

Attributes in Collection

DocumentEvents.attrib

onunload, onabort, onerror, onresize, onscroll, onzoom

ExternalResourcesRequired Attribute Module
 

Collection Name

Attributes in Collection

External.attrib

externalResourcesRequired

Gradient Attribute Set
 

Collection Name

Attributes in Collection

Gradient.attrib

stop-color, stop-opacity

Graphical Element Events Attribute Module
 

Collection Name

Attributes in Collection

GraphicalEvents.attrib

onfocusin, onfocusout, onactivate, onclick, onmousedown, onmouseup, onmouseover, onmousemove, onmouseout, onload

Graphics Attribute Module
 

Collection Name

Attributes in Collection

Graphics.attrib

display, image-rendering, pointer-events, shape-rendering, text-rendering, visibility

Filter Attribute Sets
 

Collection Name

Attributes in Collection

Filter.attrib

filter

FilterColor.attrib

color-interpolation-filters

FilterPrimitive.attrib

x, y, width, height, result

FilterPrimitiveWithIn.attrib

FilterPrimitive.attrib, in

Marker Attribute Set
 

Collection Name

Attributes in Collection

Marker.attrib

marker-start, marker-mid, marker-end

Mask Attribute Set
 

Collection Name

Attributes in Collection

Mask.attrib

mask

Opacity Attribute Module
 

Collection Name

Attributes in Collection

Opacity.attrib

opacity, stroke-opacity, fill-opacity

Paint Attribute Module
 

Collection Name

Attributes in Collection

Paint.attrib

color, fill, fill-rule, stroke, stroke-dasharray, stroke-dashoffset, stroke-linecap, stroke-linejoin, stroke-miterlimit, stroke-width, color-interpolation, color-rendering

Style Attribute Set
 

Collection Name

Attributes in Collection

Style.attrib

style, class

Text Attribute Sets
 

Collection Name

Attributes in Collection

Text.attrib

writing-mode

TextContent.attrib

alignment-baseline, baseline-shift, direction, dominant-baseline, glyph-orientation-horizontal, glyph-orientation-vertical, kerning, letter-spacing, text-anchor, text-decoration, unicode-bidi, word-spacing

Font.attrib

font-family, font-size, font-size-adjust, font-stretch, font-style, font-variant, font-weight

Viewport Attribute Module
 

Collection Name

Attributes in Collection

Viewport.attrib

clip, overflow

XLink Attribute Module
 

Collection Name

Attributes in Collection

XLink.attrib

xlink:type, xlink:href, xlink:role, xlink:arcrole, xlink:title, xlink:show, xlink:actuate

XLinkRequired.attrib

xlink:type, xlink:href, xlink:role, xlink:arcrole, xlink:title, xlink:show, xlink:actuate

XLinkEmbed.attrib

xlink:type, xlink:href, xlink:role, xlink:arcrole, xlink:title, xlink:show, xlink:actuate

XLinkReplace.attrib

xlink:type, xlink:href, xlink:role, xlink:arcrole, xlink:title, xlink:show, xlink:actuate

Interpreted Attributes

Core Attribute Module
 

Collection Name

Attributes in Collection

id Identifier of the graphics primitive.

Graphics Attribute Module
 

Collection Name

Attributes in Collection

display Displays or hides the graphics primitive.

Only the value "none" is interpreted.

Marker Attribute Set
 

Collection Name

Attributes in Collection

marker-start Draws a marker at the first point of the primitive.
marker-mid Draws a marker at every other point (i.e. except the first and last) of the primitive.
marker-end Draws a marker at the last point of the primitive.

Opacity Attribute Module
 

Collection Name

Attributes in Collection

opacity Defines the transparency of the primitive.
Only formats enabling to save as a raster image can manage transparency. Therefore transparency is not displayed.
Moreover, even when saving as a raster image, transparency does not support nesting.
stroke-opacity Defines the transparency of the primitive's outline.
Only formats enabling to save as a raster image can manage transparency. Therefore transparency is not displayed.
Moreover, even when saving as a raster image, transparency does not support embedding.
fill-opacity Defines the transparency of the primitive's fill.
Only formats enabling to save as a raster image can manage transparency. Therefore transparency is not displayed.
Moreover, even when saving as a raster image, transparency does not support embedding.

Paint Attribute Module
 

Collection Name

Attributes in Collection

color Defines the color. The <color> type is compliant with CSS2 specification for a color defined in sRGB space. This attribute supports several syntaxes defined in [CSS2-color-types] (browse the w3c.org Internet site for detailed information), as well as a list of keywords, each keyword being associated to a color.

Supported syntaxes for numerical color specifications are #rgb, or #rrggbb, or rgb(R, G, B), or rgb(R%, G%, B%).

Below are examples with different syntaxes that all specify the same color:
 

EM { color: #f00 }              /* #rgb */

EM { color: #ff0000 }           /* #rrggbb */

EM { color: rgb(255,0,0) }      /* integer range 0 - 255 */

EM { color: rgb(100%, 0%, 0%) } /* float range 0.0% - 100.0% */

fill Defines the fill type.
The value "none', "current-color" or a color are supported.
Gradients are not supported.
fill-rule Defines the algorithm to be used when filling a polygon.
The only supported algorithm is "nonzero".
The "evenodd" algorithm is not supported.
stroke Defines how the element is to be stroked.
The value "none', "current-color" or a color are supported.
Patterns and gradients are not supported.
stroke-dasharray Defines the pattern to be applied to get a dotted line.
stroke-linecap Defines the shape to be used at the end of the outline when it is stroked: round, square, etc.
Saving in vector format includes this attribute. However, its display and its save in raster format are not supported.
stroke-linejoin Defines the shape to be used when corners of a polyline are stroked: round, miter, etc.
Saving in vector format includes this attribute. However, its display and its save in raster format are not supported.
stroke-width Defines the stroke width.
Saving in vector format includes this attribute. However, very thick strokes can be painted using a thin width.

Style Attribute Set
 

Collection Name

Attributes in Collection

style Groups all the attributes together.

Text Attribute Sets
 

Collection Name

Attributes in Collection

letter-spacing Defines the spacing to be used between each character.
The display of TrueType fonts does not support this attribute and thus, a great number of generators (discretization).
text-anchor Defines the alignment of a text.
font-family Defines the font family name.
Only fonts supported by Version 5 are interpreted correctly, otherwise the default font is used. More info...
font-size Defines the text height.
The height must be defined as a length or percentage.
font-weight Defines whether the text is to be rendered using a bold or normal style.
The display of TrueType fonts does not support this attribute and thus, a great number of generators (discretization) as well.

XLink Attribute Module
 

Collection Name

Attributes in Collection

xlink:href Defines links. This attribute is interpreted for the link element or for defining raster images.
xlink:show Defines how the resource pointed to by the link is to be displayed.

Transform Attribute

The transform attribute is parsed and processed. The following transformations are applied:

More about the font-family attribute


This property sets the font to be used to render the text. It can reference a list of font family names and/or generic family names.
 

3 types of fonts are supported in Version 5:

These fonts are described in the section entitled Customizing Fonts for Displaying Geometry Area Texts.

For detailed information on the generic-family attribute, you can browse the following Internet site:

 

http://www.w3.org/TR/REC-CSS2/fonts.html#generic-font-families