IBM Java 6 런타임 환경에서는 com.sun.org.apache JAXP 패키지를 사용할 수 없습니다.
다음 패키지에서 클래스를 사용하지 않습니다.
- com.sun.org.apache.xerces.*
- com.sun.org.apache.xml.*
- com.sun.org.apache.xalan.*
- com.sun.org.apache.xpath.*
IBM Java 7에서는 마이그레이션 문제를 완화하기 위해 이러한 내부 API 중 일부를 다시 JRE에 추가했습니다. 코드에서 이러한 내부 API를 사용하지 않는 것이 여전히 우수 사례입니다.
이 규칙은 사용된 패키지를 프로젝트마다 한 번 플래그 지정합니다. 애플리케이션을 평가하여 애플리케이션이 JAXP 1.3 내부 패키지에 있는 클래스를
사용하는 범위를 판별하십시오.
계속해서 이전 JAXP 구현과 내부 클래스를 사용할 경우에는 필요한 jar 파일을 다운로드하여 애플리케이션에 삽입할 수 있습니다. Java 6 및 Java 7에는
javax.xml 및 org.apache 패키지를 사용하는 JAXP 1.4 구현이 있습니다.
다음 예제에서는 import 문을 플래그 지정합니다.
< span class="Code" > 가져오기 com.sun.org.apache.xerces.internal.jaxp.JAXPConstants;
....
DocumentBuilderFactory docBuilder =
DocumentBuilderFactory.newInstance();
docBuilder.setAttribute(JAXPConstants.JAXP_SCHEMA_LANGUAGE,
JAXPConstants.W3C_XML_SCHEMA;
...
이 예제와 같이 Java 런타임 환경에서 제공하는 API를 사용할 것을 권장합니다.
< span class="Code" > import org.apache.xerces.jaxp.JAXPConstants;
....
DocumentBuilderFactory docBuilder =
DocumentBuilderFactory.newInstance();
docBuilder.setAttribute(JAXPConstants.JAXP_SCHEMA_LANGUAGE,
JAXPConstants.W3C_XML_SCHEMA;
...
다음 정보를 참조하십시오.