Ne pas utiliser les classes internes JAXP com.sun.org.apache

Les packages JAXP com.sun.org.apache ne sont pas disponibles dans l'environnement d'exécution IBM Java 6. N'utilisez pas de classes provenant des packages suivants :

Notez qu'IBM Java 7 a ajouté à nouveau certaines de ces API internes dans l'environnement d'exécution Java pour faciliter la migration. Toutefois, il est toujours recommandé de modifier le code afin qu'il ne les utilise pas.

Cette règle marque l'utilisation de ces packages une fois par projet. Evaluez votre application afin de déterminer dans quelle mesure votre application utilise des classes provenant de ces packages JAXP 1.3 internes.

Si vous voulez continuer d'utiliser l'implémentation JAXP et les classes internes anciennes, vous pouvez télécharger les fichiers nécessaires et les inclure dans votre application. Java 6 et Java 7 incluent l'implémentation JAXP 1.4 avec les packages javax.xml et org.apache.

Dans cet exemple, l'instruction import sera marquée :

< span class="Code" > import com.sun.org.apache.xerces.internal.jaxp.JAXPConstants;

....
DocumentBuilderFactory docBuilder =
DocumentBuilderFactory.newInstance();
docBuilder.setAttribute(JAXPConstants.JAXP_SCHEMA_LANGUAGE,
JAXPConstants.W3C_XML_SCHEMA;
...

Le correctif recommandé consiste à utiliser les API mises à disposition par l'environnement d'exécution Java, comme dans l'exemple suivant :

< span class="Code" > import org.apache.xerces.jaxp.JAXPConstants;

....
DocumentBuilderFactory docBuilder =
DocumentBuilderFactory.newInstance();
docBuilder.setAttribute(JAXPConstants.JAXP_SCHEMA_LANGUAGE,
JAXPConstants.W3C_XML_SCHEMA;
...

Pour plus d'informations, voir :