DocBook output broken in Linux environment

Here should go questions about transforming XML with XSLT and FOP.
Frank Ralf
Posts: 372
Location: Hamburg

DocBook output broken in Linux environment

Thu Apr 16, 2015 5:54 pm

Hi,

We use a customized DocBook PDF transformation. We've developed an tested the transformation with oXygen 16.1 on Windows 7. However, the customer uses a build process on a Linux machine (OpenSuse 64 bit) and there some features are broken, for example:

    - the numbering starts on the wrong page,
    - the footer is missing some text,
    - <taskrequisites> are not rendered
    - the header of the index is missing

I've already checked the xsltproc (xsltproc was compiled against libxml 20900, libxslt 10128 and libexslt 817) and FOP versions but cannot find any suspicious differences. The error log also doesn't show any entries which look related on first sight.

Any pointers where I could look for the problem?

tia
Frank
Frank Ralf
parson AG
www.parson-europe.com
sorin_ristache
Posts: 4144

Re: DocBook output broken in Linux environment

Fri Apr 17, 2015 9:03 am

Hi,

Can you confirm that you don't get the same broken features when running the DocBook PDF conversion on the same input XML document on a Windows 7 machine, and with exactly the same parameters of the conversion?

If yes, please check in what JRE version number the customer is running Oxygen on their 64-bit openSUSE machine. Is it an Oracle JRE? These details are visible in the properties java.runtime.version, java.version, java.vendor on the System properties tab of the Help -> About dialog box.

I remember some errors a while ago in the FO to PDF conversion step caused by an ugly bug in the FO processor related to the 64-bitness of the JRE. To make sure the customer has not stumbled into that I would suggest first to try also the same DocBook PDF conversion with a 32-bit JRE, if they are currently running Oxygen in a 64-bit JRE.
Regards,
Sorin

<oXygen/> XML Editor Support
Frank Ralf
Posts: 372
Location: Hamburg

Re: DocBook output broken in Linux environment

Fri Apr 17, 2015 11:28 am

Hi Sorin,

Many thanks for these pointers. I will follow your advise and report back.

Kind regards,
Frank
Frank Ralf
parson AG
www.parson-europe.com
Frank Ralf
Posts: 372
Location: Hamburg

Re: DocBook output broken in Linux environment

Mon Apr 20, 2015 5:27 pm

I've checked the Java version on the server and it is indeed a 64 bit version:

Code: Select all

java version "1.7.0_55" 
OpenJDK Runtime Environment (IcedTea 2.4.8) (suse-8.36.1-x86_64) 
OpenJDK 64-Bit Server VM (build 24.55-b03, mixed mode) 


However, my oXygen 16.1 is also a 64 bit version (java.runtime.version "1.7.0_55-b13") so I'd suppose the output should be identical?

Kind regards,
Frank
Frank Ralf
parson AG
www.parson-europe.com
sorin_ristache
Posts: 4144

Re: DocBook output broken in Linux environment

Mon Apr 20, 2015 5:53 pm

In theory yes, they should be identical, but I did not test with xsltproc and an IcedTea OpenJDK.

If you run the same customized DocBook PDF transformation with the embedded JRE that comes in the Oxygen kit (which is an official Oracle JRE), do you get the correct PDF output? If you don't get a correct output: can you please send us a sample DocBook XML document for reproducing the problem?
Regards,
Sorin

<oXygen/> XML Editor Support
Frank Ralf
Posts: 372
Location: Hamburg

Re: DocBook output broken in Linux environment

Mon Apr 20, 2015 6:47 pm

Hi Sorin,

Thanks for your quick reply. I will test again and report back.

Kind regards,
Frank
Frank Ralf
parson AG
www.parson-europe.com
sorin_ristache
Posts: 4144

Re: DocBook output broken in Linux environment

Tue Apr 21, 2015 8:53 am

Hi Frank,

Please test again and let us know if the same customized DocBook PDF transformation applied to the same DocBook XML source document generates the expected correct PDF output in the Oxygen application, using the Apply Transformation Scenario action available in the toolbar of the editor panel and also in the Transformation Scenarios view. If you don't get the correct result please let us know and send us some sample files for reproducing the problem.
Regards,
Sorin

<oXygen/> XML Editor Support
Frank Ralf
Posts: 372
Location: Hamburg

Re: DocBook output broken in Linux environment

Tue Apr 21, 2015 12:02 pm

Hi Sorin,

Strangely, the transformation now also breaks in oXygen. But the error message points to a possible error in our FO customization so I will have a closer look at the customization before I follow the JRE route. I'll keep you posted.

Kind regards,
Frank
Frank Ralf
parson AG
www.parson-europe.com
Frank Ralf
Posts: 372
Location: Hamburg

