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.