Aber inhaltlich ist das doch immer noch alles extrem verwirrend - also die Sinnhaftigkeit ist da ja immer noch nicht wirklich gegeben.
Wenn man sich (mit einer Java "Brille") das anschaut, dann wird man so als Hauptsteine betrachten müssen:
SAX: Ein Parser der ein XML Dokument durchgeht und während des Durchgehens irgendwas machen kann. Es wird dabei von SAX kein Abbild im Speicher erstellt.
DOM: Ein Parser der ein XML Dokument komplett einscannt und im Speicher ein Model des XML Dokuments aufbaut (DOM: Document Object Model). Damit ist es nicht nur ein reiner Parser sondern enthält darüber hinaus Klassen, die eben zum Abbilden des Models benötigt werden: Das XML Dokument, XML Elemente, XML Attribute, ... Und neben dem reinen Parsen gibt es auch Klassen, die das DOM Model in ein Dokument schreiben können. Und natürlich wird dabei nicht nur XML betrachtet sondern auch XSD, XPath, ...
JAXB: Etwas Vergleichbar mit DOM, aber es wird nicht XML in ein Document Object Model gewandelt sondern in vorhandene Java Klassen. Es gibt also ein Verbindung zwischen XML und Java Klassen (Daher der Name:
Java
Architecture for
XML
Binding bzw. neu Jakarta XML Binding)
Daran kann man also durchaus erkennen, dass es hier unterschiedliche Level bezüglich Abstraktion gibt. Das erste ist mehr oder weniger ein reiner Parser, aber die anderen haben natürlich auch alle einen Parser mit als Kernelement (Bei JAXB heissen die dann etwas anders - (Un-)Marshaller findet man bei JAXB. Bezüglich JAXB wären dann z.B. JSR 31 und JSR 222 interessant, Referenzimplementation wäre
https://javaee.github.io/metro/, aber es gibt viele Implementationen dieses Standards.