Ok, thanks a lot, it makes sense.

But it doesn't help me anymore ! ;-)

Could your zip:file protocol handler be distributed under an open-source license ?

Well, as a workaround, I could generate two catalogs, one dedicated to Oxygen, that uses zip:file, and the current one, and declare ${pdu}/catalog-oxygen.xml instead of ${pdu}/catalog.xml

Best regards, Adrian,
Christophe


Le 05/11/2018 à 14:18, Oxygen XML Editor Support (Adrian Buza) a écrit :
Hi,

The problem is you're using the "jar:file" protocol with a .jar file. The Java loading mechanism of jar files is meant for static Java resources (especially meant for Java class files) which are only loaded once when they are needed. So, any changes you do to the jar in the file system after the jar has already been loaded by the JVM will not be available until the JVM (Oxygen) is restarted. This is normal Java behavior and cannot be avoided. Oxygen cannot change this behavior as long as the jar gets loaded within its own JVM. Saxon transformations from Oxygen are run within Oxygen's JVM. This works fine in the command line because the JVM loads and exits every time you run Saxon.

Oxygen provides an alternative means to do what you want via the "zip:file" protocol, but, obviously, this only works within Oxygen. Try using: <xsl:import href="zip:file:/Users/cmarchand/devel/foe.jar!/path/to/file.xsl" />

Regards,
Adrian
Adrian Buza
oXygen XML Editor and Author Support
On 05.11.2018 11:44, Christophe Marchand wrote:

Hello,


I have an xsl - let's name it MAIN.XSL - that import another, located in a jar file :

<xsl:import href="jar:file:/Users/cmarchand/devel/foe.jar!/path/to/file.xsl" />

This works perfectly, in Oxygen, with Saxon, everywhere.

Now, if I change my <foe>/src/main/xsl/path/to/file.xsl file (inside or outside Oxygen), and rebuild the jar, when I come back to my MAIN.XSL, Oxygen displays an Error :

I/O error reported by XML parser processing jar:file:/Users/cmarchand/devel/foe.jar!/path/to/file.xsl: JAR entry path/to/file.xsl not found in /Users/cmarchand/devel/foe.jar

Of course, jar exists, is well formed, can be loaded by JVM, and file.xsl also exists, is also well formed, and is also correctly run by Saxon outside Oxygen.

If I restart Oxygen, without changing foe.jar, everything works correctly. Problem exists from Oxygen 15 to 20.1

I think Matthieu Ricaud had previously reported this problem, but maybe verbally, at XMLPrague ...

Thanks in advance,
Christophe



_______________________________________________
oXygen-user mailing list
oXygen-user@oxygenxml.com
https://www.oxygenxml.com/mailman/listinfo/oxygen-user


_______________________________________________
oXygen-user mailing list
oXygen-user@oxygenxml.com
https://www.oxygenxml.com/mailman/listinfo/oxygen-user

Reply via email to