The main points about SVG as far as transforming it are:

  • SVG is an XML application so transforming it using XSLT is a possibility.
  • SVG is a low-level graphics language so any large scale SVG application is going to need tools to create and manipulate it.
  • SVG's declarative animation is defined in SVG so generating animation commands can also use XSLT.
  • SVG's content is primarily the path descriptions which are designed for conciseness. The d attribute needs parsing if any transformations are to be applied to it.
  • SVG is a 2D standard so presenting 3D animation has all the problems that the early animators in the 1920s had

The two main solutions for transforming SVG are:

  • Use Javascript and manipulate the DOM
  • Use XSLT and manipulate the SVG content which is primarily the values of the path descriptions

Here we present a solution based on XSLT which we have called path_ology.