Re: DocBook output broken in Linux environment

Wed Apr 29, 2015 11:39 am

We are still investigating this problem but here's a resource which might help others to pinpoint the cause of similar issues: http://www.sagehill.net/docbookxsl/Portability.html

Frank
Frank Ralf
parson AG
www.parson-europe.com
sorin_ristache
Posts: 4144

Re: DocBook output broken in Linux environment

Wed Apr 29, 2015 11:47 am

Hi Frank,

Thank you for posting this link.

We endorse the Saxon XSLT processor and the Apache FOP processor, which come in the Oxygen install kit. After extensive tests with these processors for a long time in the Oxygen family of applications we have never encountered portability issues caused by them.
Regards,
Sorin

<oXygen/> XML Editor Support
Frank Ralf
Posts: 372
Location: Hamburg

Re: DocBook output broken in Linux environment

Tue May 19, 2015 3:45 pm

Hi Sorin,

Thanks for this information. It might help us to convince the customer to switch to another processor.

In the meantime, I'm thinking about tackling this problem by Remote development in virtual machine.

Kind regards,
Frank
Frank Ralf
parson AG
www.parson-europe.com
sorin_ristache
Posts: 4144

Re: DocBook output broken in Linux environment

Tue May 19, 2015 5:14 pm

Did you manage to trace the location of the transformation error? Does the XSLT transformation also break in the Oxygen application with the Saxon processor?

Or does the transformation break with a custom processor (xsltproc) but works correctly with one of the XSLT processors that come in the Oxygen kit, for example the Saxon processor? Can you isolate the area of XSLT code where this difference occurs, and post here or send us a small sample XSLT file and a sample XML input file that show this difference in the execution of the same XSLT transformation with two different processors?
Regards,
Sorin

<oXygen/> XML Editor Support
Frank Ralf
Posts: 372
Location: Hamburg

Re: DocBook output broken in Linux environment

Fri May 22, 2015 4:32 pm

Hi Sorin,

Thank you for asking. We've now found out that the standard DocBook XSLT stylesheet (.../fo/docbook.xsl) which comes with the openSUSE Linux distribution on the server differs from the original version (http://sourceforge.net/p/docbook/code/H ... ocbook.xsl) but we still have to find out why. However, this is definitely our prime suspect at the moment.

Kind regards,
Frank
Frank Ralf
parson AG
www.parson-europe.com
Frank Ralf
Posts: 372
Location: Hamburg

Re: DocBook output broken in Linux environment

Wed May 27, 2015 6:54 pm

Just an update.

We finally found out that the installed version on the openSUSE 12.3 server
(docbook5-xsl-stylesheets-1.78.1-2.5.1.src.rpm) - strangly - doesn't contain the official DocBook stylesheet from Sourceforge but the oXygen one! How that can be is a mistery for us. The tricky thing is that the files look identical on first sight, for example they contain the same ID and timestamp:

Code: Select all

 $Id: docbook.xsl 9647 2012-10-26 17:42:03Z bobstayton $


For more information see "Differences between oXygen XLS and Sourceforge version".

Kind regards,
Frank
Frank Ralf
parson AG
www.parson-europe.com
sorin_ristache
Posts: 4144

Re: DocBook output broken in Linux environment

Thu May 28, 2015 9:16 am

Hi,

If the same DocBook XSL stylesheets come with the SUSE server installation as in the Oxygen installation then you should get the same output as in the DocBook transformation in the Oxygen application. Maybe there is a different parameter set in your DOcBook transformation that is not present in the Oxygen transformation, or maybe a different FO processor is used for generating the final PDF output?

Anyway I think we can help you only if you can send us some sample files for reproducing the error in the Oxygen application.
Regards,
Sorin

<oXygen/> XML Editor Support
Frank Ralf
Posts: 372
Location: Hamburg

Re: DocBook output broken in Linux environment

Mon Jun 01, 2015 12:03 pm

Hi Sorin,

Thanks for your reply. We haven't and couldn't investigate any further but we think the SUSE distribution didn't (and don't) contain the oXygen XSL stylesheets but that someone has overwritten the original one. However, now that we have found the difference between the two environments the above mentioned errors should be gone. I will test again and report back.

Kind regards,
Frank
Frank Ralf
parson AG
www.parson-europe.com
sorin_ristache
Posts: 4144

Re: DocBook output broken in Linux environment

Tue Jun 02, 2015 9:10 am

Hi Frank,

Thank you for letting us know.
Regards,
Sorin

<oXygen/> XML Editor Support

Return to “XSLT and FOP”

Who is online

Users browsing this forum: No registered users and 1 guest