JAXP è un'API sviluppata dalla Sun per fornire un livello di atrazione sull'ottenimento di un'istanza di [COLOR=dark-blue]parser SAX[/COLOR] o [COLOR=dark-blue]DOM[/COLOR].
L'intero pacchetto JAXSP è contenuto in java.xml.parsers.
Chi ha utilizzato DOM o SAX si è reso conto che è necessario importare esplicitamente e referenziare una classe di parser dal codice Java del proprio fornitore.
Ad esempio per Apache Xerces queste classi sono org.apache.xerces.parsers.SAXParser oppure org.apache.xerces.parsers.DOMParser.
Il problema insito in questo approccio consiste nel fatto che la modifica della classe di parser utilizzata richiede un cambiamento nel codice dell'applicazione ed una successiva ricompilazione. Mentre modifiche nella scelta del parser di un fornitore o di un altro sono significative, sarebbe auspicabile che un parser possa essere inserito con maggiore facilità e questo è il problema che JAXP di risolvere.
Infatti con JAXP invece di importare direttamente la classe di parser di un fornitore è possibile specificare il parser da utilizzare mediante una proprietà del sitema.
JAXP legge questa proprietà e gestisce il caricamento del parser richiesto.
In questo modo la modifica del parser scelto "costringe" solamente ad una modifica di tale proprietà del sistema, visto che poi l'applicazione utilizza i wrapper forniti da Sun come livello di atrazione.
![]()