Code

compilable! wip
authorishmal <ishmal@users.sourceforge.net>
Wed, 18 Jun 2008 18:29:30 +0000 (18:29 +0000)
committerishmal <ishmal@users.sourceforge.net>
Wed, 18 Jun 2008 18:29:30 +0000 (18:29 +0000)
src/dom/svg2.h

index 97a534d049183406790a9fd3ae1d7d302606200c..15032510685d5403b181748d3ac896e0410930e5 100644 (file)
@@ -57,9 +57,6 @@
 #include "dom/smil.h"\r
 \r
 \r
-\r
-#include "svgtypes.h"\r
-\r
 #include <math.h>\r
 \r
 #define SVG_NAMESPACE "http://www.w3.org/2000/svg"\r
@@ -89,9 +86,39 @@ typedef dom::NodeList NodeList;
 \r
 class SVGElement;\r
 typedef Ptr<SVGElement> SVGElementPtr;\r
+class SVGUseElement;\r
+typedef Ptr<SVGUseElement> SVGUseElementPtr;\r
 class SVGDocument;\r
 typedef Ptr<SVGDocument> SVGDocumentPtr;\r
 \r
+/*#########################################################################\r
+## SVGException\r
+#########################################################################*/\r
+\r
+/**\r
+ *\r
+ */\r
+class SVGException\r
+{\r
+public:\r
+\r
+    /**\r
+     * SVGExceptionCode\r
+     */\r
+    typedef enum\r
+        {\r
+        SVG_WRONG_TYPE_ERR           = 0,\r
+        SVG_INVALID_VALUE_ERR        = 1,\r
+        SVG_MATRIX_NOT_INVERTABLE    = 2\r
+        } SVGExceptionCode;\r
+\r
+    unsigned short   code;\r
+};\r
+\r
+\r
+\r
+\r
+\r
 \r
 \r
 //########################################################################\r
@@ -127,8 +154,6 @@ public:
         SVG_ANGLETYPE_GRAD        = 4\r
         } AngleUnitType;\r
 \r
-\r
-\r
     /**\r
      *\r
      */\r
@@ -205,153 +230,6 @@ protected:
 };\r
 \r
 \r
-\r
-\r
-/*#########################################################################\r
-## SVGColor\r
-#########################################################################*/\r
-\r
-/**\r
- *\r
- */\r
-class SVGColor : public css::CSSValue\r
-{\r
-public:\r
-\r
-\r
-    /**\r
-     * Color Types\r
-     */\r
-    typedef enum\r
-        {\r
-        SVG_COLORTYPE_UNKNOWN           = 0,\r
-        SVG_COLORTYPE_RGBCOLOR          = 1,\r
-        SVG_COLORTYPE_RGBCOLOR_ICCCOLOR = 2,\r
-        SVG_COLORTYPE_CURRENTCOLOR      = 3\r
-        } ColorType;\r
-\r
-\r
-    /**\r
-     *\r
-     */\r
-    unsigned short getColorType();\r
-\r
-    /**\r
-     *\r
-     */\r
-    css::RGBColor getRgbColor();\r
-\r
-    /**\r
-     *\r
-     */\r
-    SVGICCColor getIccColor();\r
-\r
-\r
-    /**\r
-     *\r
-     */\r
-    void setRGBColor(const DOMString& /*rgbColor*/)\r
-                              throw(SVGException);\r
-\r
-    /**\r
-     *\r
-     */\r
-    void setRGBColorICCColor(const DOMString& /*rgbColor*/,\r
-                                      const DOMString& /*iccColor*/)\r
-                                      throw(SVGException);\r
-\r
-    /**\r
-     *\r
-     */\r
-    void setColor(unsigned short /*colorType*/,\r
-                           const DOMString& /*rgbColor*/,\r
-                           const DOMString& /*iccColor*/)\r
-                           throw(SVGException);\r
-\r
-    //##################\r
-    //# Non-API methods\r
-    //##################\r
-\r
-    /**\r
-     *\r
-     */\r
-    SVGColor();\r
-\r
-    /**\r
-     *\r
-     */\r
-    SVGColor(const SVGColor &other) : css::CSSValue(other);\r
-\r
-    /**\r
-     *\r
-     */\r
-    ~SVGColor();\r
-\r
-protected:\r
-\r
-    int colorType;\r
-\r
-};\r
-\r
-\r
-\r
-\r
-/*#########################################################################\r
-## SVGICCColor\r
-#########################################################################*/\r
-\r
-/**\r
- *\r
- */\r
-class SVGICCColor\r
-{\r
-public:\r
-\r
-    /**\r
-     *\r
-     */\r
-    DOMString getColorProfile();\r
-\r
-    /**\r
-     *\r
-     */\r
-    void setColorProfile(const DOMString &val) throw(DOMException);\r
-\r
-    /**\r
-     *\r
-     */\r
-    SVGNumberList &getColors();\r
-\r
-\r
-\r
-    //##################\r
-    //# Non-API methods\r
-    //##################\r
-\r
-    /**\r
-     *\r
-     */\r
-    SVGICCColor();\r
-\r
-    /**\r
-     *\r
-     */\r
-    SVGICCColor(const SVGICCColor &other);\r
-\r
-    /**\r
-     *\r
-     */\r
-    ~SVGICCColor();\r
-\r
-protected:\r
-\r
-    DOMString colorProfile;\r
-\r
-    SVGNumberList colors;\r
-\r
-};\r
-\r
-\r
 /*#########################################################################\r
 ## SVGLength\r
 #########################################################################*/\r
@@ -886,7 +764,7 @@ public:
     /**\r
      *\r
      */\r
-    double getY()\r
+    double getY();\r
 \r
     /**\r
      *\r
@@ -896,7 +774,7 @@ public:
     /**\r
      *\r
      */\r
-    double getY1()\r
+    double getY1();\r
 \r
     /**\r
      *\r
@@ -1008,89 +886,6 @@ protected:
 };\r
 \r
 \r
-\r
-\r
-/*#########################################################################\r
-## SVGPaint\r
-#########################################################################*/\r
-\r
-/**\r
- *\r
- */\r
-class SVGPaint : public SVGColor\r
-{\r
-public:\r
-\r
-    /**\r
-     * Paint Types\r
-     */\r
-    typedef enum\r
-        {\r
-        SVG_PAINTTYPE_UNKNOWN               = 0,\r
-        SVG_PAINTTYPE_RGBCOLOR              = 1,\r
-        SVG_PAINTTYPE_RGBCOLOR_ICCCOLOR     = 2,\r
-        SVG_PAINTTYPE_NONE                  = 101,\r
-        SVG_PAINTTYPE_CURRENTCOLOR          = 102,\r
-        SVG_PAINTTYPE_URI_NONE              = 103,\r
-        SVG_PAINTTYPE_URI_CURRENTCOLOR      = 104,\r
-        SVG_PAINTTYPE_URI_RGBCOLOR          = 105,\r
-        SVG_PAINTTYPE_URI_RGBCOLOR_ICCCOLOR = 106,\r
-        SVG_PAINTTYPE_URI                   = 107\r
-        } PaintType;\r
-\r
-\r
-    /**\r
-     *\r
-     */\r
-    unsigned short getPaintType();\r
-\r
-    /**\r
-     *\r
-     */\r
-    DOMString getUri();\r
-\r
-    /**\r
-     *\r
-     */\r
-    void setUri(const DOMString& uriArg);\r
-\r
-    /**\r
-     *\r
-     */\r
-    void setPaint(unsigned short paintTypeArg,\r
-                           const DOMString& uriArg,\r
-                           const DOMString& /*rgbColor*/,\r
-                           const DOMString& /*iccColor*/)\r
-                           throw(SVGException);\r
-\r
-    //##################\r
-    //# Non-API methods\r
-    //##################\r
-\r
-    /**\r
-     *\r
-     */\r
-    SVGPaint();\r
-\r
-    /**\r
-     *\r
-     */\r
-    SVGPaint(const SVGPaint &other);\r
-\r
-    /**\r
-     *\r
-     */\r
-    ~SVGPaint();\r
-\r
-protected:\r
-\r
-    unsigned int paintType;\r
-    DOMString uri;\r
-\r
-};\r
-\r
-\r
-\r
 /*#########################################################################\r
 ## SVGPreserveAspectRatio\r
 #########################################################################*/\r
@@ -1518,9 +1313,9 @@ public:
     /**\r
      * Points\r
      */\r
-    SVGValue(const SVGPointList &v);\r
+    SVGValue(const SVGPoint &v);\r
     \r
-    SVGPointList pointListValue();\r
+    SVGPoint pointValue();\r
     \r
     \r
     /**\r
@@ -1547,9 +1342,9 @@ public:
     /**\r
      * TransformList\r
      */\r
-    SVGValue(const SVGTransformList &v);\r
+    SVGValue(const SVGTransform &v);\r
     \r
-    SVGTransformList transformListValue();\r
+    SVGTransform transformValue();\r
     \r
     \r
 private:\r
@@ -1565,10 +1360,12 @@ private:
     long                   ival;           // SVGInteger\r
     SVGLength              lengthval;      // SVGLength\r
     double                 dval;           // SVGNumber\r
-    SVGPathSegment         segval;         // SVGPathSegment\r
-    SVGPreserveAcpectRatio parval;         // SVGPreserveAspectRatio\r
+    SVGPathSeg             segval;         // SVGPathSeg\r
+    SVGPoint               pointval;       // SVGPoint\r
+    SVGPreserveAspectRatio parval;         // SVGPreserveAspectRatio\r
     SVGRect                rval;           // SVGRect\r
     DOMString              sval;           // SVGString\r
+    SVGTransform           transformval;   // SVGTransform\r
 \r
 };\r
 \r
@@ -1581,7 +1378,7 @@ private:
  * THis is used to generify a bit the several different types of lists:\r
  *\r
  * SVGLengthList      -> SVGValueList<SVGLength>\r
- * SVGNumberList      -> SVGValueList<SVGNumber>\r
+ * SVGValueList      -> SVGValueList<SVGNumber>\r
  * SVGPathData        -> SVGValueList<SVGPathSeg>\r
  * SVGPoints          -> SVGValueList<SVGPoint>\r
  * SVGTransformList   -> SVGValueList<SVGTransform>\r
@@ -1696,20 +1493,17 @@ protected:
 /**\r
  * This class is used to merge all of the "Animated" values, with only\r
  * a different type, into a single API.  This class subsumes the following:\r
- * SVGAnimatedAngle\r
- * SVGAnimatedBoolean\r
- * SVGAnimatedEnumeration\r
- * SVGAnimatedInteger\r
- * SVGAnimatedLength\r
- * SVGAnimatedLengthList\r
- * SVGAnimatedNumber\r
- * SVGAnimatedNumberList\r
+ * SVGAnimatedValue\r
+ * SVGAnimatedValue\r
+ * SVGAnimatedValue\r
+ * SVGAnimatedValue\r
+ * SVGAnimatedValue\r
+ * SVGAnimatedValue\r
  * SVGAnimatedPathData\r
  * SVGAnimatedPoints\r
  * SVGAnimatedPreserveAspectRatio\r
- * SVGAnimatedRect\r
- * SVGAnimatedString\r
- * SVGAnimatedTransformList\r
+ * SVGAnimatedValue\r
+ * SVGAnimatedValue\r
  */\r
 class SVGAnimatedValue\r
 {\r
@@ -1774,52 +1568,116 @@ private:
     SVGValue baseVal;\r
     \r
     SVGValue animVal;\r
-}\r
 \r
+};\r
 \r
 \r
+/*#########################################################################\r
+## SVGAnimatedValueList\r
+#########################################################################*/\r
 \r
+/**\r
+ * This class is used to merge all of the "Animated" values, with only\r
+ * a different type, into a single API.  This class subsumes the following:\r
+ * SVGAnimatedValueList\r
+ * SVGAnimatedValueList\r
+ * SVGAnimatedTransformList\r
+ */\r
+class SVGAnimatedValueList\r
+{\r
+public:\r
 \r
+    /**\r
+     *\r
+     */\r
+    SVGValueList &getBaseVal();\r
 \r
+    /**\r
+     *\r
+     */\r
+    void setBaseVal(const SVGValueList &val) throw (DOMException);\r
 \r
-//########################################################################\r
-//########################################################################\r
-//#   I N T E R F A C E S\r
-//########################################################################\r
-//########################################################################\r
+    /**\r
+     *\r
+     */\r
+    SVGValueList &getAnimVal();\r
+\r
+    /**\r
+     *\r
+     */\r
+    SVGAnimatedValueList();\r
+    \r
+    /**\r
+     *\r
+     */\r
+    SVGAnimatedValueList(const SVGValueList &baseValue);\r
+\r
+    /**\r
+     *\r
+     */\r
+    SVGAnimatedValueList(const SVGValueList &baseValue, const SVGValueList &animValue);\r
+\r
+    /**\r
+     *\r
+     */\r
+    SVGAnimatedValueList(const SVGAnimatedValueList &other);\r
+\r
+    /**\r
+     *\r
+     */\r
+    SVGAnimatedValueList &operator=(const SVGAnimatedValueList &other);\r
 \r
+    /**\r
+     *\r
+     */\r
+    SVGAnimatedValueList &operator=(const SVGValueList &baseVal);\r
 \r
+    /**\r
+     *\r
+     */\r
+    ~SVGAnimatedValueList();\r
+    \r
+private:\r
 \r
+    void init();\r
+    \r
+    void assign(const SVGAnimatedValueList &other);\r
+    \r
+    SVGValueList baseVal;\r
+    \r
+    SVGValueList animVal;\r
 \r
+};\r
 \r
 \r
 \r
 /*#########################################################################\r
-## SVGStylable\r
+## SVGICCColor\r
 #########################################################################*/\r
 \r
 /**\r
  *\r
  */\r
