Xalan PipeDocument extension

Here should go questions about transforming XML with XSLT and FOP.
mountainbiker
Posts: 13
Joined: Mon Aug 29, 2011 3:06 pm

Xalan PipeDocument extension

Post by mountainbiker »

I am using the Xalan PipeDocument extension in an XSLT.

Calling it via the command line with the java.exe with oXygen "jre\bin\java.exe org.apache.xalan.xslt ..." -- it works fine for me.

Within the oXygen environment, but I'm getting the error "The Properties object passed to the SerializerFactory does not have a 'method' property." Can this be corrected by including an extension to my transformation scenario?
adrian
Posts: 2879
Joined: Tue May 17, 2005 4:01 pm

Re: Xalan PipeDocument extension

Post by adrian »

Hello,

Can you please provide an example of the use of this extension?
If you want to keep it private, please send it to our support email address: support@oxygenxml.com

Regards,
Adrian
Adrian Buza
<oXygen/> XML Editor, Schema Editor and XSLT Editor/Debugger
http://www.oxygenxml.com
mountainbiker
Posts: 13
Joined: Mon Aug 29, 2011 3:06 pm

Re: Xalan PipeDocument extension

Post by mountainbiker »

Code: Select all


<?xml version='1.0'?>
<!--See http://xml.apache.org/xalan-j/extensionslib.html#pipedocument--><xsl:stylesheet version="1.0"
xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
xmlns:pipe="http://xml.apache.org/xalan/PipeDocument"
extension-element-prefixes="pipe">

<xsl:param name="source"/>
<xsl:param name="target"/>

<xsl:template match="/">
<pipe:pipeDocument source="{$source}" target="{$target}">
<stylesheet href="printbook_assemble.xsl"/>
<stylesheet href="bkbook8x11_xalan.xsl"/>
</pipe:pipeDocument>
</xsl:template>
</xsl:stylesheet>
adrian
Posts: 2879
Joined: Tue May 17, 2005 4:01 pm

Re: Xalan PipeDocument extension

Post by adrian »

Hello,

I have reproduced this with the sample you provided.
We are currently looking into why this is happening.

Regards,
Adrian
Adrian Buza
<oXygen/> XML Editor, Schema Editor and XSLT Editor/Debugger
http://www.oxygenxml.com
adrian
Posts: 2879
Joined: Tue May 17, 2005 4:01 pm

Re: Xalan PipeDocument extension

Post by adrian »

Hi,

We have identified and resolved the problem. The bugfix will included in v14 of Oxygen.

Meanwhile a simple workaround for this problem in v13.2 and earlier is to add xalan.jar (from Oxygen/lib) to the Extensions(Libraries) from the transformation scenario: Document > Transformation > Configure Transformation Scenario, Edit, press the Extensions button, Add and browse for the xalan.jar found in the lib directory of the Oxygen installation.

Regards,
Adrian
Adrian Buza
<oXygen/> XML Editor, Schema Editor and XSLT Editor/Debugger
http://www.oxygenxml.com
mountainbiker
Posts: 13
Joined: Mon Aug 29, 2011 3:06 pm

Re: Xalan PipeDocument extension

Post by mountainbiker »

Thank you Adrian.

With v13.2, I am able to get very simple scenarios to work. As I get more complicated, it still continues to work via the command line, but oXygen is giving me an error like "F [Xalan] Failed to compile stylesheet. 3 errors detected."

Is there a way for to see these errors detected or what the completed command is being built and executed?
mountainbiker
Posts: 13
Joined: Mon Aug 29, 2011 3:06 pm

Re: Xalan PipeDocument extension

Post by mountainbiker »

Adrian I missed typed our version. We are v12.2 not v13.2. (I am having a extremely difficult time getting our employer to upgrade our systems even though we own v13.2, and it sits on the shelf ... grrrrr!)
adrian
Posts: 2879
Joined: Tue May 17, 2005 4:01 pm

Re: Xalan PipeDocument extension

Post by adrian »

Hi,

Xalan doesn't seem to handle very well the errors from PipeDocument (I've seen a lot of NullPointerExceptions), so my guess is there are problems with the stylesheets used in pipe:pipeDocument.

Oxygen doesn't execute the bundled Xalan as a process, it uses it programatically (Java). So there is no output of the command, just the errors caught by the installed handlers that are then reported by Oxygen in the Errors view.

Even in this scenario, I've seen Xalan output some error messages directly to stderr or stdout, so you might find some messages in the Oxygen console if you start with with the command line launcher.
You can find a shortcut to the command line launcher in the start menu: Oxygen XML Editor 12.2 > Command line launchers > Oxygen XML Editor. The launcher can also be found in the Oxygen installation folder. e.g. C:\Program Files\Oxygen XML Editor 12. It is called oxygen.bat.
When you start this launcher, a console window (text mode with black background) will remain open for the duration of the application run and you can check there if there are any messages. Don't close the console window because that will force-close the application and lose all unsaved files and options.

Regards,
Adrian
Adrian Buza
<oXygen/> XML Editor, Schema Editor and XSLT Editor/Debugger
http://www.oxygenxml.com
mountainbiker
Posts: 13
Joined: Mon Aug 29, 2011 3:06 pm

Re: Xalan PipeDocument extension

Post by mountainbiker »

Adrian the command line option worked great and showed me the issue. (IOU a beer at XMLPrague2013.)
Post Reply