You are viewing a plain text version of this content. The canonical link for it is here.
Posted to j-users@xalan.apache.org by Vivek Routhu <Vi...@infor.com> on 2019/07/15 08:20:36 UTC

Needed help on the Xalan jar..

Hi Team,

Currently I am using the below 3 jars for XML reading , writing and transferring XSLT to HTML conversion.

  *   xalan.jar
  *   xerces.jar
  *   xercesImpl.jar


In the code I have added the below XMLConstants.

TransformerFactory tf = TransformerFactory.newInstance();
               tf.setAttribute(XMLConstants.ACCESS_EXTERNAL_DTD, "");
              tf.setAttribute(XMLConstants.ACCESS_EXTERNAL_STYLESHEET, "");

After adding I am facing below error.

              Exception in thread "main" java.lang.IllegalArgumentException: Not supported: http://javax.xml.XMLConstants/property/accessExternalDTD
              at org.apache.xalan.processor.TransformerFactoryImpl.setAttribute(TransformerFactoryImpl.java:571)

Case 1:
So I have gone through the internet and updated xerces.jar,xercesImpl.jar with xerces-xercesImpl-2.11.jar
Now I have these below jars in my project.


  *   xerces-xercesImpl-2.11
  *   xalan.jar

Again I have run the same code I am getting same error. If I remove the xalan.jar from the lib it is working fine.

Case 2:
And if I update the xalan-2.7.2.jar also I am getting same error like above.


  *   xerces-xercesImpl-2.11
  *   xalan-2.7.2

Could you please clarify on the below


  1.  Is there any relation between xerces-xercesImpl -2.11 and xalan jars?


  1.  I am using java_8.0_202 version is there anything referring in the java?


  1.  can I remove the xalan jar from the whole project?

Any help will be much appreciated. Thanks  in advance.

Please let me know if you need any further inputs.

Thanks & Regards,
Vivek.






Re: Needed help on the Xalan jar..

Posted by "USHAKOV, Sergey" <s-...@yandex.ru>.
Hi Vivek,

and my impression is that your problems are due to the fact that some 
forks of Xalan and Xerces are now parts of JDK. This is called they are 
"endorsed" technologies.

What you probably need is to substitute standard Xalan and Xerces 
implementations with the ones you prefer using the following JVM option: 
-Djava.endorsed.dirs=_paths_to_dirs_that_contain_your_xalan_and_xerces_separated_by_path.separator_ 
, or by placing them into your  <java-home>\lib\endorsed directory (the 
latter approach seems a bit too invasive to me).

Please see more here: https://xml.apache.org/xalan-j/faq.html , section 
"I'm having a problem running Xalan-Java on JDK/JRE 1.4 or higher".

And you can find more on the "endorsed" concept here: 
https://docs.oracle.com/javase/8/docs/technotes/guides/standards/ .

This "endorsed" concept is currently said to be deprecated starting with 
Java 9. There is a related discussion here: 
https://stackoverflow.com/questions/28983922/alternative-for-deprecated-endorsed-standards-override-mechanism-and-extension-m 
. To be frank, I have no experience in dealing with this issue after 
Java 8...

Cheers,
Sergey


On 15.07.2019 11:20, Vivek Routhu wrote:
>
> Hi Team,
>
> Currently I am using the below 3 jars for XML reading , writing and 
> transferring XSLT to HTML conversion.
>
>   * xalan.jar
>   * xerces.jar
>   * xercesImpl.jar
>
> In the code I have added the below XMLConstants.
>
> TransformerFactory tf = TransformerFactory.newInstance();
>
>  tf.setAttribute(XMLConstants.ACCESS_EXTERNAL_DTD, "");
>
>   tf.setAttribute(XMLConstants.ACCESS_EXTERNAL_STYLESHEET, "");
>
> After adding I am facing below error.
>
>               Exception in thread "main" 
> java.lang.IllegalArgumentException: Not supported: 
> http://javax.xml.XMLConstants/property/accessExternalDTD
>
>               at 
> org.apache.xalan.processor.TransformerFactoryImpl.setAttribute(TransformerFactoryImpl.java:571) 
>
>
> *Case 1:*
>
> So I have gone through the internet and updated 
> *xerces.jar,xercesImpl.jar *with *xerces-xercesImpl-2.11.jar*
>
> Now I have these below jars in my project.
>
>   * xerces-xercesImpl-2.11
>   * xalan.jar
>
> Again I have run the same code I am getting same error. If I remove 
> the xalan.jar from the lib it is working fine.
>
> *Case 2:*
>
> **
>
> And if I update the xalan-2.7.2.jar also I am getting same error like 
> above.
>
>   * xerces-xercesImpl-2.11
>   * xalan-2.7.2
>
> Could you please clarify on the below
>
>  1. Is there any relation between xerces-xercesImpl -2.11 and xalan jars?
>
>  2. I am using java_8.0_202 version is there anything referring in the
>     java?
>
>  3. can I remove the xalan jar from the whole project?
>
> Any help will be much appreciated. Thanks in advance.
>
> Please let me know if you need any further inputs.
>
> Thanks & Regards,
>
> Vivek.
>