-class SVGStylable\r
+class SVGICCColor\r
 {\r
 public:\r
 \r
     /**\r
      *\r
      */\r
-    SVGAnimatedString getClassName();\r
+    DOMString getColorProfile();\r
 \r
     /**\r
      *\r
      */\r
-    css::CSSStyleDeclaration getStyle();\r
-\r
+    void setColorProfile(const DOMString &val) throw(DOMException);\r
 \r
     /**\r
      *\r
      */\r
-    css::CSSValue getPresentationAttribute(const DOMString& /*name*/);\r
+    SVGValueList &getColors();\r
+\r
+\r
 \r
     //##################\r
     //# Non-API methods\r
@@ -1828,70 +1686,88 @@ public:
     /**\r
      *\r
      */\r
-    SVGStylable();\r
+    SVGICCColor();\r
 \r
     /**\r
      *\r
      */\r
-    SVGStylable(const SVGStylable &other);\r
+    SVGICCColor(const SVGICCColor &other);\r
 \r
     /**\r
      *\r
      */\r
-    ~SVGStylable();\r
+    ~SVGICCColor();\r
 \r
 protected:\r
 \r
-    SVGAnimatedString className;\r
-    css::CSSStyleDeclaration style;\r
-\r
-};\r
+    DOMString colorProfile;\r
 \r
+    SVGValueList colors;\r
 \r
+};\r
 \r
 \r
 \r
 /*#########################################################################\r
-## SVGLocatable\r
+## SVGColor\r
 #########################################################################*/\r
 \r
 /**\r
  *\r
  */\r
-class SVGLocatable\r
+class SVGColor : public css::CSSValue\r
 {\r
 public:\r
 \r
+\r
+    /**\r
+     * Color Types\r
+     */\r
+    typedef enum\r
+        {\r
+        SVG_COLORTYPE_UNKNOWN           = 0,\r
+        SVG_COLORTYPE_RGBCOLOR          = 1,\r
+        SVG_COLORTYPE_RGBCOLOR_ICCCOLOR = 2,\r
+        SVG_COLORTYPE_CURRENTCOLOR      = 3\r
+        } ColorType;\r
+\r
+\r
     /**\r
      *\r
      */\r
-    SVGElementPtr getNearestViewportElement();\r
+    unsigned short getColorType();\r
 \r
     /**\r
      *\r
      */\r
-    SVGElementPtr getFarthestViewportElement();\r
+    css::RGBColor getRgbColor();\r
 \r
     /**\r
      *\r
      */\r
-    SVGRect getBBox();\r
+    SVGICCColor getIccColor();\r
+\r
 \r
     /**\r
      *\r
      */\r
-    SVGMatrix getCTM();\r
+    void setRGBColor(const DOMString& /*rgbColor*/)\r
+                              throw(SVGException);\r
 \r
     /**\r
      *\r
      */\r
-    SVGMatrix getScreenCTM();\r
+    void setRGBColorICCColor(const DOMString& /*rgbColor*/,\r
+                                      const DOMString& /*iccColor*/)\r
+                                      throw(SVGException);\r
 \r
     /**\r
      *\r
      */\r
-    SVGMatrix getTransformToElement(const SVGElement &/*element*/)\r
-                    throw(SVGException);\r
+    void setColor(unsigned short /*colorType*/,\r
+                           const DOMString& /*rgbColor*/,\r
+                           const DOMString& /*iccColor*/)\r
+                           throw(SVGException);\r
 \r
     //##################\r
     //# Non-API methods\r
@@ -1900,43 +1776,78 @@ public:
     /**\r
      *\r
      */\r
-    SVGLocatable();\r
+    SVGColor();\r
 \r
     /**\r
      *\r
      */\r
-    SVGLocatable(const SVGLocatable &/*other*/);\r
+    SVGColor(const SVGColor &other);\r
 \r
     /**\r
      *\r
      */\r
-    ~SVGLocatable();\r
+    ~SVGColor();\r
 \r
 protected:\r
 \r
-    SVGRect bbox;\r
-    SVGMatrix ctm;\r
-    SVGMatrix screenCtm;\r
+    int colorType;\r
 \r
 };\r
 \r
 \r
+\r
 /*#########################################################################\r
-## SVGTransformable\r
+## SVGPaint\r
 #########################################################################*/\r
 \r
 /**\r
  *\r
  */\r
-class SVGTransformable : public SVGLocatable\r
+class SVGPaint : public SVGColor\r
 {\r
 public:\r
 \r
+    /**\r
+     * Paint Types\r
+     */\r
+    typedef enum\r
+        {\r
+        SVG_PAINTTYPE_UNKNOWN               = 0,\r
+        SVG_PAINTTYPE_RGBCOLOR              = 1,\r
+        SVG_PAINTTYPE_RGBCOLOR_ICCCOLOR     = 2,\r
+        SVG_PAINTTYPE_NONE                  = 101,\r
+        SVG_PAINTTYPE_CURRENTCOLOR          = 102,\r
+        SVG_PAINTTYPE_URI_NONE              = 103,\r
+        SVG_PAINTTYPE_URI_CURRENTCOLOR      = 104,\r
+        SVG_PAINTTYPE_URI_RGBCOLOR          = 105,\r
+        SVG_PAINTTYPE_URI_RGBCOLOR_ICCCOLOR = 106,\r
+        SVG_PAINTTYPE_URI                   = 107\r
+        } PaintType;\r
+\r
 \r
     /**\r
      *\r
      */\r
-    SVGAnimatedTransformList &getTransform();\r
+    unsigned short getPaintType();\r
+\r
+    /**\r
+     *\r
+     */\r
+    DOMString getUri();\r
+\r
+    /**\r
+     *\r
+     */\r
+    void setUri(const DOMString& uriArg);\r
+\r
+    /**\r
+     *\r
+     */\r
+    void setPaint(unsigned short paintTypeArg,\r
+                           const DOMString& uriArg,\r
+                           const DOMString& /*rgbColor*/,\r
+                           const DOMString& /*iccColor*/)\r
+                           throw(SVGException);\r
 \r
     //##################\r
     //# Non-API methods\r
@@ -1945,58 +1856,66 @@ public:
     /**\r
      *\r
      */\r
-    SVGTransformable();\r
+    SVGPaint();\r
 \r
     /**\r
      *\r
      */\r
-    SVGTransformable(const SVGTransformable &other) : SVGLocatable(other);\r
+    SVGPaint(const SVGPaint &other);\r
 \r
     /**\r
      *\r
      */\r
-    ~SVGTransformable();\r
+    ~SVGPaint();\r
 \r
 protected:\r
 \r
-    SVGAnimatedTransformList transforms;\r
+    unsigned int paintType;\r
+    DOMString uri;\r
+\r
 };\r
 \r
 \r
 \r
 \r
+//########################################################################\r
+//########################################################################\r
+//#   I N T E R F A C E S\r
+//########################################################################\r
+//########################################################################\r
+\r
+\r
+\r
+\r
+\r
 \r
 \r
 /*#########################################################################\r
-## SVGTests\r
+## SVGStylable\r
 #########################################################################*/\r
 \r
 /**\r
  *\r
  */\r
-class SVGTests\r
+class SVGStylable\r
 {\r
 public:\r
 \r
     /**\r
      *\r
      */\r
-    SVGValueList &getRequiredFeatures();\r
+    SVGAnimatedValue getClassName();\r
 \r
     /**\r
      *\r
      */\r
-    SVGValueList &getRequiredExtensions();\r
+    css::CSSStyleDeclaration getStyle();\r
 \r
-    /**\r
-     *\r
-     */\r
-    SVGValueList &getSystemLanguage();\r
 \r
     /**\r
      *\r
      */\r
-    bool hasExtension(const DOMString& /*extension*/);\r
+    css::CSSValue getPresentationAttribute(const DOMString& /*name*/);\r
 \r
     //##################\r
     //# Non-API methods\r
@@ -2005,23 +1924,22 @@ public:
     /**\r
      *\r
      */\r
-    SVGTests();\r
+    SVGStylable();\r
 \r
     /**\r
      *\r
      */\r
-    SVGTests(const SVGTests &other);\r
+    SVGStylable(const SVGStylable &other);\r
 \r
     /**\r
      *\r
      */\r
-    ~SVGTests();\r
+    ~SVGStylable();\r
 \r
 protected:\r
 \r
-    SVGStringList requiredFeatures;\r
-    SVGStringList requiredExtensions;\r
-    SVGStringList systemLanguage;\r
+    SVGAnimatedValue className;\r
+    css::CSSStyleDeclaration style;\r
 \r
 };\r
 \r
@@ -2029,38 +1947,47 @@ protected:
 \r
 \r
 \r
-\r
 /*#########################################################################\r
-## SVGLangSpace\r
+## SVGLocatable\r
 #########################################################################*/\r
 \r
 /**\r
  *\r
  */\r
-class SVGLangSpace\r
+class SVGLocatable\r
 {\r
 public:\r
 \r
+    /**\r
+     *\r
+     */\r
+    SVGElementPtr getNearestViewportElement();\r
+\r
+    /**\r
+     *\r
+     */\r
+    SVGElementPtr getFarthestViewportElement();\r
 \r
     /**\r
      *\r
      */\r
-    DOMString getXmlLang();\r
+    SVGRect getBBox();\r
 \r
     /**\r
      *\r
      */\r
-    void setXmlLang(const DOMString &val) throw(DOMException);\r
+    SVGMatrix getCTM();\r
 \r
     /**\r
      *\r
      */\r
-    DOMString getXmlSpace();\r
+    SVGMatrix getScreenCTM();\r
 \r
     /**\r
      *\r
      */\r
-    void setXmlSpace(const DOMString &val) throw(DOMException);\r
+    SVGMatrix getTransformToElement(const SVGElement &/*element*/)\r
+                    throw(SVGException);\r
 \r
     //##################\r
     //# Non-API methods\r
@@ -2069,42 +1996,43 @@ public:
     /**\r
      *\r
      */\r
-    SVGLangSpace();\r
+    SVGLocatable();\r
 \r
     /**\r
      *\r
      */\r
-    SVGLangSpace(const SVGLangSpace &other);\r
+    SVGLocatable(const SVGLocatable &/*other*/);\r
 \r
     /**\r
      *\r
      */\r
-    ~SVGLangSpace();\r
+    ~SVGLocatable();\r
 \r
 protected:\r
 \r
-    DOMString xmlLang;\r
-    DOMString xmlSpace;\r
+    SVGRect bbox;\r
+    SVGMatrix ctm;\r
+    SVGMatrix screenCtm;\r
 \r
 };\r
 \r
 \r
-\r
 /*#########################################################################\r
-## SVGExternalResourcesRequired\r
+## SVGTransformable\r
 #########################################################################*/\r
 \r
 /**\r
  *\r
  */\r
-class SVGExternalResourcesRequired\r
+class SVGTransformable : public SVGLocatable\r
 {\r
 public:\r
 \r
+\r
     /**\r
      *\r
      */\r
-    SVGAnimatedBoolean getExternalResourcesRequired();\r
+    SVGAnimatedValueList &getTransform();\r
 \r
     //##################\r
     //# Non-API methods\r
@@ -2113,52 +2041,217 @@ public:
     /**\r
      *\r
      */\r
-    SVGExternalResourcesRequired();\r
+    SVGTransformable();\r
 \r
     /**\r
      *\r
      */\r
-    SVGExternalResourcesRequired(const SVGExternalResourcesRequired &other);\r
+    SVGTransformable(const SVGTransformable &other);\r
 \r
     /**\r
      *\r
      */\r
-    ~SVGExternalResourcesRequired();\r
+    ~SVGTransformable();\r
 \r
 protected:\r
 \r
-    SVGAnimatedBoolean required;\r
-\r
+    SVGAnimatedValueList transforms;\r
 };\r
 \r
 \r
 \r
-\r
-\r
-\r
-\r
-\r
-\r
 /*#########################################################################\r
-## SVGFitToViewBox\r
+## SVGTests\r
 #########################################################################*/\r
 \r
 /**\r
  *\r
  */\r
-class SVGFitToViewBox\r
+class SVGTests\r
+{\r
+public:\r
+\r
+    /**\r
+     *\r
+     */\r
+    SVGValueList &getRequiredFeatures();\r
+\r
+    /**\r
+     *\r
+     */\r
+    SVGValueList &getRequiredExtensions();\r
+\r
+    /**\r
+     *\r
+     */\r
+    SVGValueList &getSystemLanguage();\r
+\r
+    /**\r
+     *\r
+     */\r
+    bool hasExtension(const DOMString& /*extension*/);\r
+\r
+    //##################\r
+    //# Non-API methods\r
+    //##################\r
+\r
+    /**\r
+     *\r
+     */\r
+    SVGTests();\r
+\r
+    /**\r
+     *\r
+     */\r
+    SVGTests(const SVGTests &other);\r
+\r
+    /**\r
+     *\r
+     */\r
+    ~SVGTests();\r
+\r
+protected:\r
+\r
+    SVGValueList requiredFeatures;\r
+    SVGValueList requiredExtensions;\r
+    SVGValueList systemLanguage;\r
+\r
+};\r
+\r
+\r
+\r
+\r
+\r
+\r
+/*#########################################################################\r
+## SVGLangSpace\r
+#########################################################################*/\r
+\r
+/**\r
+ *\r
+ */\r
+class SVGLangSpace\r
+{\r
+public:\r
+\r
+\r
+    /**\r
+     *\r
+     */\r
+    DOMString getXmlLang();\r
+\r
+    /**\r
+     *\r
+     */\r
+    void setXmlLang(const DOMString &val) throw(DOMException);\r
+\r
+    /**\r
+     *\r
+     */\r
+    DOMString getXmlSpace();\r
+\r
+    /**\r
+     *\r
+     */\r
+    void setXmlSpace(const DOMString &val) throw(DOMException);\r
+\r
+    //##################\r
+    //# Non-API methods\r
+    //##################\r
+\r
+    /**\r
+     *\r
+     */\r
+    SVGLangSpace();\r
+\r
+    /**\r
+     *\r
+     */\r
+    SVGLangSpace(const SVGLangSpace &other);\r
+\r
+    /**\r
+     *\r
+     */\r
+    ~SVGLangSpace();\r
+\r
+protected:\r
+\r
+    DOMString xmlLang;\r
+    DOMString xmlSpace;\r
+\r
+};\r
+\r
+\r
+\r
+/*#########################################################################\r
+## SVGExternalResourcesRequired\r
+#########################################################################*/\r
+\r
+/**\r
+ *\r
+ */\r
+class SVGExternalResourcesRequired\r
 {\r
 public:\r
 \r
+    /**\r
+     * boolean\r
+     */\r
+    SVGAnimatedValue getExternalResourcesRequired();\r
+\r
+    //##################\r
+    //# Non-API methods\r
+    //##################\r
+\r
+    /**\r
+     *\r
+     */\r
+    SVGExternalResourcesRequired();\r
+\r
     /**\r
      *\r
      */\r
-    SVGAnimatedRect getViewBox();\r
+    SVGExternalResourcesRequired(const SVGExternalResourcesRequired &other);\r
 \r
     /**\r
      *\r
      */\r
-    SVGAnimatedPreserveAspectRatio getPreserveAspectRatio();\r
+    ~SVGExternalResourcesRequired();\r
+\r
+protected:\r
+\r
+    SVGAnimatedValue required; //boolean\r
+\r
+};\r
+\r
+\r
+\r
+\r
+\r
+\r
+\r
+\r
+\r
+/*#########################################################################\r
+## SVGFitToViewBox\r
+#########################################################################*/\r
+\r
+/**\r
+ *\r
+ */\r
+class SVGFitToViewBox\r
+{\r
+public:\r
+\r
+    /**\r
+     * rect\r
+     */\r
+    SVGAnimatedValue getViewBox();\r
+\r
+    /**\r
+     * preserveAspectRatio\r
+     */\r
+    SVGAnimatedValue getPreserveAspectRatio();\r
 \r
     //##################\r
     //# Non-API methods\r
@@ -2181,9 +2274,8 @@ public:
 \r
 protected:\r
 \r
-    SVGAnimatedRect viewBox;\r
-\r
-    SVGAnimatedPreserveAspectRatio preserveAspectRatio;\r
+    SVGAnimatedValue viewBox; //rect\r
+    SVGAnimatedValue preserveAspectRatio;\r
 \r
 };\r
 \r
