Merge branch 'main' into 198-nolxml
diff --git a/README.md b/README.md
index b803c19..3e1a105 100644
--- a/README.md
+++ b/README.md
@@ -89,10 +89,9 @@
 
 To validate the XML and build the headers you will need at least GNU make,
 'jing' for the 'make validate' step (https://relaxng.org/jclark/jing.html),
-and Python 3.5 and the lxml.etree Python library
-(https://pypi.org/project/lxml/) for the 'make' step. The 'make tests' step
-requires whatever the C and C++ compilers configured for GNU make are,
-usually gcc and g++.
+and Python 3.5 for the 'make' step.
+The 'make tests' step requires whatever the C and C++ compilers configured
+for GNU make are, usually gcc and g++.
 
 All of these components are available prepackaged for major Linux
 distributions and for the Windows 10 Debian WSL.
diff --git a/api/EGL/egl.h b/api/EGL/egl.h
index a93080b..782b6d9 100644
--- a/api/EGL/egl.h
+++ b/api/EGL/egl.h
@@ -14,7 +14,7 @@
 ** used to make the header, and the header can be found at
 **   http://www.khronos.org/registry/egl
 **
-** Khronos $Git commit SHA1: 402ce7f591 $ on $Git commit date: 2024-07-09 16:33:12 +0000 $
+** Khronos $Git commit SHA1: 800219cd6e $ on $Git commit date: 2024-05-13 00:13:13 -0700 $
 */
 
 #include <EGL/eglplatform.h>
@@ -23,7 +23,7 @@
 #define EGL_EGL_PROTOTYPES 1
 #endif
 
-/* Generated on date 20240710 */
+/* Generated on date 20240715 */
 
 /* Generated C header for:
  * API: egl
diff --git a/api/EGL/eglext.h b/api/EGL/eglext.h
index add7f22..4d14c69 100644
--- a/api/EGL/eglext.h
+++ b/api/EGL/eglext.h
@@ -14,12 +14,12 @@
 ** used to make the header, and the header can be found at
 **   http://www.khronos.org/registry/egl
 **
-** Khronos $Git commit SHA1: 402ce7f591 $ on $Git commit date: 2024-07-09 16:33:12 +0000 $
+** Khronos $Git commit SHA1: 800219cd6e $ on $Git commit date: 2024-05-13 00:13:13 -0700 $
 */
 
 #include <EGL/eglplatform.h>
 
-#define EGL_EGLEXT_VERSION 20240710
+#define EGL_EGLEXT_VERSION 20240715
 
 /* Generated C header for:
  * API: egl
diff --git a/api/reg.py b/api/reg.py
index 6ac25f3..449f2f8 100755
--- a/api/reg.py
+++ b/api/reg.py
@@ -4,7 +4,7 @@
 # SPDX-License-Identifier: Apache-2.0
 
 import io,os,re,string,sys
-from lxml import etree
+import xml.etree.ElementTree as etree
 import subprocess
 
 def write(*args, **kwargs):
@@ -14,7 +14,7 @@
     file.write(end)
 
 # noneStr - returns string argument, or "" if argument is None.
-# Used in converting lxml Elements into text.
+# Used in converting ElementTree Elements into text.
 #   str - string to convert
 def noneStr(str):
     if (str):
@@ -75,7 +75,7 @@
 #   required - should this feature be defined during header generation
 #     (has it been removed by a profile or version)?
 #   declared - has this feature been defined already?
-#   elem - lxml.etree Element for this feature
+#   elem - ElementTree Element for this feature
 #   resetState() - reset required/declared to initial values. Used
 #     prior to generating a new API interface.
 class BaseInfo:
@@ -462,7 +462,7 @@
         # For typedefs, add (APIENTRYP <name>) around the name and
         #   use the PFNGLCMDNAMEPROC nameng convention.
         # Done by walking the tree for <proto> element by element.
-        # lxml.etree has elem.text followed by (elem[i], elem[i].tail)
+        # ElementTree has elem.text followed by (elem[i], elem[i].tail)
         #   for each child element and any following text
         # Leading text
         pdecl += noneStr(proto.text)