def __init__(self, element = None):
		SVGElement.__init__(self, element)
		TransformableElement.__init__(self)
		TextElementContainer.__init__(self)
		self.register_attribute_alias("xlink", "xlink:href")
		self.__dict__["container_map"]["tref"] = Tref
		self.__dict__["container_map"]["tspan"] = Tspan
	def __init__(self, element = None):
		SVGElement.__init__(self, element)
		for special_element in ["shapes", "basic_shapes", "text_shapes", \
								"containers", "rects", "circles", "ellipses", \
								"lines", "polylines", "polygons", "paths", \
								"texts", "text_paths", "groups"]:
			self.register_special_attribute(special_element)
			self.register_special_attribute("all_" + special_element)
	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, element = None):
		"""
		Initialize the gradient.
		
		@type element: xml.dom.Element
		@param element: An existing DOM element
		"""
		SVGElement.__init__(self, element)
		StopContainer.__init__(self)
		self.__dict__["container_map"] = {"stop" : Stop}
		self.register_attribute_alias("xlink", "xlink:href")
	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, element = None):
		"""
		Initialize
		
		@type element: xml.dom.Element
		@param element: An existing XML DOM element object to encapsulate.
		"""
		SVGElement.__init__(self, element)
		FilledElement.__init__(self)
		StrokedElement.__init__(self)
		TransformableElement.__init__(self)
		self.__dict__["container_map"] = {}
	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)