@@ -2264,7 +2356,7 @@ public:
     /**\r
      *\r
      */\r
-    SVGTransformList getTransform();\r
+    SVGValueList getTransform();\r
 \r
     /**\r
      *\r
@@ -2313,7 +2405,7 @@ public:
 protected:\r
 \r
     SVGElementPtr viewTarget;\r
-    SVGTransformList transform;\r
+    SVGValueList transform;\r
 };\r
 \r
 \r
@@ -2329,9 +2421,9 @@ class SVGURIReference
 public:\r
 \r
     /**\r
-     *\r
+     * string\r
      */\r
-    SVGAnimatedString getHref();\r
+    SVGAnimatedValue getHref();\r
 \r
     //##################\r
     //# Non-API methods\r
@@ -2354,7 +2446,7 @@ public:
 \r
 protected:\r
 \r
-    SVGAnimatedString href;\r
+    SVGAnimatedValue href;\r
 \r
 };\r
 \r
@@ -2505,7 +2597,7 @@ public:
     /**\r
      *\r
      */\r
-    void setRenderingIntent(unsigned short val) throw(DOMException)\r
+    void setRenderingIntent(unsigned short val) throw(DOMException);\r
 \r
 \r
     //##################\r
@@ -2549,29 +2641,29 @@ class SVGFilterPrimitiveStandardAttributes : public SVGStylable
 public:\r
 \r
     /**\r
-     *\r
+     * length\r
      */\r
-    SVGAnimatedLength getX();\r
+    SVGAnimatedValue getX();\r
 \r
     /**\r
-     *\r
+     * length\r
      */\r
-    SVGAnimatedLength getY();\r
+    SVGAnimatedValue getY();\r
 \r
     /**\r
-     *\r
+     * length\r
      */\r
-    SVGAnimatedLength getWidth();\r
+    SVGAnimatedValue getWidth();\r
 \r
     /**\r
-     *\r
+     * length\r
      */\r
-    SVGAnimatedLength getHeight();\r
+    SVGAnimatedValue getHeight();\r
 \r
     /**\r
-     *\r
+     * string\r
      */\r
-    SVGAnimatedString getResult();\r
+    SVGAnimatedValue getResult();\r
 \r
     //##################\r
     //# Non-API methods\r
@@ -2595,11 +2687,11 @@ public:
 \r
 protected:\r
 \r
-    SVGAnimatedLength x;\r
-    SVGAnimatedLength y;\r
-    SVGAnimatedLength width;\r
-    SVGAnimatedLength height;\r
-    SVGAnimatedString result;\r
+    SVGAnimatedValue x;\r
+    SVGAnimatedValue y;\r
+    SVGAnimatedValue width;\r
+    SVGAnimatedValue height;\r
+    SVGAnimatedValue result;\r
 \r
 };\r
 \r
@@ -2673,7 +2765,7 @@ public:
    /**\r
      *\r
      */\r
-    SVGPoint getNewTranslate()\r
+    SVGPoint getNewTranslate();\r
 \r
 \r
     //##################\r
@@ -2860,927 +2952,217 @@ protected:
 //#   D O M\r
 //########################################################################\r
 //########################################################################\r
