Validating svg file
SVG allows for three types of graphic objects: vector graphic shapes (e.g., paths consisting of straight lines and curves), images and text.
Graphical objects can be grouped, styled, transformed and composited into previously rendered objects.
The feature set includes nested transformations, clipping paths, alpha masks, filter effects and template objects. Animations can be defined and triggered either declaratively (i.e., by embedding SVG animation elements in SVG content) or via scripting.
Sophisticated applications of SVG are possible by use of a supplemental scripting language which accesses SVG Document Object Model (DOM), which provides complete access to all elements, attributes and properties.
SVG leverages and integrates with other W3C specifications and standards efforts.
By leveraging and conforming to other standards, SVG becomes more powerful and makes it easier for users to learn how to incorporate SVG into their Web sites.
In particular, DTDs do not handle namespaces gracefully.
It is recommended that a DOCTYPE declaration be included in SVG documents.
Within this specification, the key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT", "SHOULD", "SHOULD NOT", "RECOMMENDED", "MAY", and "OPTIONAL" are to be interpreted as described in [RFC2119].
Hit-testing is also known as A container element which can contain graphics elements or other container elements which define a set of graphics that is to be used as a semi-transparent mask for compositing foreground objects into the current background. A paint represents a way of putting color values onto the canvas.
A paint might consist of both color values and associated alpha values which control the blending of colors against already existing color values on the canvas.
A glyph represents a unit of rendered content within a font.
Often, there is a one-to-one correspondence between characters to be drawn and corresponding glyphs (e.g., often, the character "A" is rendered using a single glyph), but other times multiple glyphs are used to render a single character (e.g., use of accents) or a single glyph can be used to render multiple characters (e.g., ligatures).
See the discussion of the SVG viewport in the chapter on Coordinate Systems, Transformations and Units.