JAXP (Java API for XML Processing) est l'API "standard" (appartenant au JDK) pour la manipulation du format XML. Cette API contient en fait plusieurs API, dont SAX, DOM, TrAX. Elle permet de travailler aussi avec XInclude et XPath. Pour plus d'informations :
La partie XML de la FAQ Java. Lecture d'un flux XML via SAX Pour plus d'informations sur XML, vous pouvez visiter la rubrique XML de developpez.com : http://xml.developpez.com/.
Dom4J est une api Open Source Java permettant de travailler avec XML, XPath et XSLT. Cette librairie est compatible avec les standards DOM, SAX et JAXP.
JAXB (Java Architecture for XML Binding) offre les outils et API nécessaires pour "lier" des objets java à des documents XML. JAXB utilise des schémas (W3C XML Schema) pour faire ce lien. Une fois ce lien créé (grâce à un compilateur qui va générer les packages correspondant à un schéma donné), vous pouvez facilement sérialiser/desérialiser les objet java sous un format XML. Pour plus d'informations sur JAXB, vous pouvez suivre ces liens :
- JAXB home - JAXB (Java Web Services Tutorial) Pour le moment, JAXB permet juste de partir d'un Schéma XML pour générer les classes correspondantes (interfaces à implémenter). JAXB 2.0 devrait palier à cette limitation en permettant de créer des schémas à partir de classes Java déjà définies. Pour plus d'informations, regardez la JSR 222 : http://www.jcp.org/en/jsr/detail?id=222.
JDOM est une API permettant la représentation, la manipulation et l'écriture d'un document XML. Cette API se veut une alternative aux standards SAX et DOM, tout en restant compatible avec ceux-ci. Légèreté, puissance et facilité de prise en main sont ses principaux atouts.
StAX (Streaming API for XML) est une API
permettant de faire du "pull-parsing XML"(contrairement à SAX qui fais du push parsing).
Plusieurs implémentations existent déjà pour cette
spécification :
Nux est une API open-source étendant les librairies XOM et Saxon. Les fonctionnalités offertes sont nombreuses : XQuery, XPath, validations complexes, etc.