Skip Menu |

This queue is for tickets about the XML-Saxon-XSLT3 CPAN distribution.

Report information
The Basics
Id: 127507
Status: rejected
Priority: 0/
Queue: XML-Saxon-XSLT3

People
Owner: Nobody in particular
Requestors: vladimir.volovich [...] gmail.com
Cc:
AdminCc:

Bug Information
Severity: (no value)
Broken in: (no value)
Fixed in: (no value)



Subject: unable to use saxon9ee features
Date: Mon, 29 Oct 2018 12:40:25 +0300
To: bug-XML-Saxon-XSLT3 [...] rt.cpan.org
From: Vladimir Volovich <vladimir.volovich [...] gmail.com>
Greetings, Distribution name and version: XML-Saxon-XSLT3-0.009 Perl version: This is perl 5, version 26, subversion 2 (v5.26.2) built for x86_64-linux-gnu-thread-multi Operating System vendor and version: Linux vvv 4.18.0-1-amd64 #1 SMP Debian 4.18.6-1 (2018-09-06) x86_64 GNU/Linux I need to use the PE or EE version of Saxon, so I've modified XSLT3.pm and changed the line proc = new Processor(false); to proc = new Processor(true); (in two places). Also I've changed the line my $classpath = Alien::Saxon->jar; to my $classpath = "/path/to/saxon9ee.jar"; When running the code such as this: use XML::Saxon::XSLT3 "debug" => 2; open(my $xslt, "<", "test.xsl"); my $trans = XML::Saxon::XSLT3->new($xslt); open(my $input, "<", "test.xml"); print $trans->transform($input); I'm getting an error: method transform in class Transformer threw exception java.lang.NoClassDefFoundError: com/saxonica/ee/bytecode/iter/CompiledFilterIterator Here is a complete output with debug=2: [perl][1] validate done. [perl][1] Starting build. [perl][2] classpath: /usr/lib/x86_64-linux-gnu/perl5/5.26/Inline/Java/InlineJavaServer.jar:/tmp/sax3/saxon9ee.jar [perl][2] "/usr/lib/jvm/oracle-java8-jdk-amd64/bin/javac" -deprecation -Xlint:unchecked -d "/home/vvv/.Inline/lib/auto/XML/Saxon/XSLT3_566d" Transformer.java > cmd.out 2>&1 [perl][2] classpath: [perl][1] build done. [perl][1] Starting load. [perl][2] classpath candidate '' scraped [perl][2] classpath: /usr/lib/x86_64-linux-gnu/perl5/5.26/Inline/Java/InlineJavaServer.jar [perl][1] starting JVM... [perl][1] client/server mode [perl][2] next available port number is 44195 [perl][2] "/usr/lib/jvm/oracle-java8-jdk-amd64/bin/java" org.perl.inline.java.InlineJavaServer 2 localhost 44195 false false false [perl][2] classpath: [perl][2] adding to classpath: '/usr/lib/x86_64-linux-gnu/perl5/5.26/Inline/Java/InlineJavaUser.jar' [java][2] added file:/usr/lib/x86_64-linux-gnu/perl5/5.26/Inline/Java/InlineJavaUser.jar to classpath [perl][2] classpath candidate '' scraped [perl][2] adding to classpath: '/home/vvv/.Inline/lib/auto/XML/Saxon/XSLT3_566d' [perl][2] adding to classpath: '/tmp/sax3/saxon9ee.jar' [java][2] added file:/home/vvv/.Inline/lib/auto/XML/Saxon/XSLT3_566d/ to classpath [java][2] added file:/tmp/sax3/saxon9ee.jar to classpath [perl][1] updating jdat cache [perl][2] creating object in java (XML::Saxon::XSLT3::Transformer): [perl][2] creating object in java (XML::Saxon::XSLT3::Transformer::1): [perl][1] load done. [java][1] loading InlineJavaUserClassLink via InlineJavaUserClassLoader [java][1] method transform in class Transformer threw exception java.lang.NoClassDefFoundError: com/saxonica/ee/bytecode/iter/CompiledFilterIterator [perl][2] autostudying java.lang.NoClassDefFoundError... [perl][2] creating object in java (XML::Saxon::XSLT3::java::lang::NoClassDefFoundError): [perl][2] creating object in java (XML::Saxon::XSLT3::java::lang::NoClassDefFoundError): XML::Saxon::XSLT3::java::lang::NoClassDefFoundError=HASH(0x562f76573c38)[perl][2] destroying object in java (XML::Saxon::XSLT3::Transformer): [perl][1] killed by natural death. [perl][1] JVM owner exiting... [perl][1] Sending 'die' message to JVM... [java][1] received a request to die...[perl][1] Sending 15 signal to JVM... [perl][1] Sending 9 signal to JVM... [perl][1] exiting with 255 To reproduce this, you need to: 1) download Saxon EE for Java from https://www.saxonica.com/download/java.xml (I've used version 9.8.0.14 for my testing) 2) unzip the distribution and install saxon9ee.jar in some folder 3) Obtain the free Evaluation License on this page: https://www.saxonica.com/download/download.xml 4) copy the license file (saxon-license.lic) to the same folder with saxon9ee.jar Note: without obtaining and installing the license, the error does not appear. 5) modify XSLT3.pm as described above: change the line proc = new Processor(false); to proc = new Processor(true); (in two places), and also change the line my $classpath = Alien::Saxon->jar; to my $classpath = "/path/to/saxon9ee.jar"; 6) run the perl program: use XML::Saxon::XSLT3 "debug" => 2; open(my $xslt, "<", "test.xsl"); my $trans = XML::Saxon::XSLT3->new($xslt); open(my $input, "<", "test.xml"); print $trans->transform($input); Best wishes, Vladimir
Hi Vladimir, Thanks for the report. Unfortunately, I'm unable to provide support for this level of modification to my module. Best regards, Ed
Subject: Re: [rt.cpan.org #127507] unable to use saxon9ee features
Date: Tue, 30 Oct 2018 12:33:17 +0300
To: bug-XML-Saxon-XSLT3 [...] rt.cpan.org
From: Vladimir Volovich <vladimir.volovich [...] gmail.com>
Hi Ed, Thank you for looking into this. It seems that the bug is present in Inline::Java, and I'll try to prepare a simple test case and submit the bug report against Inline::Java. Best wishes, Vladimir