The Java programming language XML APIs from Sun Microsystems consist of the following separate programming APIs:
- Java API for XML Processing, or JAXP.
- Java API for XML Messaging, or JAXM.
- Java API for XML-based RPC, or JAX-RPC.
- Java API for XML Registries, or JAXR.
- Java API for XML Web Services, or JAX-WS.
- Java API for RESTful Web Services, or JAX-RS.
- Java API for XQuery, or XQJ.
- Java Architecture for XML Binding, or JAXB. – (this is its official Sun name, even though it is an API, see )
- STreaming XML processing, or StAX (compatible with JDK 1.4 and above, included in JDK 1.6).
Only the Java API for XML Processing is a required API in Enterprise Java Beans Specification 1.3.
A number of different Open Source software packages implement these APIs:
- Xerces – One of the original and most popular SAX and DOM parser.
- Xalan – XSLT/XPath implementation, included in JDK 1.4 and above as the default transformer (XSLT 1.0).
- Saxon, alternative highly specification compliant XSLT/XPath/XQuery processor (supports both XSLT 1.0 and 2.0)
- Woodstox – An open source StAX and SAX (as of version 3.2) implementation.