def __init__(self, element = None, attributes = {}):
		SVGElement.__init__(self, element)
		DefinitionContainer.__init__(self)
		if not self.__dict__.has_key("container_map"):
			self.__dict__["container_map"] = {}
		self.__dict__["container_map"]["linear_gradient"] = LinearGradient
		self.__dict__["container_map"]["radial_gradient"] = RadialGradient
		self.__dict__["container_map"]["pattern"] = Pattern
		if element == None:
			handle_attributes(self, "defs", attributes)
	def __init__(self, attributes = {}, element = None, setdefaults = False):
		Shape.__init__(self, element)
		self.register_attribute_alias("radius", "r")
		if not element or setdefaults:
			if not attributes.has_key("center"):
				if not attributes.has_key("cx"): attributes["cx"] = 0
				if not attributes.has_key("cy"): attributes["cy"] = 0
			if not attributes.has_key("radius"):
				if not attributes.has_key("r"): attributes["r"] = 50
			if not attributes.has_key("fill"): attributes["fill"] = "#000000ff"
			handle_attributes(self, "circle", attributes)
	def __init__(self, attributes = {}, element = None, setdefaults = False):
		Shape.__init__(self, element)
		if not element or setdefaults:
			if not attributes.has_key("center"):
				if not attributes.has_key("cx"): attributes["cx"] = 0
				if not attributes.has_key("cy"): attributes["cy"] = 0
			if not attributes.has_key("radius"):
				if not attributes.has_key("rx"): attributes["rx"] = 50
				if not attributes.has_key("ry"): attributes["ry"] = 100
			if not attributes.has_key("fill"): attributes["fill"] = "#000000ff"
			handle_attributes(self, "ellipse", attributes)
	def __init__(self, attributes = {}, element = None, setdefaults = False):
		"""
		Initialize the stop.
		
		@type element: xml.dom.Element
		@param element: An existing DOM element
		"""
		SVGElement.__init__(self, element)
		if not element or setdefaults:
			if not attributes.has_key("color"): attributes["color"] = "#000000ff"
			if not attributes.has_key("offset"): attributes["offset"] = "0"
			handle_attributes(self, "stop", attributes)
	def __init__(self, attributes = {}, element = None, setdefaults = False):
		Shape.__init__(self, element)
		self.register_attribute_alias("roundedx", "rx")
		self.register_attribute_alias("roundedy", "ry")
		if not element or setdefaults:
			if not attributes.has_key("dimensions"):
				if not attributes.has_key("x"): attributes["x"] = 0
				if not attributes.has_key("y"): attributes["y"] = 0
				if not attributes.has_key("width"): attributes["width"] = "100"
				if not attributes.has_key("height"): attributes["height"] = "100"
			self.fill = "#000000ff"
			handle_attributes(self, "rect", attributes)
	def __init__(self, element = None):
		Shape.__init__(self, element)
		ShapeContainer.__init__(self)
		self.__dict__["container_map"]["rect"] = Rect
		self.__dict__["container_map"]["circle"] = Circle
		self.__dict__["container_map"]["ellipse"] = Ellipse
		self.__dict__["container_map"]["line"] = Line
		self.__dict__["container_map"]["polyline"] = PolyShape
		self.__dict__["container_map"]["polygon"] = PolyShape
		self.__dict__["container_map"]["path"] = Path
		self.__dict__["container_map"]["group"] = Group
		if element == None:
			handle_attributes(self, "group", {})
	def __init__(self, attributes = {}, element = None, setdefaults = False):
		SVGElement.__init__(self, element)
		StrokedElement.__init__(self)
		TransformableElement.__init__(self)
		if not element or setdefaults:
			if not attributes.has_key("start"):
				if not attributes.has_key("x1"): attributes["x1"] = 0
				if not attributes.has_key("y1"): attributes["y1"] = 0
			if not attributes.has_key("stop"):
				if not attributes.has_key("x2"): attributes["x2"] = 50
				if not attributes.has_key("y2"): attributes["y2"] = 50
			if not attributes.has_key("stroke"):
				attributes["stroke"] = "#000000ff"
			handle_attributes(self, "line", attributes)
	def __init__(self, element = None, attributes = {}):
		Gradient.__init__(self, element)
		self.register_attribute_alias("radius", "r")
		if element == None:
			handle_attributes(self, "radialGradient", attributes)
	def __init__(self, attributes = {}, element = None):
		Gradient.__init__(self, element)
		if element == None:
			handle_attributes(self, "linearGradient", attributes)