-//########################################################################\r
-\r
-\r
-\r
-\r
-\r
-/*#########################################################################\r
-## Types\r
-#########################################################################*/\r
-\r
-/**\r
- * Bitmasks for has_an interface for SVGElement\r
- */ \r
-#define SVG_ANGLE                          0x00000001\r
-#define SVG_ANIMATED_ANGLE                 0x00000002\r
-#define SVG_ANIMATED_BOOLEAN               0x00000004\r
-#define SVG_ANIMATED_ENUMERATION           0x00000008\r
-#define SVG_ANIMATED_INTEGER               0x00000010\r
-#define SVG_ANIMATED_LENGTH                0x00000020\r
-#define SVG_ANIMATED_LENGTH_LIST           0x00000040\r
-#define SVG_ANIMATED_NUMBER                0x00000080\r
-#define SVG_ANIMATED_NUMBER_LIST           0x00000100\r
-#define SVG_ANIMATED_RECT                  0x00000200\r
-#define SVG_ANIMATED_STRING                0x00000400\r
-#define SVG_COLOR                          0x00000800\r
-#define SVG_CSS_RULE                       0x00001000\r
-#define SVG_EXTERNAL_RESOURCES_REQUIRED    0x00002000\r
-#define SVG_FIT_TO_VIEWBOX                 0x00004000\r
-#define SVG_ICCCOLOR                       0x00008000\r
-#define SVG_LANG_SPACE                     0x00010000\r
-#define SVG_LENGTH                         0x00020000\r
-#define SVG_LENGTH_LIST                    0x00040000\r
-#define SVG_LOCATABLE                      0x00080000\r
-#define SVG_NUMBER                         0x00100000\r
-#define SVG_NUMBER_LIST                    0x00200000\r
-#define SVG_RECT                           0x00400000\r
-#define SVG_RENDERING_INTENT               0x00800000\r
-#define SVG_STRING_LIST                    0x01000000\r
-#define SVG_STYLABLE                       0x02000000\r
-#define SVG_TESTS                          0x04000000\r
-#define SVG_TRANSFORMABLE                  0x08000000\r
-#define SVG_UNIT_TYPES                     0x10000000\r
-#define SVG_URI_REFERENCE                  0x20000000\r
-#define SVG_VIEW_SPEC                      0x40000000\r
-#define SVG_ZOOM_AND_PAN                   0x80000000\r
-\r
-/**\r
- * How many above?  Quite handy\r
- */ \r
-#define SVG_NR_INTERFACES                  32\r
-\r
-\r
-/**\r
- * Enumerations for SVGElement types\r
- */ \r
-typedef enum\r
-{\r
-    SVG_A_ELEMENT = 0,\r
-    SVG_ALTGLYPH_ELEMENT,\r
-    SVG_ALTGLYPHDEF_ELEMENT,\r
-    SVG_ALTGLYPHITEM_ELEMENT,\r
-    SVG_ANIMATE_ELEMENT,\r
-    SVG_ANIMATECOLOR_ELEMENT,\r
-    SVG_ANIMATEMOTION_ELEMENT,\r
-    SVG_ANIMATETRANSFORM_ELEMENT,\r
-    SVG_CIRCLE_ELEMENT,\r
-    SVG_CLIPPATH_ELEMENT,\r
-    SVG_COLOR_PROFILE_ELEMENT,\r
-    SVG_CURSOR_ELEMENT,\r
-    SVG_DEFINITION_SRC_ELEMENT,\r
-    SVG_DEFS_ELEMENT,\r
-    SVG_DESC_ELEMENT,\r
-    SVG_ELLIPSE_ELEMENT,\r
-    SVG_FEBLEND_ELEMENT,\r
-    SVG_FECOLORMATRIX_ELEMENT,\r
-    SVG_FECOMPONENTTRANSFER_ELEMENT,\r
-    SVG_FECOMPOSITE_ELEMENT,\r
-    SVG_FECONVOLVEMATRIX_ELEMENT,\r
-    SVG_FEDIFFUSELIGHTING_ELEMENT,\r
-    SVG_FEDISPLACEMENTMAP_ELEMENT,\r
-    SVG_FEDISTANTLIGHT_ELEMENT,\r
-    SVG_FEFLOOD_ELEMENT,\r
-    SVG_FEFUNCA_ELEMENT,\r
-    SVG_FEFUNCB_ELEMENT,\r
-    SVG_FEFUNCG_ELEMENT,\r
-    SVG_FEFUNCR_ELEMENT,\r
-    SVG_FEGAUSSIANBLUR_ELEMENT,\r
-    SVG_FEIMAGE_ELEMENT,\r
-    SVG_FEMERGE_ELEMENT,\r
-    SVG_FEMERGENODE_ELEMENT,\r
-    SVG_FEMORPHOLOGY_ELEMENT,\r
-    SVG_FEOFFSET_ELEMENT,\r
-    SVG_FEPOINTLIGHT_ELEMENT,\r
-    SVG_FESPECULARLIGHTING_ELEMENT,\r
-    SVG_FESPOTLIGHT_ELEMENT,\r
-    SVG_FETILE_ELEMENT,\r
-    SVG_FETURBULENCE_ELEMENT,\r
-    SVG_FILTER_ELEMENT,\r
-    SVG_FONT_ELEMENT,\r
-    SVG_FONT_FACE_ELEMENT,\r
-    SVG_FONT_FACE_FORMAT_ELEMENT,\r
-    SVG_FONT_FACE_NAME_ELEMENT,\r
-    SVG_FONT_FACE_SRC_ELEMENT,\r
-    SVG_FONT_FACE_URI_ELEMENT,\r
-    SVG_FOREIGNOBJECT_ELEMENT,\r
-    SVG_G_ELEMENT,\r
-    SVG_GLYPH_ELEMENT,\r
-    SVG_GLYPHREF_ELEMENT,\r
-    SVG_HKERN_ELEMENT,\r
-    SVG_IMAGE_ELEMENT,\r
-    SVG_LINE_ELEMENT,\r
-    SVG_LINEARGRADIENT_ELEMENT,\r
-    SVG_MARKER_ELEMENT,\r
-    SVG_MASK_ELEMENT,\r
-    SVG_METADATA_ELEMENT,\r
-    SVG_MISSING_GLYPH_ELEMENT,\r
-    SVG_MPATH_ELEMENT,\r
-    SVG_PATH_ELEMENT,\r
-    SVG_PATTERN_ELEMENT,\r
-    SVG_POLYGON_ELEMENT,\r
-    SVG_POLYLINE_ELEMENT,\r
-    SVG_RADIALGRADIENT_ELEMENT,\r
-    SVG_RECT_ELEMENT,\r
-    SVG_SCRIPT_ELEMENT,\r
-    SVG_SET_ELEMENT,\r
-    SVG_STOP_ELEMENT,\r
-    SVG_STYLE_ELEMENT,\r
-    SVG_SVG_ELEMENT,\r
-    SVG_SWITCH_ELEMENT,\r
-    SVG_SYMBOL_ELEMENT,\r
-    SVG_TEXT_ELEMENT,\r
-    SVG_TEXTPATH_ELEMENT,\r
-    SVG_TITLE_ELEMENT,\r
-    SVG_TREF_ELEMENT,\r
-    SVG_TSPAN_ELEMENT,\r
-    SVG_USE_ELEMENT,\r
-    SVG_VIEW_ELEMENT,\r
-    SVG_VKERN_ELEMENT,\r
-    SVG_MAX_ELEMENT\r
-} SVGElementType;\r
-\r
-\r
-\r
-\r
-/**\r
- * Look up the SVG Element type enum for a given string\r
- * Return -1 if not found\r
- */\r
-int svgElementStrToEnum(const char *str);\r
-\r
-\r
-/**\r
- * Return the string corresponding to a given SVG element type enum\r
- * Return "unknown" if not found\r
- */\r
-const char *svgElementEnumToStr(int type);\r
-\r
-\r
-\r
-\r
-/*#########################################################################\r
-## SVGElement\r
-#########################################################################*/\r
-\r
-/**\r
- * All of the SVG DOM interfaces that correspond directly to elements in the SVG\r
- * language(e.g., the SVGPathElement interface corresponds directly to the\r
- * 'path' element in the language) are derivative from base class SVGElement.\r
- */\r
-class SVGElement : public Element\r
-{\r
-public:\r
-\r
-    //####################################################################\r
-    //# BASE METHODS FOR SVGElement\r
-    //####################################################################\r
-\r
-    /**\r
-     * Get the value of the id attribute on the given element.\r
-     */\r
-    DOMString getId();\r
-\r
-    /**\r
-     * Set the value of the id attribute on the given element.\r
-     */\r
-    void setId(const DOMString &val) throw(DOMException);\r
-\r
-    /**\r
-     * Corresponds to attribute xml:base on the given element.\r
-     */\r
-    DOMString getXmlBase();\r
-\r
-    /**\r
-     * Corresponds to attribute xml:base on the given element.\r
-     */\r
-    void setXmlBase(const DOMString &val) throw(DOMException);\r
-\r
-    /**\r
-     * The nearest ancestor 'svg' element. Null if the given element is the\r
-     *      outermost 'svg' element.\r
-     */\r
-    SVGElementPtr getOwnerSVGElement();\r
-\r
-    /**\r
-     * The element which established the current viewport. Often, the nearest\r
-     * ancestor 'svg' element. Null if the given element is the outermost 'svg'\r
-     * element.\r
-     */\r
-    SVGElementPtr getViewportElement();\r
-\r
-\r
-    //####################################################################\r
-    //####################################################################\r
-    //# I N T E R F A C E S\r
-    //####################################################################\r
-    //####################################################################\r
-\r
-    //####################################################################\r
-    //# SVGAngle                    \r
-    //####################################################################\r
-\r
-    /**\r
-     *\r
-     */\r
-    unsigned short getUnitType();\r
-\r
-    /**\r
-     *\r
-     */\r
-    double getValue();\r
-\r
-    /**\r
-     *\r
-     */\r
-    void setValue(double val) throw(DOMException);\r
-\r
-    /**\r
-     *\r
-     */\r
-    double getValueInSpecifiedUnits();\r
-\r
-    /**\r
-     *\r
-     */\r
-    void setValueInSpecifiedUnits(double /*val*/) throw(DOMException);\r
-\r
-    /**\r
-     *\r
-     */\r
-    DOMString getValueAsString();\r
-\r
-    /**\r
-     *\r
-     */\r
-    void setValueAsString(const DOMString &/*val*/) throw(DOMException);\r
-\r
-\r
-    /**\r
-     *\r
-     */\r
-    void newValueSpecifiedUnits(unsigned short /*unitType*/,\r
-                                double /*valueInSpecifiedUnits*/);\r
-\r
-    /**\r
-     *\r
-     */\r
-    void convertToSpecifiedUnits(unsigned short /*unitType*/);\r
-\r
-    //####################################################################\r
-    //## The following animated types are rolled up into a single\r
-    //## SVGAnimatedValue interface\r
-    //####################################################################\r
-\r
-    //####################################################################\r
-    //## SVGAnimatedAngle\r
-    //####################################################################\r
-\r
-    //####################################################################\r
-    //## SVGAnimatedBoolean\r
-    //####################################################################\r
-\r
-    //####################################################################\r
-    //## SVGAnimatedEnumeration\r
-    //####################################################################\r
-\r
-    //####################################################################\r
-    //## SVGAnimatedInteger\r
-    //####################################################################\r
-\r
-    //####################################################################\r
-    //## SVGAnimatedLength\r
-    //####################################################################\r
-\r
-    //####################################################################\r
-    //## SVGAnimatedLengthList\r
-    //####################################################################\r
-\r
-    //####################################################################\r
-    //## SVGAnimatedNumber\r
-    //####################################################################\r
-\r
-    //####################################################################\r
-    //## SVGAnimatedNumberList\r
-    //####################################################################\r
-\r
-    //####################################################################\r
-    //## SVGAnimatedPathData\r
-    //####################################################################\r
-\r
-    //####################################################################\r
-    //## SVGAnimatedPoints\r
-    //####################################################################\r
-\r
-    //####################################################################\r
-    //## SVGAnimatedPreserveAspectRatio\r
-    //####################################################################\r
-\r
-    //####################################################################\r
-    //## SVGAnimatedRect\r
-    //####################################################################\r
-\r
-    //####################################################################\r
-    //## SVGAnimatedString\r
-    //####################################################################\r
-\r
-    //####################################################################\r
-    //## SVGAnimatedTransformList\r
-    //####################################################################\r
-\r
-    //####################################################################\r
-    //# SVGAnimatedValue          \r
-    //####################################################################\r
-\r
-    /**\r
-     *\r
-     */\r
-    SVGValue &getBaseVal();\r
-\r
-    /**\r
-     *\r
-     */\r
-    void setBaseVal(const SVGValue &val) throw (DOMException);\r
-\r
-    /**\r
-     *\r
-     */\r
-    SVGValue &getAnimVal();\r
-\r
-\r
-    //####################################################################\r
-    //# SVGColor                    \r
-    //####################################################################\r
-\r
-    /**\r
-     * From CSSValue \r
-     * A code defining the type of the value as defined above.\r
-     */\r
-    unsigned short getCssValueType();\r
-\r
-    /**\r
-     * From CSSValue \r
-     * A string representation of the current value.\r
-     */\r
-    DOMString getCssText();\r
-\r
-    /**\r
-     * From CSSValue \r
-     * A string representation of the current value.\r
-     * Note that setting implies parsing.     \r
-     */\r
-    void setCssText(const DOMString &val) throw(dom::DOMException);\r
-\r
-\r
-    /**\r
-     *\r
-     */\r
-    unsigned short getColorType();\r
-\r
-    /**\r
-     *\r
-     */\r
-    css::RGBColor getRgbColor();\r
-\r
-    /**\r
-     *\r
-     */\r
-    SVGICCColor getIccColor();\r
-\r
-\r
-    /**\r
-     *\r
-     */\r
-    void setRGBColor(const DOMString& /*rgbColor*/) throw(SVGException);\r
-\r
-    /**\r
-     *\r
-     */\r
-    void setRGBColorICCColor(const DOMString& /*rgbColor*/,\r
-                             const DOMString& /*iccColor*/)\r
-                             throw(SVGException);\r
-\r
-    /**\r
-     *\r
-     */\r
-    void setColor(unsigned short /*colorType*/,\r
-                           const DOMString& /*rgbColor*/,\r
-                           const DOMString& /*iccColor*/)\r
-                           throw(SVGException);\r
-\r
-    //####################################################################\r
-    //# SVGCSSRule                  \r
-    //####################################################################\r
-\r
-    /**\r
-     * From CSSRule    \r
-     * The type of the rule, as defined above. The expectation is that \r
-     * binding-specific casting methods can be used to cast down from an instance of \r
-     * the CSSRule interface to the specific derived interface implied by the type.\r
-     */\r
-    unsigned short getType();\r
-\r
-    /**\r
-     * From CSSRule    \r
-     * The parsable textual representation of the rule. This reflects the current \r
-     * state of the rule and not its initial value.\r
-     */\r
-    DOMString getCssText();\r
-\r
-    /**\r
-     * From CSSRule    \r
-     * The parsable textual representation of the rule. This reflects the current \r
-     * state of the rule and not its initial value.\r
-     * Note that setting involves reparsing.     \r
-     */\r
-    void setCssText(const DOMString &val) throw(DOMException);\r
-\r
-    /**\r
-     * From CSSRule    \r
-     * The style sheet that contains this rule.\r
-     */\r
-    css::CSSStyleSheet *getParentStyleSheet();\r
-\r
-    /**\r
-     * From CSSRule    \r
-     * If this rule is contained inside another rule(e.g. a style rule inside an \r
-     * @media block), this is the containing rule. If this rule is not nested inside \r
-     * any other rules, this returns null.\r
-     */\r
-    css::CSSRule *getParentRule();\r
-\r
-    //####################################################################\r
-    //# SVGExternalResourcesRequired\r
-    //####################################################################\r
-\r
-    /**\r
-     *\r
-     */\r
-    SVGAnimatedBoolean getExternalResourcesRequired();\r
-\r
-    //####################################################################\r
-    //# SVGFitToViewBox             \r
-    //####################################################################\r
-\r
-    /**\r
-     *\r
-     */\r
-    SVGAnimatedRect getViewBox();\r
-\r
-    /**\r
-     *\r
-     */\r
-    SVGAnimatedPreserveAspectRatio getPreserveAspectRatio();\r
-\r
-    //####################################################################\r
-    //# SVGICCColor                 \r
-    //####################################################################\r
-\r
-    /**\r
-     *\r
-     */\r
-    DOMString getColorProfile();\r
-\r
-    /**\r
-     *\r
-     */\r
-    void setColorProfile(const DOMString &val) throw(DOMException);\r
-\r
-    /**\r
-     *\r
-     */\r
-    SVGNumberList &getColors();\r
-\r
-    //####################################################################\r
-    //# SVGLangSpace                \r
-    //####################################################################\r
-\r
-    /**\r
-     *\r
-     */\r
-    DOMString getXmllang();\r
-\r
-    /**\r
-     *\r
-     */\r
-    void setXmllang(const DOMString &val) throw(DOMException);\r
-\r
-    /**\r
-     *\r
-     */\r
-    DOMString getXmlspace();\r
-\r
-    /**\r
-     *\r
-     */\r
-    void setXmlspace(const DOMString &val) throw(DOMException);\r
-\r
-    //####################################################################\r
-    //# SVGLength                   \r
-    //####################################################################\r
-\r
-    /**\r
-     *\r
-     */\r
-    unsigned short getUnitType();\r
-\r
-    /**\r
-     *\r
-     */\r
-    double getValue();\r
-\r
-    /**\r
-     *\r
-     */\r
-    void setValue(double val) throw(DOMException);\r
-\r
-    /**\r
-     *\r
-     */\r
-    double getValueInSpecifiedUnits();\r
-\r
-    /**\r
-     *\r
-     */\r
-    void setValueInSpecifiedUnits(double /*val*/) throw(DOMException);\r
-\r
-    /**\r
-     *\r
-     */\r
-    DOMString getValueAsString();\r
-\r
-    /**\r
-     *\r
-     */\r
-    void setValueAsString(const DOMString& /*val*/) throw(DOMException);\r
-\r
-\r
-    /**\r
-     *\r
-     */\r
-    void newValueSpecifiedUnits(unsigned short /*unitType*/, double /*val*/);\r
-\r
-    /**\r
-     *\r
-     */\r
-    void convertToSpecifiedUnits(unsigned short /*unitType*/);\r
-\r
-    //####################################################################\r
-    //# SVGLengthList               \r
-    //####################################################################\r
-\r
-    /**\r
-     *\r
-     */\r
-    unsigned long getNumberOfItems();\r
-\r
-\r
-    /**\r
-     *\r
-     */\r
-    void clear() throw(DOMException);\r
-\r
-    /**\r
-     *\r
-     */\r
-    SVGLength initialize(const SVGLength &newItem)\r
-                    throw(DOMException, SVGException);\r
-\r
-    /**\r
-     *\r
-     */\r
-    SVGLength getItem(unsigned long index) throw(DOMException);\r
-\r
-    /**\r
-     *\r
-     */\r
-    SVGLength insertItemBefore(const SVGLength &newItem, unsigned long index)\r
-                                   throw(DOMException, SVGException);\r
-\r
-    /**\r
-     *\r
-     */\r
-    SVGLength replaceItem(const SVGLength &newItem, unsigned long index)\r
-                               throw(DOMException, SVGException);\r
-\r
-    /**\r
-     *\r
-     */\r
-    SVGLength removeItem(unsigned long index) throw(DOMException);\r
-\r
-    /**\r
-     *\r
-     */\r
-    SVGLength appendItem(const SVGLength &newItem)\r
-                    throw(DOMException, SVGException);\r
-\r
-    //####################################################################\r
-    //# SVGLocatable                \r
-    //####################################################################\r
-\r
-    /**\r
-     *\r
-     */\r
-    SVGElementPtr getNearestViewportElement();\r
-\r
-    /**\r
-     *\r
-     */\r
-    SVGElement *getFarthestViewportElement();\r
-\r
-    /**\r
-     *\r
-     */\r
-    SVGRect getBBox();\r
-\r
-    /**\r
-     *\r
-     */\r
-    SVGMatrix getCTM();\r
-\r
-    /**\r
-     *\r
-     */\r
-    SVGMatrix getScreenCTM();\r
-\r
-    /**\r
-     *\r
-     */\r
-    SVGMatrix getTransformToElement(const SVGElement &/*element*/)\r
-                                    throw(SVGException);\r
-\r
-    //####################################################################\r
-    //# SVGNumber                   \r
-    //####################################################################\r
-\r
-    /**\r
-     *\r
-     */\r
-    double getValue();\r
-\r
-    /**\r
-     *\r
-     */\r
-    void setValue(double val) throw(DOMException);\r
-\r
-    //####################################################################\r
-    //# SVGNumberList               \r
-    //####################################################################\r
-\r
-    /**\r
-     *\r
-     */\r
-    unsigned long getNumberOfItems();\r
-\r
-\r
-    /**\r
-     *\r
-     */\r
-    void clear() throw(DOMException);\r
-\r
-    /**\r
-     *\r
-     */\r
-    SVGNumber initialize(const SVGNumber &newItem)\r
-                    throw(DOMException, SVGException);\r
-\r
-    /**\r
-     *\r
-     */\r
-    SVGNumber getItem(unsigned long index) throw(DOMException);\r
-\r
-    /**\r
-     *\r
-     */\r
-    SVGNumber insertItemBefore(const SVGNumber &newItem, unsigned long index)\r
-                                         throw(DOMException, SVGException);\r
-\r
-    /**\r
-     *\r
-     */\r
-    SVGNumber replaceItem(const SVGNumber &newItem, unsigned long index)\r
-                          throw(DOMException, SVGException);\r
-\r
-    /**\r
-     *\r
-     */\r
-    SVGNumber removeItem(unsigned long index) throw(DOMException);\r
-\r
-    /**\r
-     *\r
-     */\r
-    SVGNumber appendItem(const SVGNumber &newItem)\r
-                                   throw(DOMException, SVGException);\r
-\r
-    //####################################################################\r
-    //# SVGRect                     \r
-    //####################################################################\r
-\r
-    /**\r
-     *\r
-     */\r
-    double getX();\r
-\r
-    /**\r
-     *\r
-     */\r
-    void setX(double val) throw(DOMException);\r
-\r
-    /**\r
-     *\r
-     */\r
-    double getY();\r
-\r
-    /**\r
-     *\r
-     */\r
-    void setY(double val) throw(DOMException);\r
-\r
-    /**\r
-     *\r
-     */\r
-    double getWidth();\r
-\r
-    /**\r
-     *\r
-     */\r
-    void setWidth(double val) throw(DOMException);\r
-\r
-    /**\r
-     *\r
-     */\r
-    double getHeight();\r
-\r
-    /**\r
-     *\r
-     */\r
-    void setHeight(double val) throw(DOMException);\r
-\r
-    //####################################################################\r
-    //# SVGRenderingIntent          \r
-    //####################################################################\r
-\r
-    //####################################################################\r
-    //# SVGStringList               \r
-    //####################################################################\r
-\r
-    /**\r
-     *\r
-     */\r
-    unsigned long getNumberOfItems();\r
-\r
-    /**\r
-     *\r
-     */\r
-    void clear() throw(DOMException);\r
-\r
-    /**\r
-     *\r
-     */\r
-    DOMString initialize(const DOMString& newItem)\r
-                    throw(DOMException, SVGException);\r
+//########################################################################\r
 \r
-    /**\r
-     *\r
-     */\r
-    DOMString getItem(unsigned long index) throw(DOMException);\r
 \r
-    /**\r
-     *\r
-     */\r
-    DOMString insertItemBefore(const DOMString& newItem, unsigned long index)\r
-                               throw(DOMException, SVGException);\r
 \r
-    /**\r
-     *\r
-     */\r
-    DOMString replaceItem(const DOMString& newItem, unsigned long index)\r
-                                throw(DOMException, SVGException);\r
 \r
-    /**\r
-     *\r
-     */\r
-    DOMString removeItem(unsigned long index) throw(DOMException);\r
 \r
-    /**\r
-     *\r
-     */\r
-    DOMString appendItem(const DOMString& newItem)\r
-                    throw(DOMException, SVGException);\r
+/*#########################################################################\r
+## Types\r
+#########################################################################*/\r
 \r
-    //####################################################################\r
-    //# SVGStylable                 \r
-    //####################################################################\r
+/**\r
+ * Bitmasks for has_an interface for SVGElement\r
+ */ \r
+#define SVG_ANGLE                          0x00000001\r
+#define SVG_ANIMATED_ANGLE                 0x00000002\r
+#define SVG_ANIMATED_BOOLEAN               0x00000004\r
+#define SVG_ANIMATED_ENUMERATION           0x00000008\r
+#define SVG_ANIMATED_INTEGER               0x00000010\r
+#define SVG_ANIMATED_LENGTH                0x00000020\r
+#define SVG_ANIMATED_LENGTH_LIST           0x00000040\r
+#define SVG_ANIMATED_NUMBER                0x00000080\r
+#define SVG_ANIMATED_NUMBER_LIST           0x00000100\r
+#define SVG_ANIMATED_RECT                  0x00000200\r
+#define SVG_ANIMATED_STRING                0x00000400\r
+#define SVG_COLOR                          0x00000800\r
+#define SVG_CSS_RULE                       0x00001000\r
+#define SVG_EXTERNAL_RESOURCES_REQUIRED    0x00002000\r
+#define SVG_FIT_TO_VIEWBOX                 0x00004000\r
+#define SVG_ICCCOLOR                       0x00008000\r
+#define SVG_LANG_SPACE                     0x00010000\r
+#define SVG_LENGTH                         0x00020000\r
+#define SVG_LENGTH_LIST                    0x00040000\r
+#define SVG_LOCATABLE                      0x00080000\r
+#define SVG_NUMBER                         0x00100000\r
+#define SVG_NUMBER_LIST                    0x00200000\r
+#define SVG_RECT                           0x00400000\r
+#define SVG_RENDERING_INTENT               0x00800000\r
+#define SVG_STRING_LIST                    0x01000000\r
+#define SVG_STYLABLE                       0x02000000\r
+#define SVG_TESTS                          0x04000000\r
+#define SVG_TRANSFORMABLE                  0x08000000\r
+#define SVG_UNIT_TYPES                     0x10000000\r
+#define SVG_URI_REFERENCE                  0x20000000\r
+#define SVG_VIEW_SPEC                      0x40000000\r
+#define SVG_ZOOM_AND_PAN                   0x80000000\r
 \r
-    /**\r
-     *\r
-     */\r
-    SVGAnimatedString getClassName();\r
+/**\r
+ * How many above?  Quite handy\r
+ */ \r
+#define SVG_NR_INTERFACES                  32\r
 \r
-    /**\r
-     *\r
-     */\r
-    css::CSSStyleDeclaration getStyle();\r
 \r
-    /**\r
-     *\r
-     */\r
-    css::CSSValue getPresentationAttribute(const DOMString& /*name*/);\r
+/**\r
+ * Enumerations for SVGElement types\r
+ */ \r
+typedef enum\r
+{\r
+    SVG_A_ELEMENT = 0,\r
+    SVG_ALTGLYPH_ELEMENT,\r
+    SVG_ALTGLYPHDEF_ELEMENT,\r
+    SVG_ALTGLYPHITEM_ELEMENT,\r
+    SVG_ANIMATE_ELEMENT,\r
+    SVG_ANIMATECOLOR_ELEMENT,\r
+    SVG_ANIMATEMOTION_ELEMENT,\r
+    SVG_ANIMATETRANSFORM_ELEMENT,\r
+    SVG_CIRCLE_ELEMENT,\r
+    SVG_CLIPPATH_ELEMENT,\r
+    SVG_COLOR_PROFILE_ELEMENT,\r
+    SVG_CURSOR_ELEMENT,\r
+    SVG_DEFINITION_SRC_ELEMENT,\r
+    SVG_DEFS_ELEMENT,\r
+    SVG_DESC_ELEMENT,\r
+    SVG_ELLIPSE_ELEMENT,\r
+    SVG_FEBLEND_ELEMENT,\r
+    SVG_FECOLORMATRIX_ELEMENT,\r
+    SVG_FECOMPONENTTRANSFER_ELEMENT,\r
+    SVG_FECOMPOSITE_ELEMENT,\r
+    SVG_FECONVOLVEMATRIX_ELEMENT,\r
+    SVG_FEDIFFUSELIGHTING_ELEMENT,\r
+    SVG_FEDISPLACEMENTMAP_ELEMENT,\r
+    SVG_FEDISTANTLIGHT_ELEMENT,\r
+    SVG_FEFLOOD_ELEMENT,\r
+    SVG_FEFUNCA_ELEMENT,\r
+    SVG_FEFUNCB_ELEMENT,\r
+    SVG_FEFUNCG_ELEMENT,\r
+    SVG_FEFUNCR_ELEMENT,\r
+    SVG_FEGAUSSIANBLUR_ELEMENT,\r
+    SVG_FEIMAGE_ELEMENT,\r
+    SVG_FEMERGE_ELEMENT,\r
+    SVG_FEMERGENODE_ELEMENT,\r
+    SVG_FEMORPHOLOGY_ELEMENT,\r
+    SVG_FEOFFSET_ELEMENT,\r
+    SVG_FEPOINTLIGHT_ELEMENT,\r
+    SVG_FESPECULARLIGHTING_ELEMENT,\r
+    SVG_FESPOTLIGHT_ELEMENT,\r
+    SVG_FETILE_ELEMENT,\r
+    SVG_FETURBULENCE_ELEMENT,\r
+    SVG_FILTER_ELEMENT,\r
+    SVG_FONT_ELEMENT,\r
+    SVG_FONT_FACE_ELEMENT,\r
+    SVG_FONT_FACE_FORMAT_ELEMENT,\r
+    SVG_FONT_FACE_NAME_ELEMENT,\r
+    SVG_FONT_FACE_SRC_ELEMENT,\r
+    SVG_FONT_FACE_URI_ELEMENT,\r
+    SVG_FOREIGNOBJECT_ELEMENT,\r
+    SVG_G_ELEMENT,\r
+    SVG_GLYPH_ELEMENT,\r
+    SVG_GLYPHREF_ELEMENT,\r
+    SVG_HKERN_ELEMENT,\r
+    SVG_IMAGE_ELEMENT,\r
+    SVG_LINE_ELEMENT,\r
+    SVG_LINEARGRADIENT_ELEMENT,\r
+    SVG_MARKER_ELEMENT,\r
+    SVG_MASK_ELEMENT,\r
+    SVG_METADATA_ELEMENT,\r
+    SVG_MISSING_GLYPH_ELEMENT,\r
+    SVG_MPATH_ELEMENT,\r
+    SVG_PATH_ELEMENT,\r
+    SVG_PATTERN_ELEMENT,\r
+    SVG_POLYGON_ELEMENT,\r
+    SVG_POLYLINE_ELEMENT,\r
+    SVG_RADIALGRADIENT_ELEMENT,\r
+    SVG_RECT_ELEMENT,\r
+    SVG_SCRIPT_ELEMENT,\r
+    SVG_SET_ELEMENT,\r
+    SVG_STOP_ELEMENT,\r
+    SVG_STYLE_ELEMENT,\r
+    SVG_SVG_ELEMENT,\r
+    SVG_SWITCH_ELEMENT,\r
+    SVG_SYMBOL_ELEMENT,\r
+    SVG_TEXT_ELEMENT,\r
+    SVG_TEXTPATH_ELEMENT,\r
+    SVG_TITLE_ELEMENT,\r
+    SVG_TREF_ELEMENT,\r
+    SVG_TSPAN_ELEMENT,\r
+    SVG_USE_ELEMENT,\r
+    SVG_VIEW_ELEMENT,\r
+    SVG_VKERN_ELEMENT,\r
+    SVG_MAX_ELEMENT\r
+} SVGElementType;\r
 \r
-    //####################################################################\r
-    //# SVGTests                    \r
-    //####################################################################\r
 \r
-    /**\r
-     *\r
-     */\r
-    SVGStringList &getRequiredFeatures();\r
 \r
-    /**\r
-     *\r
-     */\r
-    SVGStringList &getRequiredExtensions();\r
 \r
-    /**\r
-     *\r
-     */\r
-    SVGStringList &getSystemLanguage();\r
+/**\r
+ * Look up the SVG Element type enum for a given string\r
+ * Return -1 if not found\r
+ */\r
+int svgElementStrToEnum(const char *str);\r
 \r
-    /**\r
-     *\r
-     */\r
-    bool hasExtension(const DOMString& /*extension*/);\r
 \r
-    //####################################################################\r
-    //# SVGTransformable            \r
-    //####################################################################\r
+/**\r
+ * Return the string corresponding to a given SVG element type enum\r
+ * Return "unknown" if not found\r
+ */\r
+const char *svgElementEnumToStr(int type);\r
 \r
-    /**\r
-     *\r
-     */\r
-    SVGAnimatedTransformList &getTransform();\r
 \r
-    //####################################################################\r
-    //# SVGUnitTypes                \r
-    //####################################################################\r
 \r
-    //####################################################################\r
-    //# SVGURIReference             \r
-    //####################################################################\r
 \r
-    /**\r
-     *\r
-     */\r
-    SVGAnimatedString getHref();\r
+/*#########################################################################\r
+## SVGElement\r
+#########################################################################*/\r
+\r
+/**\r
+ * All of the SVG DOM interfaces that correspond directly to elements in the SVG\r
+ * language(e.g., the SVGPathElement interface corresponds directly to the\r
+ * 'path' element in the language) are derivative from base class SVGElement.\r
+ */\r
+class SVGElement : public Element\r
+{\r
+public:\r
 \r
     //####################################################################\r
-    //# SVGViewSpec                 \r
+    //# BASE METHODS FOR SVGElement\r
     //####################################################################\r
 \r
     /**\r
-     *\r
+     * Get the value of the id attribute on the given element.\r
      */\r
-    SVGTransformList getTransform();\r
+    DOMString getId();\r
 \r
     /**\r
-     *\r
+     * Set the value of the id attribute on the given element.\r
      */\r
-    SVGElement *getViewTarget();\r
+    void setId(const DOMString &val) throw(DOMException);\r
 \r
     /**\r
-     *\r
+     * Corresponds to attribute xml:base on the given element.\r
      */\r
-    DOMString getViewBoxString();\r
+    DOMString getXmlBase();\r
 \r
     /**\r
-     *\r
+     * Corresponds to attribute xml:base on the given element.\r
      */\r
-    DOMString getPreserveAspectRatioString();\r
+    void setXmlBase(const DOMString &val) throw(DOMException);\r
 \r
     /**\r
-     *\r
+     * The nearest ancestor 'svg' element. Null if the given element is the\r
+     *      outermost 'svg' element.\r
      */\r
-    DOMString getTransformString();\r
+    SVGElementPtr getOwnerSVGElement();\r
 \r
     /**\r
-     *\r
+     * The element which established the current viewport. Often, the nearest\r
+     * ancestor 'svg' element. Null if the given element is the outermost 'svg'\r
+     * element.\r
      */\r
-    DOMString getViewTargetString();\r
-\r
-    //####################################################################\r
-    //# SVGZoomAndPan               \r
-    //####################################################################\r
+    SVGElementPtr getViewportElement();\r
 \r
-    /**\r
-     *\r
-     */\r
-    unsigned short getZoomAndPan();\r
 \r
-    /**\r
-     *\r
-     */\r
-    void setZoomAndPan(unsigned short val) throw(DOMException);\r
 \r
     //####################################################################\r
     //####################################################################\r
@@ -3796,7 +3178,7 @@ public:
     /**\r
      *\r
      */\r
-    SVGAnimatedString getTarget();\r
+    SVGAnimatedValue getTarget();\r
 \r
 \r
 \r
@@ -3888,17 +3270,17 @@ public:
     /**\r
      * Corresponds to attribute cx on the given 'circle' element.\r
      */\r
-    SVGAnimatedLength getCx();\r
+    SVGAnimatedValue getCx();\r
 \r
     /**\r
      * Corresponds to attribute cy on the given 'circle' element.\r
      */\r
-    SVGAnimatedLength getCy();\r
+    SVGAnimatedValue getCy();\r
 \r
     /**\r
      * Corresponds to attribute r on the given 'circle' element.\r
      */\r
-    SVGAnimatedLength getR();\r
+    SVGAnimatedValue getR();\r
 \r
     //####################################################################\r
     //# SVGClipPathElement\r
@@ -3909,7 +3291,7 @@ public:
      * Corresponds to attribute clipPathUnits on the given 'clipPath' element.\r
      *      Takes one of the constants defined in SVGUnitTypes.\r
      */\r
-    SVGAnimatedEnumeration getClipPathUnits();\r
+    SVGAnimatedValue getClipPathUnits();\r
 \r
 \r
 \r
@@ -3973,52 +3355,53 @@ public:
     /**\r
      * Corresponds to attribute type on the given element. Takes one\\r
      *      of the Component Transfer Types.\r
+     *  -- also in SVGCSSRule\r
      */\r
-    SVGAnimatedEnumeration getType();\r
+    // SVGAnimatedValue getType();\r
 \r
     /**\r
      * Corresponds to attribute tableValues on the given element.\r
      */\r
-    SVGAnimatedNumberList getTableValues();\r
+    SVGAnimatedValueList getTableValues();\r
 \r
     /**\r
      * Corresponds to attribute slope on the given element.\r
      */\r
-    SVGAnimatedNumber getSlope();\r
+    SVGAnimatedValue getSlope();\r
 \r
     /**\r
      * Corresponds to attribute intercept on the given element.\r
      */\r
-    SVGAnimatedNumber getIntercept();\r
+    SVGAnimatedValue getIntercept();\r
 \r
     /**\r
      * Corresponds to attribute amplitude on the given element.\r
      */\r
-    SVGAnimatedNumber getAmplitude();\r
+    SVGAnimatedValue getAmplitude();\r
 \r
     /**\r
      * Corresponds to attribute exponent on the given element.\r
      */\r
-    SVGAnimatedNumber getExponent();\r
+    SVGAnimatedValue getExponent();\r
 \r
     /**\r
      * Corresponds to attribute offset on the given element.\r
      */\r
-    SVGAnimatedNumber getOffset();\r
+    SVGAnimatedValue getOffset();\r
 \r
     //####################################################################\r
     //# SVGCursorElement\r
     //####################################################################\r
 \r
     /**\r
-     *\r
+     * -- also in SVGRect\r
      */\r
-    SVGAnimatedLength getX();\r
+    // SVGAnimatedValue getX();\r
 \r
     /**\r
-     *\r
+     * -- also in SVGRect\r
      */\r
-    SVGAnimatedLength getY();\r
+    // SVGAnimatedValue getY();\r
 \r
 \r
     //####################################################################\r
@@ -4039,23 +3422,25 @@ public:
 \r
     /**\r
      * Corresponds to attribute cx on the given 'ellipse' element.\r
+     * -- also in Circle\r
      */\r
-    SVGAnimatedLength getCx();\r
+    // SVGAnimatedValue getCx();\r
 \r
     /**\r
      * Corresponds to attribute cy on the given 'ellipse' element.\r
+     * -- also in Circle\r
      */\r
-    SVGAnimatedLength getCy();\r
+    // SVGAnimatedValue getCy();\r
 \r
     /**\r
      * Corresponds to attribute rx on the given 'ellipse' element.\r
      */\r
-    SVGAnimatedLength getRx();\r
+    SVGAnimatedValue getRx();\r
 \r
     /**\r
      * Corresponds to attribute ry on the given 'ellipse' element.\r
      */\r
-    SVGAnimatedLength getRy();\r
+    SVGAnimatedValue getRy();\r
 \r
 \r
     //####################################################################\r
@@ -4078,18 +3463,18 @@ public:
     /**\r
      * Corresponds to attribute in on the given 'feBlend' element.\r
      */\r
-    SVGAnimatedString getIn1();\r
+    SVGAnimatedValue getIn1();\r
 \r
     /**\r
      * Corresponds to attribute in2 on the given 'feBlend' element.\r
      */\r
-    SVGAnimatedString getIn2();\r
+    SVGAnimatedValue getIn2();\r
 \r
     /**\r
      * Corresponds to attribute mode on the given 'feBlend' element.\r
      *      Takes one of the Blend Mode Types.\r
      */\r
-    SVGAnimatedEnumeration getMode();\r
+    SVGAnimatedValue getMode();\r
 \r
 \r
     //####################################################################\r
@@ -4111,20 +3496,22 @@ public:
 \r
     /**\r
      * Corresponds to attribute in on the given 'feColorMatrix' element.\r
+     * - also in feBlend\r
      */\r
-    SVGAnimatedString getIn1();\r
+    // SVGAnimatedValue getIn1();\r
 \r
     /**\r
      * Corresponds to attribute type on the given 'feColorMatrix' element.\r
      *      Takes one of the Color Matrix Types.\r
+     * -- also in CSSRule\r
      */\r
-    SVGAnimatedEnumeration getType();\r
+    // SVGAnimatedValue getType();\r
 \r
     /**\r
      * Corresponds to attribute values on the given 'feColorMatrix' element.\r
      * Provides access to the contents of the values attribute.\r
      */\r
-    SVGAnimatedNumberList getValues();\r
+    SVGAnimatedValueList getValues();\r
 \r
 \r
     //####################################################################\r
@@ -4134,8 +3521,9 @@ public:
 \r
     /**\r
      * Corresponds to attribute in on the given 'feComponentTransfer'  element.\r
+     * -- also in feBlend\r
      */\r
-    SVGAnimatedString getIn1();\r
+    // SVGAnimatedValue getIn1();\r
 \r
     //####################################################################\r
     //# SVGFECompositeElement\r
@@ -4157,39 +3545,41 @@ public:
 \r
     /**\r
      * Corresponds to attribute in on the given 'feComposite' element.\r
+     * -- also in feBlend\r
      */\r
-    SVGAnimatedString getIn1();\r
+    // SVGAnimatedValue getIn1();\r
 \r
     /**\r
      * Corresponds to attribute in2 on the given 'feComposite' element.\r
+     * -- also in feBlend\r
      */\r
-    SVGAnimatedString getIn2();\r
+    // SVGAnimatedValue getIn2();\r
 \r
     /**\r
      * Corresponds to attribute operator on the given 'feComposite' element.\r
      *      Takes one of the Composite Operators.\r
      */\r
-    SVGAnimatedEnumeration getOperator();\r
+    SVGAnimatedValue getOperator();\r
 \r
     /**\r
      * Corresponds to attribute k1 on the given 'feComposite' element.\r
      */\r
-    SVGAnimatedNumber getK1();\r
+    SVGAnimatedValue getK1();\r
 \r
     /**\r
      * Corresponds to attribute k2 on the given 'feComposite' element.\r
      */\r
-    SVGAnimatedNumber getK2();\r
+    SVGAnimatedValue getK2();\r
 \r
     /**\r
      * Corresponds to attribute k3 on the given 'feComposite' element.\r
      */\r
-    SVGAnimatedNumber getK3();\r
+    SVGAnimatedValue getK3();\r
 \r
     /**\r
      * Corresponds to attribute k4 on the given 'feComposite' element.\r
      */\r
-    SVGAnimatedNumber getK4();\r
+    SVGAnimatedValue getK4();\r
 \r
 \r
     //####################################################################\r
@@ -4212,61 +3602,61 @@ public:
     /**\r
      * Corresponds to attribute order on the given 'feConvolveMatrix'  element.\r
      */\r
-    SVGAnimatedInteger getOrderX();\r
+    SVGAnimatedValue getOrderX();\r
 \r
     /**\r
      * Corresponds to attribute order on the given 'feConvolveMatrix'  element.\r
      */\r
-    SVGAnimatedInteger getOrderY();\r
+    SVGAnimatedValue getOrderY();\r
 \r
     /**\r
      * Corresponds to attribute kernelMatrix on the given element.\r
      */\r
-    SVGAnimatedNumberList getKernelMatrix();\r
+    SVGAnimatedValueList getKernelMatrix();\r
 \r
     /**\r
      * Corresponds to attribute divisor on the given 'feConvolveMatrix' element.\r
      */\r
-    SVGAnimatedNumber getDivisor();\r
+    SVGAnimatedValue getDivisor();\r
 \r
     /**\r
      * Corresponds to attribute bias on the given 'feConvolveMatrix'  element.\r
      */\r
-    SVGAnimatedNumber getBias();\r
+    SVGAnimatedValue getBias();\r
 \r
     /**\r
      * Corresponds to attribute targetX on the given 'feConvolveMatrix'  element.\r
      */\r
-    SVGAnimatedInteger getTargetX();\r
+    SVGAnimatedValue getTargetX();\r
 \r
     /**\r
      * Corresponds to attribute targetY on the given 'feConvolveMatrix'  element.\r
      */\r
-    SVGAnimatedInteger getTargetY();\r
+    SVGAnimatedValue getTargetY();\r
 \r
     /**\r
      * Corresponds to attribute edgeMode on the given 'feConvolveMatrix'\r
      *      element. Takes one of the Edge Mode Types.\r
      */\r
-    SVGAnimatedEnumeration getEdgeMode();\r
+    SVGAnimatedValue getEdgeMode();\r
 \r
     /**\r
      * Corresponds to attribute kernelUnitLength on the\r
      *      given 'feConvolveMatrix'  element.\r
      */\r
-    SVGAnimatedLength getKernelUnitLengthX();\r
+    SVGAnimatedValue getKernelUnitLengthX();\r
 \r
     /**\r
      * Corresponds to attribute kernelUnitLength on the given\r
      *      'feConvolveMatrix'  element.\r
      */\r
-    SVGAnimatedLength getKernelUnitLengthY();\r
+    SVGAnimatedValue getKernelUnitLengthY();\r
 \r
     /**\r
      * Corresponds to attribute preserveAlpha on the\r
      *      given 'feConvolveMatrix'  element.\r
      */\r
-    SVGAnimatedBoolean getPreserveAlpha();\r
+    SVGAnimatedValue getPreserveAlpha();\r
 \r
 \r
 \r
@@ -4277,32 +3667,33 @@ public:
 \r
     /**\r
      * Corresponds to attribute in on the given 'feDiffuseLighting'  element.\r
+     * -- also in feBlend\r
      */\r
-    SVGAnimatedString getIn1();\r
+    // SVGAnimatedValue getIn1();\r
 \r
     /**\r
      * Corresponds to attribute surfaceScale on the given\r
      *      'feDiffuseLighting'  element.\r
      */\r
-    SVGAnimatedNumber getSurfaceScale();\r
+    SVGAnimatedValue getSurfaceScale();\r
 \r
     /**\r
      * Corresponds to attribute diffuseConstant on the given\r
      *      'feDiffuseLighting'  element.\r
      */\r
-    SVGAnimatedNumber getDiffuseConstant();\r
+    SVGAnimatedValue getDiffuseConstant();\r
 \r
     /**\r
      * Corresponds to attribute kernelUnitLength on the given\r
      *      'feDiffuseLighting'  element.\r
      */\r
-    SVGAnimatedNumber getKernelUnitLengthX();\r
+    // SVGAnimatedValue getKernelUnitLengthX();\r
 \r
     /**\r
      * Corresponds to attribute kernelUnitLength on the given\r
      *      'feDiffuseLighting'  element.\r
      */\r
-    SVGAnimatedNumber getKernelUnitLengthY();\r
+    // SVGAnimatedValue getKernelUnitLengthY();\r
 \r
 \r
 \r
@@ -4326,29 +3717,31 @@ public:
 \r
     /**\r
      *\r
+     * -- also in feBlend\r
      */\r
-    SVGAnimatedString getIn1();\r
+    // SVGAnimatedValue getIn1();\r
 \r
     /**\r
      *\r
+     * -- also in feBlend\r
      */\r
-    SVGAnimatedString getIn2();\r
+    // SVGAnimatedValue getIn2();\r
 \r
 \r
     /**\r
      *\r
      */\r
-    SVGAnimatedNumber getScale();\r
+    SVGAnimatedValue getScale();\r
 \r
     /**\r
      *\r
      */\r
-    SVGAnimatedEnumeration getXChannelSelector();\r
+    SVGAnimatedValue getXChannelSelector();\r
 \r
     /**\r
      *\r
      */\r
-    SVGAnimatedEnumeration getYChannelSelector();\r
+    SVGAnimatedValue getYChannelSelector();\r
 \r
     //####################################################################\r
     //# SVGFEDistantLightElement\r
@@ -4358,14 +3751,14 @@ public:
     /**\r
      * Corresponds to attribute azimuth on the given 'feDistantLight'  element.\r
      */\r
-    SVGAnimatedNumber getAzimuth();\r
+    SVGAnimatedValue getAzimuth();\r
 \r
 \r
     /**\r
      * Corresponds to attribute elevation on the given 'feDistantLight'\r
      *    element\r
      */\r
-    SVGAnimatedNumber getElevation();\r
+    SVGAnimatedValue getElevation();\r
 \r
 \r
     //####################################################################\r
@@ -4375,8 +3768,9 @@ public:
 \r
     /**\r
      *\r
+     * -- also in feBlend\r
      */\r
-    SVGAnimatedString getIn1();\r
+    // SVGAnimatedValue getIn1();\r
 \r
 \r
     //####################################################################\r
@@ -4403,19 +3797,20 @@ public:
 \r
     /**\r
      *\r
+     * -- also in feBlend\r
      */\r
-    SVGAnimatedString getIn1();\r
+    // SVGAnimatedValue getIn1();\r
 \r
 \r
     /**\r
      *\r
      */\r
-    SVGAnimatedNumber getStdDeviationX();\r
+    SVGAnimatedValue getStdDeviationX();\r
 \r
     /**\r
      *\r
      */\r
-    SVGAnimatedNumber getStdDeviationY();\r
+    SVGAnimatedValue getStdDeviationY();\r
 \r
 \r
     /**\r
@@ -4456,24 +3851,25 @@ public:
 \r
     /**\r
      *\r
+     * -- also in feBlend\r
      */\r
-    SVGAnimatedString getIn1();\r
+    // SVGAnimatedValue getIn1();\r
 \r
 \r
     /**\r
      *\r
      */\r
-    SVGAnimatedEnumeration getOperator();\r
+    // SVGAnimatedValue getOperator();\r
 \r
     /**\r
      *\r
      */\r
-    SVGAnimatedLength getRadiusX();\r
+    SVGAnimatedValue getRadiusX();\r
 \r
     /**\r
      *\r
      */\r
-    SVGAnimatedLength getRadiusY();\r
+    SVGAnimatedValue getRadiusY();\r
 \r
     //####################################################################\r
     //# SVGFEOffsetElement\r
@@ -4481,18 +3877,19 @@ public:
 \r
     /**\r
      *\r
+     * -- also in feBlend\r
      */\r
-    SVGAnimatedString getIn1();\r
+    // SVGAnimatedValue getIn1();\r
 \r
     /**\r
      *\r
      */\r
-    SVGAnimatedLength getDx();\r
+    SVGAnimatedValue getDx();\r
 \r
     /**\r
      *\r
      */\r
-    SVGAnimatedLength getDy();\r
+    SVGAnimatedValue getDy();\r
 \r
 \r
     //####################################################################\r
@@ -4502,17 +3899,17 @@ public:
     /**\r
      * Corresponds to attribute x on the given 'fePointLight' element.\r
      */\r
-    SVGAnimatedNumber getX();\r
+    SVGAnimatedValue getX();\r
 \r
     /**\r
      * Corresponds to attribute y on the given 'fePointLight' element.\r
      */\r
-    SVGAnimatedNumber getY();\r
+    SVGAnimatedValue getY();\r
 \r
     /**\r
      * Corresponds to attribute z on the given 'fePointLight' element.\r
      */\r
-    SVGAnimatedNumber getZ();\r
+    SVGAnimatedValue getZ();\r
 \r
     //####################################################################\r
     //# SVGFESpecularLightingElement\r
@@ -4521,23 +3918,24 @@ public:
 \r
     /**\r
      *\r
+     * -- also in feBlend\r
      */\r
-    SVGAnimatedString getIn1();\r
+    // SVGAnimatedValue getIn1();\r
 \r
     /**\r
      *\r
      */\r
-    SVGAnimatedNumber getSurfaceScale();\r
+    // SVGAnimatedValue getSurfaceScale();\r
 \r
     /**\r
      *\r
      */\r
-    SVGAnimatedNumber getSpecularConstant();\r
+    SVGAnimatedValue getSpecularConstant();\r
 \r
     /**\r
      *\r
      */\r
-    SVGAnimatedNumber getSpecularExponent();\r
+    SVGAnimatedValue getSpecularExponent();\r
 \r
 \r
     //####################################################################\r
@@ -4547,44 +3945,44 @@ public:
     /**\r
      * Corresponds to attribute x on the given 'feSpotLight' element.\r
      */\r
-    SVGAnimatedNumber getX();\r
+    // SVGAnimatedValue getX();\r
 \r
     /**\r
      * Corresponds to attribute y on the given 'feSpotLight' element.\r
      */\r
-    SVGAnimatedNumber getY();\r
+    // SVGAnimatedValue getY();\r
 \r
     /**\r
      * Corresponds to attribute z on the given 'feSpotLight' element.\r
      */\r
-    SVGAnimatedNumber getZ();\r
+    // SVGAnimatedValue getZ();\r
 \r
     /**\r
      * Corresponds to attribute pointsAtX on the given 'feSpotLight' element.\r
      */\r
-    SVGAnimatedNumber getPointsAtX();\r
+    SVGAnimatedValue getPointsAtX();\r
 \r
     /**\r
      * Corresponds to attribute pointsAtY on the given 'feSpotLight' element.\r
      */\r
-    SVGAnimatedNumber getPointsAtY();\r
+    SVGAnimatedValue getPointsAtY();\r
 \r
     /**\r
      * Corresponds to attribute pointsAtZ on the given 'feSpotLight' element.\r
      */\r
-    SVGAnimatedNumber getPointsAtZ();\r
+    SVGAnimatedValue getPointsAtZ();\r
 \r
     /**\r
      * Corresponds to attribute specularExponent on the\r
      *      given 'feSpotLight'  element.\r
      */\r
-    SVGAnimatedNumber getSpecularExponent();\r
+    // SVGAnimatedValue getSpecularExponent();\r
 \r
     /**\r
      * Corresponds to attribute limitingConeAngle on the\r
      *      given 'feSpotLight'  element.\r
      */\r
-    SVGAnimatedNumber getLimitingConeAngle();\r
+    SVGAnimatedValue getLimitingConeAngle();\r
 \r
 \r
     //####################################################################\r
@@ -4594,8 +3992,9 @@ public:
 \r
     /**\r
      *\r
+     * -- also in feBlend\r
      */\r
-    SVGAnimatedString getIn1();\r
+    // SVGAnimatedValue getIn1();\r
 \r
 \r
     //####################################################################\r
@@ -4628,32 +4027,32 @@ public:
     /**\r
      *\r
      */\r
-    SVGAnimatedNumber getBaseFrequencyX();\r
+    SVGAnimatedValue getBaseFrequencyX();\r
 \r
     /**\r
      *\r
      */\r
-    SVGAnimatedNumber getBaseFrequencyY();\r
+    SVGAnimatedValue getBaseFrequencyY();\r
 \r
     /**\r
      *\r
      */\r
-    SVGAnimatedInteger getNumOctaves();\r
+    SVGAnimatedValue getNumOctaves();\r
 \r
     /**\r
      *\r
      */\r
-    SVGAnimatedNumber getSeed();\r
+    SVGAnimatedValue getSeed();\r
 \r
     /**\r
      *\r
      */\r
-    SVGAnimatedEnumeration getStitchTiles();\r
+    SVGAnimatedValue getStitchTiles();\r
 \r
     /**\r
      *\r
      */\r
-    SVGAnimatedEnumeration getType();\r
+    SVGAnimatedValue getType();\r
 \r
 \r
 \r
@@ -4666,47 +4065,47 @@ public:
      * Corresponds to attribute filterUnits on the given 'filter' element. Takes one\r
      * of the constants defined in SVGUnitTypes.\r
      */\r
-    SVGAnimatedEnumeration getFilterUnits();\r
+    SVGAnimatedValue getFilterUnits();\r
 \r
     /**\r
      * Corresponds to attribute primitiveUnits on the given 'filter' element. Takes\r
      * one of the constants defined in SVGUnitTypes.\r
      */\r
-    SVGAnimatedEnumeration getPrimitiveUnits();\r
+    SVGAnimatedValue getPrimitiveUnits();\r
 \r
     /**\r
      *\r
      */\r
-    SVGAnimatedLength getX();\r
+    // SVGAnimatedValue getX();\r
 \r
     /**\r
      * Corresponds to attribute x on the given 'filter' element.\r
      */\r
-    SVGAnimatedLength getY();\r
+    // SVGAnimatedValue getY();\r
 \r
     /**\r
      * Corresponds to attribute y on the given 'filter' element.\r
      */\r
-    SVGAnimatedLength getWidth();\r
+    // SVGAnimatedValue getWidth();\r
 \r
     /**\r
      * Corresponds to attribute height on the given 'filter' element.\r
      */\r
-    SVGAnimatedLength getHeight();\r
+    // SVGAnimatedValue getHeight();\r
 \r
 \r
     /**\r
      * Corresponds to attribute filterRes on the given 'filter' element.\r
      *      Contains the X component of attribute filterRes.\r
      */\r
-    SVGAnimatedInteger getFilterResX();\r
+    SVGAnimatedValue getFilterResX();\r
 \r
     /**\r
      * Corresponds to attribute filterRes on the given 'filter' element.\r
      * Contains the Y component(possibly computed automatically)\r
      *      of attribute filterRes.\r
      */\r
-    SVGAnimatedInteger getFilterResY();\r
+    SVGAnimatedValue getFilterResY();\r
 \r
     /**\r
      * Sets the values for attribute filterRes.\r
@@ -4745,22 +4144,22 @@ public:
     /**\r
      *\r
      */\r
-    SVGAnimatedLength getX();\r
+    // SVGAnimatedValue getX();\r
 \r
     /**\r
      *\r
      */\r
-    SVGAnimatedLength getY();\r
+    // SVGAnimatedValue getY();\r
 \r
     /**\r
      *\r
      */\r
-    SVGAnimatedLength getWidth();\r
+    // SVGAnimatedValue getWidth();\r
 \r
     /**\r
      *\r
      */\r
-    SVGAnimatedLength getHeight();\r
+    // SVGAnimatedValue getHeight();\r
 \r
 \r
 \r
@@ -4772,62 +4171,62 @@ public:
     /**\r
      * Get the attribute glyphRef on the given element.\r
      */\r
-    DOMString getGlyphRef();\r
+    // DOMString getGlyphRef();\r
 \r
     /**\r
      * Set the attribute glyphRef on the given element.\r
      */\r
-    void setGlyphRef(const DOMString &val) throw(DOMException);\r
+    // void setGlyphRef(const DOMString &val) throw(DOMException);\r
 \r
     /**\r
      * Get the attribute format on the given element.\r
      */\r
-    DOMString getFormat();\r
+    // DOMString getFormat();\r
 \r
     /**\r
      * Set the attribute format on the given element.\r
      */\r
-    void setFormat(const DOMString &val) throw(DOMException);\r
+    // void setFormat(const DOMString &val) throw(DOMException);\r
 \r
     /**\r
      * Get the attribute x on the given element.\r
      */\r
-    double getX();\r
+    // double getX();\r
 \r
     /**\r
      * Set the attribute x on the given element.\r
      */\r
-    void setX(double val) throw(DOMException);\r
+    // void setX(double val) throw(DOMException);\r
 \r
     /**\r
      * Get the attribute y on the given element.\r
      */\r
-    double getY();\r
+    // double getY();\r
 \r
     /**\r
      * Set the attribute y on the given element.\r
      */\r
-    void setY(double val) throw(DOMException);\r
+    // void setY(double val) throw(DOMException);\r
 \r
     /**\r
      * Get the attribute dx on the given element.\r
      */\r
-    double getDx();\r
+    // double getDx();\r
 \r
     /**\r
      * Set the attribute dx on the given element.\r
      */\r
-    void setDx(double val) throw(DOMException);\r
+    // void setDx(double val) throw(DOMException);\r
 \r
     /**\r
      * Get the attribute dy on the given element.\r
      */\r
-    double getDy();\r
+    // double getDy();\r
 \r
     /**\r
      * Set the attribute dy on the given element.\r
      */\r
-    void setDy(double val) throw(DOMException);\r
+    // void setDy(double val) throw(DOMException);\r
 \r
 \r
     //####################################################################\r
@@ -4851,18 +4250,18 @@ public:
      * Corresponds to attribute gradientUnits on the given element.\r
      *      Takes one of the constants defined in SVGUnitTypes.\r
      */\r
-    SVGAnimatedEnumeration getGradientUnits();\r
+    SVGAnimatedValue &getGradientUnits();\r
 \r
     /**\r
      * Corresponds to attribute gradientTransform on the given element.\r
      */\r
-    SVGAnimatedTransformList getGradientTransform();\r
+    SVGAnimatedValueList &getGradientTransform();\r
 \r
     /**\r
      * Corresponds to attribute spreadMethod on the given element.\r
      *      One of the Spread Method Types.\r
      */\r
-    SVGAnimatedEnumeration getSpreadMethod();\r
+    SVGAnimatedValue &getSpreadMethod();\r
 \r
 \r
 \r
@@ -4877,28 +4276,28 @@ public:
     /**\r
      * Corresponds to attribute x on the given 'image' element.\r
      */\r
-    SVGAnimatedLength getX();\r
+    // SVGAnimatedValue getX();\r
 \r
     /**\r
      * Corresponds to attribute y on the given 'image' element.\r
      */\r
-    SVGAnimatedLength getY();\r
+    // SVGAnimatedValue getY();\r
 \r
     /**\r
      * Corresponds to attribute width on the given 'image' element.\r
      */\r
-    SVGAnimatedLength getWidth();\r
+    // SVGAnimatedValue getWidth();\r
 \r
     /**\r
      * Corresponds to attribute height on the given 'image' element.\r
      */\r
-    SVGAnimatedLength getHeight();\r
+    // SVGAnimatedValue getHeight();\r
 \r
 \r
     /**\r
      * Corresponds to attribute preserveAspectRatio on the given element.\r
      */\r
-    SVGAnimatedPreserveAspectRatio getPreserveAspectRatio();\r
+    // SVGAnimatedPreserveAspectRatio getPreserveAspectRatio();\r
 \r
     //####################################################################\r
     //# SVGLinearGradientElement\r
@@ -4907,22 +4306,22 @@ public:
     /**\r
      * Corresponds to attribute x1 on the given 'linearGradient'  element.\r
      */\r
-    SVGAnimatedLength getX1();\r
+    // SVGAnimatedValue getX1();\r
 \r
     /**\r
      * Corresponds to attribute y1 on the given 'linearGradient'  element.\r
      */\r
-    SVGAnimatedLength getY1();\r
+    // SVGAnimatedValue getY1();\r
 \r
     /**\r
      * Corresponds to attribute x2 on the given 'linearGradient'  element.\r
      */\r
-    SVGAnimatedLength getX2();\r
+    // SVGAnimatedValue getX2();\r
 \r
     /**\r
      * Corresponds to attribute y2 on the given 'linearGradient'  element.\r
      */\r
-    SVGAnimatedLength getY2();\r
+    // SVGAnimatedValue getY2();\r
 \r
 \r
 \r
@@ -4933,22 +4332,22 @@ public:
     /**\r
      * Corresponds to attribute x1 on the given 'line' element.\r
      */\r
-    SVGAnimatedLength getX1();\r
+    // SVGAnimatedValue getX1();\r
 \r
     /**\r
      * Corresponds to attribute y1 on the given 'line' element.\r
      */\r
-    SVGAnimatedLength getY1();\r
+    // SVGAnimatedValue getY1();\r
 \r
     /**\r
      * Corresponds to attribute x2 on the given 'line' element.\r
      */\r
-    SVGAnimatedLength getX2();\r
+    // SVGAnimatedValue getX2();\r
 \r
     /**\r
      * Corresponds to attribute y2 on the given 'line' element.\r
      */\r
-    SVGAnimatedLength getY2();\r
+    // SVGAnimatedValue getY2();\r
 \r
 \r
     //####################################################################\r
@@ -4980,41 +4379,41 @@ public:
     /**\r
      * Corresponds to attribute refX on the given 'marker' element.\r
      */\r
-    SVGAnimatedLength getRefX();\r
+    SVGAnimatedValue getRefX();\r
 \r
     /**\r
      * Corresponds to attribute refY on the given 'marker' element.\r
      */\r
-    SVGAnimatedLength getRefY();\r
+    SVGAnimatedValue getRefY();\r
 \r
     /**\r
      * Corresponds to attribute markerUnits on the given 'marker' element.\r
      *      One of the Marker Units Types defined above.\r
      */\r
-    SVGAnimatedEnumeration getMarkerUnits();\r
+    SVGAnimatedValue getMarkerUnits();\r
 \r
     /**\r
      * Corresponds to attribute markerWidth on the given 'marker' element.\r
      */\r
-    SVGAnimatedLength getMarkerWidth();\r
+    SVGAnimatedValue getMarkerWidth();\r
 \r
     /**\r
      * Corresponds to attribute markerHeight on the given 'marker' element.\r
      */\r
-    SVGAnimatedLength getMarkerHeight();\r
+    SVGAnimatedValue getMarkerHeight();\r
 \r
     /**\r
      * Corresponds to attribute orient on the given 'marker' element.\r
      *      One of the Marker Orientation Types defined above.\r
      */\r
-    SVGAnimatedEnumeration getOrientType();\r
+    SVGAnimatedValue getOrientType();\r
 \r
     /**\r
      * Corresponds to attribute orient on the given 'marker' element.\r
      * If markerUnits is SVG_MARKER_ORIENT_ANGLE, the angle value for\r
      * attribute orient; otherwise, it will be set to zero.\r
      */\r
-    SVGAnimatedAngle getOrientAngle();\r
+    SVGAnimatedValue getOrientAngle();\r
 \r
 \r
     /**\r
@@ -5037,33 +4436,33 @@ public:
      * Corresponds to attribute maskUnits on the given 'mask' element. Takes one of\r
      * the constants defined in SVGUnitTypes.\r
      */\r
-    SVGAnimatedEnumeration getMaskUnits();\r
+    SVGAnimatedValue getMaskUnits();\r
 \r
     /**\r
      * Corresponds to attribute maskContentUnits on the given 'mask' element. Takes\r
      * one of the constants defined in SVGUnitTypes.\r
      */\r
-    SVGAnimatedEnumeration getMaskContentUnits();\r
+    SVGAnimatedValue getMaskContentUnits();\r
 \r
     /**\r
      * Corresponds to attribute x on the given 'mask' element.\r
      */\r
-    SVGAnimatedLength getX();\r
+    // SVGAnimatedValue getX();\r
 \r
     /**\r
      * Corresponds to attribute y on the given 'mask' element.\r
      */\r
-    SVGAnimatedLength getY();\r
+    // SVGAnimatedValue getY();\r
 \r
     /**\r
      * Corresponds to attribute width on the given 'mask' element.\r
      */\r
-    SVGAnimatedLength getWidth();\r
+    // SVGAnimatedValue getWidth();\r
 \r
     /**\r
      * Corresponds to attribute height on the given 'mask' element.\r
      */\r
-    SVGAnimatedLength getHeight();\r
+    // SVGAnimatedValue getHeight();\r
 \r
     //####################################################################\r
     //# SVGMetadataElement\r
@@ -5081,7 +4480,7 @@ public:
     /**\r
      * Corresponds to attribute pathLength on the given 'path' element.\r
      */\r
-    SVGAnimatedNumber getPathLength();\r
+    SVGAnimatedValue getPathLength();\r
 \r
     /**\r
      * Returns the user agent's computed value for the total length of the path using\r
@@ -5221,38 +4620,38 @@ public:
      * Corresponds to attribute patternUnits on the given 'pattern' element.\r
      * Takes one of the constants defined in SVGUnitTypes.\r
      */\r
-    SVGAnimatedEnumeration getPatternUnits();\r
+    SVGAnimatedValue getPatternUnits();\r
 \r
     /**\r
      * Corresponds to attribute patternContentUnits on the given 'pattern'\r
      *      element. Takes one of the constants defined in SVGUnitTypes.\r
      */\r
-    SVGAnimatedEnumeration getPatternContentUnits();\r
+    SVGAnimatedValue getPatternContentUnits();\r
 \r
     /**\r
      * Corresponds to attribute patternTransform on the given 'pattern' element.\r
      */\r
-    SVGAnimatedTransformList getPatternTransform();\r
+    SVGAnimatedValueList &getPatternTransform();\r
 \r
     /**\r
      * Corresponds to attribute x on the given 'pattern' element.\r
      */\r
-    SVGAnimatedLength getX();\r
+    // SVGAnimatedValue getX();\r
 \r
     /**\r
      *\r
      */\r
-    SVGAnimatedLength getY();\r
+    // SVGAnimatedValue getY();\r
 \r
     /**\r
      * Corresponds to attribute width on the given 'pattern' element.\r
      */\r
-    SVGAnimatedLength getWidth();\r
+    // SVGAnimatedValue getWidth();\r
 \r
     /**\r
      * Corresponds to attribute height on the given 'pattern' element.\r
      */\r
-    SVGAnimatedLength getHeight();\r
+    // SVGAnimatedValue getHeight();\r
 \r
 \r
     //####################################################################\r
@@ -5271,31 +4670,31 @@ public:
     /**\r
      * Corresponds to attribute cx on the given 'radialGradient'  element.\r
      */\r
-    SVGAnimatedLength getCx();\r
+    // SVGAnimatedValue getCx();\r
 \r
 \r
     /**\r
      * Corresponds to attribute cy on the given 'radialGradient'  element.\r
      */\r
-    SVGAnimatedLength getCy();\r
+    // SVGAnimatedValue getCy();\r
 \r
 \r
     /**\r
      * Corresponds to attribute r on the given 'radialGradient'  element.\r
      */\r
-    SVGAnimatedLength getR();\r
+    // SVGAnimatedValue getR();\r
 \r
 \r
     /**\r
      * Corresponds to attribute fx on the given 'radialGradient'  element.\r
      */\r
-    SVGAnimatedLength getFx();\r
+    SVGAnimatedValue getFx();\r
 \r
 \r
     /**\r
      * Corresponds to attribute fy on the given 'radialGradient'  element.\r
      */\r
-    SVGAnimatedLength getFy();\r
+    SVGAnimatedValue getFy();\r
 \r
 \r
     //####################################################################\r
@@ -5305,33 +4704,33 @@ public:
     /**\r
      * Corresponds to attribute x on the given 'rect' element.\r
      */\r
-    SVGAnimatedLength getX();\r
+    // SVGAnimatedValue getX();\r
 \r
     /**\r
      * Corresponds to attribute y on the given 'rect' element.\r
      */\r
-    SVGAnimatedLength getY();\r
+    // SVGAnimatedValue getY();\r
 \r
     /**\r
      * Corresponds to attribute width on the given 'rect' element.\r
      */\r
-    SVGAnimatedLength getWidth();\r
+    // SVGAnimatedValue getWidth();\r
 \r
     /**\r
      * Corresponds to attribute height on the given 'rect' element.\r
      */\r
-    SVGAnimatedLength getHeight();\r
+    // SVGAnimatedValue getHeight();\r
 \r
 \r
     /**\r
      * Corresponds to attribute rx on the given 'rect' element.\r
      */\r
-    SVGAnimatedLength getRx();\r
+    // SVGAnimatedValue getRx();\r
 \r
     /**\r
      * Corresponds to attribute ry on the given 'rect' element.\r
      */\r
-    SVGAnimatedLength getRy();\r
+    // SVGAnimatedValue getRy();\r
 \r
 \r
     //####################################################################\r
@@ -5341,12 +4740,12 @@ public:
     /**\r
      *\r
      */\r
-    DOMString getType();\r
+    // DOMString getType();\r
 \r
     /**\r
      *\r
      */\r
-    void setType(const DOMString &val) throw(DOMException);\r
+    // void setType(const DOMString &val) throw(DOMException);\r
 \r
     //####################################################################\r
     //# SVGSetElement\r
@@ -5360,7 +4759,7 @@ public:
     /**\r
      * Corresponds to attribute offset on the given 'stop' element.\r
      */\r
-    SVGAnimatedNumber getOffset();\r
+    // SVGAnimatedValue getOffset();\r
 \r
 \r
     //####################################################################\r
@@ -5380,12 +4779,12 @@ public:
     /**\r
      * Get the attribute type on the given 'style' element.\r
      */\r
-    DOMString getType();\r
+    // DOMString getType();\r
 \r
     /**\r
      * Set the attribute type on the given 'style' element.\r
      */\r
-    void setType(const DOMString &val) throw(DOMException);\r
+    // void setType(const DOMString &val) throw(DOMException);\r
 \r
     /**\r
      * Get the attribute media on the given 'style' element.\r
@@ -5418,22 +4817,22 @@ public:
     /**\r
      * Corresponds to attribute x on the given 'svg' element.\r
      */\r
-    SVGAnimatedLength getX();\r
+    // SVGAnimatedValue getX();\r
 \r
     /**\r
      * Corresponds to attribute y on the given 'svg' element.\r
      */\r
-    SVGAnimatedLength getY();\r
+    // SVGAnimatedValue getY();\r
 \r
     /**\r
      * Corresponds to attribute width on the given 'svg' element.\r
      */\r
-    SVGAnimatedLength getWidth();\r
+    // SVGAnimatedValue getWidth();\r
 \r
     /**\r
      * Corresponds to attribute height on the given 'svg' element.\r
      */\r
-    SVGAnimatedLength getHeight();\r
+    // SVGAnimatedValue getHeight();\r
 \r
     /**\r
      * Get the attribute contentScriptType on the given 'svg' element.\r
@@ -5630,7 +5029,7 @@ public:
      * Returns the current time in seconds relative to the start time for\r
      *      the current SVG document fragment.\r
      */\r
-    double getCurrentTime();\r
+    // double getCurrentTime();\r
 \r
     /**\r
      * Adjusts the clock for this SVG document fragment, establishing\r
@@ -5757,14 +5156,14 @@ public:
     /**\r
      * Corresponds to attribute textLength on the given element.\r
      */\r
-    SVGAnimatedLength getTextLength();\r
+    SVGAnimatedValue getTextLength();\r
 \r
 \r
     /**\r
      * Corresponds to attribute lengthAdjust on the given element. The value must be\r
      * one of the length adjust constants specified above.\r
      */\r
-    SVGAnimatedEnumeration getLengthAdjust();\r
+    SVGAnimatedValue getLengthAdjust();\r
 \r
 \r
     /**\r
@@ -5898,19 +5297,19 @@ public:
     /**\r
      * Corresponds to attribute startOffset on the given 'textPath' element.\r
      */\r
-    SVGAnimatedLength getStartOffset();\r
+    SVGAnimatedValue getStartOffset();\r
 \r
     /**\r
      * Corresponds to attribute method on the given 'textPath' element. The value\r
      * must be one of the method type constants specified above.\r
      */\r
-    SVGAnimatedEnumeration getMethod();\r
+    SVGAnimatedValue getMethod();\r
 \r
     /**\r
      * Corresponds to attribute spacing on the given 'textPath' element.\r
      *  The value must be one of the spacing type constants specified above.\r
      */\r
-    SVGAnimatedEnumeration getSpacing();\r
+    SVGAnimatedValue getSpacing();\r
 \r
 \r
     //####################################################################\r
@@ -5921,28 +5320,28 @@ public:
     /**\r
      * Corresponds to attribute x on the given element.\r
      */\r
-    SVGAnimatedLength getX();\r
+    // SVGAnimatedValue getX();\r
 \r
     /**\r
      * Corresponds to attribute y on the given element.\r
      */\r
-    SVGAnimatedLength getY();\r
+    // SVGAnimatedValue getY();\r
 \r
     /**\r
      * Corresponds to attribute dx on the given element.\r
      */\r
-    SVGAnimatedLength getDx();\r
+    // SVGAnimatedValue getDx();\r
 \r
     /**\r
      * Corresponds to attribute dy on the given element.\r
      */\r
-    SVGAnimatedLength getDy();\r
+    // SVGAnimatedValue getDy();\r
 \r
 \r
     /**\r
      * Corresponds to attribute rotate on the given element.\r
      */\r
-    SVGAnimatedNumberList getRotate();\r
+    SVGAnimatedValueList getRotate();\r
 \r
 \r
     //####################################################################\r
@@ -5968,22 +5367,22 @@ public:
     /**\r
      * Corresponds to attribute x on the given 'use' element.\r
      */\r
-    SVGAnimatedLength getX();\r
+    // SVGAnimatedValue getX();\r
 \r
     /**\r
      * Corresponds to attribute y on the given 'use' element.\r
      */\r
-    SVGAnimatedLength getY();\r
+    // SVGAnimatedValue getY();\r
 \r
     /**\r
      * Corresponds to attribute width on the given 'use' element.\r
      */\r
-    SVGAnimatedLength getWidth();\r
+    // SVGAnimatedValue getWidth();\r
 \r
     /**\r
      * Corresponds to attribute height on the given 'use' element.\r
      */\r
-    SVGAnimatedLength getHeight();\r
+    // SVGAnimatedValue getHeight();\r
 \r
     /**\r
      * The root of the "instance tree". See description of SVGElementInstance for\r
@@ -6012,7 +5411,7 @@ public:
     /**\r
      *\r
      */\r
-    SVGStringList getViewTarget();\r
+    SVGValueList getViewTarget();\r
 \r
 \r
 \r