Java XML
# Java XML

The Java programming language XML APIs developed by Sun Microsystems consist of the following separate computer-programming APIs:

* Java API for XML Processing, or JAXP
* Java API for XML Messaging, or JAXM
* Jakarta XML RPC, or JAX-RPC — formerly Java API for XML Based RPC deprecated for Java API for XML Web Services
* Jakarta XML Registries, or JAXR — formerly Java API for XML Registries
* Jakarta XML Web Services, or JAX-WS — formerly Java API for XML Web Services
* Jakarta RESTful Web Services, or JAX-RS — formerly Java API for RESTful Web Services
* Java API for XQuery, or XQJ
* Jakarta XML Binding, or JAXB — formerly Java Architecture for XML Binding (this was 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 (JAXP) 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 parsers
* 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
