| Library | Language, licence | Models | Validation |
|---|---|---|---|
| libxml2 3,427 (lxml 3,063 ) | C, MIT | Tree, SAX, pull | DTD, XSD 1.0, RELAX NG |
| Expat 1,381 | C, MIT | Push, incremental | None |
| Xerces-J, JDK | Java, Apache-2.0 | DOM, SAX, StAX | XSD 1.0 (1.1 in Xerces-J) |
| Xerces-C++ | C++, Apache-2.0 | DOM, SAX | XSD 1.0 |
| VTD-XML 7,086 | Java, C, GPL-2.0 | Token index | None |
| System.Xml | .NET, MIT | Tree, pull | XSD 1.0 |
Use the library native to your pipeline (lxml in Python, the JDK on Spark 129 ), streaming for anything that grows.