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 ):
