Remove glEnum::startElement, but refactor out some of the common code from
there and glXEnum::startElement to glEnum::process_attributes.
diff --git a/src/mesa/glapi/glX_XML.py b/src/mesa/glapi/glX_XML.py
index 8efc90c..4c9da6e 100644
--- a/src/mesa/glapi/glX_XML.py
+++ b/src/mesa/glapi/glX_XML.py
@@ -244,17 +244,12 @@
 
 	def startElement(self, name, attrs):
 		if name == "size":
-			n = attrs.get('name', None)
+			[n, c] = self.process_attributes(attrs)
+
 			if not self.context.glx_enum_functions.has_key( n ):
 				f = glXEnumFunction( n )
 				self.context.glx_enum_functions[ f.name ] = f
 
-			temp = attrs.get('count', None)
-			try:
-				c = int(temp)
-			except Exception,e:
-				raise RuntimeError('Invalid count value "%s" for enum "%s" in function "%s" when an integer was expected.' % (temp, self.name, n))
-
 			self.context.glx_enum_functions[ n ].append( c, self.value, self.name )
 		else:
 			gl_XML.glEnum.startElement(self, context, name, attrs)
diff --git a/src/mesa/glapi/gl_XML.py b/src/mesa/glapi/gl_XML.py
index 538756e..bc7d27b 100644
--- a/src/mesa/glapi/gl_XML.py
+++ b/src/mesa/glapi/gl_XML.py
@@ -86,18 +86,21 @@
 
 	def __init__(self, context, name, attrs):
 		self.value = int(attrs.get('value', "0x0000"), 0)
-		self.functions = {}
 
 		enum_name = "GL_" + attrs.get('name', None)
 		glItem.__init__(self, name, enum_name, context)
 
-	def startElement(self, name, attrs):
-		if name == "size":
-			name = attrs.get('name', None)
-			count = int(attrs.get('count', "0"), 0)
-			self.functions[name] = count
 
-		return
+	def process_attributes(self, attrs):
+		name = attrs.get('name', None)
+
+		temp = attrs.get('count', None)
+		try:
+			c = int(temp)
+		except Exception,e:
+			raise RuntimeError('Invalid count value "%s" for enum "%s" in function "%s" when an integer was expected.' % (temp, self.name, n))
+
+		return [name, c]
 
 
 class glType( glItem ):