In this project you will implement the SVG CSS Profile using the mechanisms provided by the cssutils project ([login to view URL]). The code should be implemented in the [login to view URL] project, hosted at Sourceforge.
The W3C defines the style properties for CSS at [login to view URL] The completed project should specifically include all properties listed in section 6.1 following the statement, "The following SVG properties are not defined in CSS2".
The foundation of an implementation has been started in [login to view URL] at [login to view URL] . Based on this work, you will complete the implementation based on the specification. The final implementation should follow the style used by this initial work. In particular, the macro/property definitions should closely mirror the hierarchy of constructs defined in the specification. Note that many of these constructs may already exist as macros in the cssutils project - [login to view URL] - but others may require a new or overridden implementation. For example, the current implementation utilizes the {positivenum} macro from the parent implementation, but overrides {length} based on the SVG spec. Note that it is known that the {color} macro will need to be overrridden as many more colors are allowed in the SVG spec than in the CSS2 spec.
A 50% bonus will be awarded if you can provide (or identify it it already exists) a sample stylesheet that exercises the majority of the SVG style definitions. Specifically, all properties and macros must be exercised, and all major aspects of properties should be exercised. For example, to exercise stroke-width, one might use the following.
.class1 {
stroke-width: 5px;
}
.class2 {
stroke-width: 5;
}
.class3 {
stroke-width: inherit;
}
The final deliverable may be contributed directly to Sourceforge (commit access will be granted for the duration of this project) or you may e-mail the files directly to me.