Rendered Elements
Elements rendered by the SVG Interpreter are listed below.
Element Modules
In the tables below, elements that are not rendered by the SVG
Interpreter are displayed in italic style.
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:
-
Hyperlink module lets you associate links to primitives.
-
Image module defines how raster images shall be drawn.
-
Marker module lets you add markers at the beginning, in the middle or at the
end of a drawing.
- Pattern module lets you fill or stroke shapes using a pre-defined graphic
object. This predefined graphic object can be defined with vectorial shapes
or a bitmap image.
-
Shape module groups together the drawing of graphics primitives.
-
Text module defines how text elements shall be drawn.
Interpreted Elements
Elements interpreted by the SVG Interpreter are listed below.
Hyperlink ModuleElements | 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 ModuleElements | Attributes | Description |
---|
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 ModuleElements | Attributes | Description |
---|
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 ModuleElements | Attributes | Description |
---|
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 ModuleElements | Attributes | Description |
---|
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 ModuleElements | Attributes | Description |
---|
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 many elements sharing the
same attributes. | defs | Core.attrib,
Conditional.attrib, Style.attrib,
External.attrib, Presentation.attrib,
GraphicalEvents.attrib, transform | Defines groups of elements to 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 to 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 to
display it. |
Text ModuleElements | Attributes | Content |
---|
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
Module attributes are listed below.
Animation Attribute SetsCollection 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
ModuleCollection Name | Attributes in Collection |
---|
AnimationEvents.attrib | onbegin, onend, onrepeat, onload |
Clip
Attribute SetCollection Name | Attributes in Collection |
---|
Clip.attrib | clip-path, clip-rule |
Conditional Processing
Attribute SetCollection Name | Attributes in Collection |
---|
Conditional.attrib | requiredFeatures, requiredExtensions, systemLanguage |
Container Attribute ModuleCollection 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 SetCollection Name | Attributes in Collection |
---|
Cursor.attrib | cursor |
Document Events Attribute
ModuleCollection Name | Attributes in Collection |
---|
DocumentEvents.attrib | onunload, onabort, onerror, onresize, onscroll, onzoom |
ExternalResourcesRequired Attribute ModuleCollection Name | Attributes in Collection |
---|
External.attrib | externalResourcesRequired |
Gradient Attribute SetCollection Name | Attributes in Collection |
---|
Gradient.attrib | stop-color, stop-opacity |
Graphical Element
Events Attribute ModuleCollection 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 SetsCollection 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 SetCollection 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 ModuleCollection 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
Interpreted attributes are listed below.
Core Attribute ModuleCollection Name | Attributes in Collection |
---|
id | Identifier of the graphics primitive. |
Graphics Attribute ModuleCollection Name | Attributes in Collection |
---|
display | Displays or hides the graphics
primitive.
Only
the value "none" is interpreted. |
Marker Attribute SetCollection 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 (that is, except the first and last) of the primitive. | marker-end | Draws a marker at
the last point of the primitive. |
Opacity Attribute ModuleCollection 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 ModuleCollection 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 SetCollection Name | Attributes in Collection |
---|
style | Groups all the attributes together. |
Text Attribute SetsCollection 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 are interpreted correctly, otherwise the
default font is used. More About the font-family Attribute | 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 ModuleCollection 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. |
More About the font-family
Attribute
The font-family attribute sets the font to be used to render the text. It can
reference a list of font family names and/or generic family names.
The family-name can be interpreted if the font is supported.
3 types of fonts are supported:
- V4 fonts
- TrueType fonts
- PostScript Type 1 fonts.
These fonts are described in About Fonts.
The generic-family are substituted by the following font with the SVG
interpreter:
- 'serif' is interpreted as 'Times New Roman'
- 'sans-serif' is interpreted as
'Arial'
- 'cursive' is interpreted as 'Adobe
Poetica'
- 'fantasy' is interpreted as 'Alpha
Geometrique'
- 'monospace' is interpreted as
'Courier New'.
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
|