Scalable Vector Graphics (SVG) [JN05] is the only open standard for describing twodimensional vector graphics. SVG is not related to a platform, thus it can be in use on platforms as various as computers (regardless of the operating system) or mobile devices. The scope of standard is very broad makes it possible to draw basic shapes (circles, rectangles, Bézier curves, etc.), to integrate and mix raster images, etc., with a large number of possible customizations (e.g. animation and transparency).
One of the most important characteristic is that SVG is an XML [BPSM+06] dialect. The eXtensible Markup Language (XML) is another open standard for structured data interchange based on text files. As a consequence, as any XML specification, SVG may be manipulated by the Document Object Model API (DOM) [HHW+04]. The DOM API allows to access and alter XML data using languages (like Java) or scripts (like JavaScript). This means that a script or a program may manipulate an SVG document that an SVG interpreter will be in charge of rendering dynamically.
DoPIDOM [Bea06] is a framework for developing DOM-based components able to manipulate an SVG document at same time the SVG document is rendered. It is based on Batik [Apa], and organizes DOM components in two categories: query consumer for navigating the SVG document and action producer for altering the SVG document.
~
FONDEMENT, Frédéric, 2007. Concrete syntax definition for modeling languages. Lausanne: EPFL.