You are viewing a plain text version of this content. The canonical link for it is here.
Posted to fop-users@xmlgraphics.apache.org by Syd Bauman <Sy...@Brown.edu> on 2010/06/28 06:00:06 UTC

matchless in Solaris

When I give fop 0.95 an XSLT 2.0 stylesheet that calls the XPath
matches() function on a SunOS[1] system running java 1.4[2] I get
"javax.xml.transform.TransformerException: Could not find function:
matches". The same version of fop executes the transform just fine on
Mac OS X 10.6 (running java 1.6). The doc says java 1.4 is sufficient
for fop.[3]

Is there something I might be doing wrong? I've scanned through the
doc and the archives (and Googled for this message) and didn't notice
anything. Am I missing something obvious?

Thanks in advance.

Notes
-----
[1] SunOS 5.9 Generic_118558-17 sun4u sparc SUNW,Sun-Fire-V240
[2] java version "1.4.2_08"
    Java(TM) 2 Runtime Environment, Standard Edition (build 1.4.2_08-b03)
    Java HotSpot(TM) Client VM (build 1.4.2_08-b03, mixed mode)
[3] http://xmlgraphics.apache.org/fop/0.95/running.html#require

---------------------------------------------------------------------
To unsubscribe, e-mail: fop-users-unsubscribe@xmlgraphics.apache.org
For additional commands, e-mail: fop-users-help@xmlgraphics.apache.org


RE: matchless in Solaris

Posted by Eric Douglas <ed...@blockhouse.com>.
Interesting you say xalan is bundled with Java.
I searched Java and found that within rt.jar there is a path:
com\sun\org\apache\xalan
I don't know what this xalan is.  After finding xalan in the FOP
classpath and not seeing xalan.jar anywhere, I searched the web and
downloaded the latest from the project:
http://xml.apache.org/xalan-j/
This one has xalan in the path:
org\apache\xalan
I believe this is what FOP is expecting.  I don't know why Sun Java
would have their own.
 

-----Original Message-----
From: Syd Bauman [mailto:Syd_Bauman@Brown.edu] 
Sent: Tuesday, June 29, 2010 7:40 AM
To: fop-users@xmlgraphics.apache.org
Subject: Re: matchless in Solaris

Thank you very much for the information, Craig. I also suspect that
Xalan is the culprit, but had not realized Xalan was bundled with my
Java, not with FOP. So I'm glad I asked (and that you answered!)

Having read the FAQ you pointed me to, I spent an hour or so fighting
with Xalan and the system to get that working, with some, but not
sufficient, success.

So I gave up on making this a one-step procedure, installed SaxonB
9.1 (as the java on this system is too old for the current version,
SaxonHE 9.2), and now just perform the XML -> FO transformation as a
completely separate step before calling FOP. Given that this is being
run from a script, it doesn't matter.

Thanks again!

> It looks like fop is using Xalan for XSLT processing and XPath 
> support.
> I'm guessing (and I do mean guessing) that your issue will come down 
> to different versions of Xalan, since matches() is added by xpath 2.0.
> Xalan is bundled in 1.4.2-01 and up according to some quick searching.

> So I suspect you're using an elderly version of Xalan from the old 
> JRE/JDK on the sun box that doesn't understand matches(). You might 
> need to override the bundled version of Xalan.
> See: "Q. How do I override the JAXP implementation in JDK 1.4 and 
> above?" in : http://people.apache.org/~edwingo/jaxp-faq.html

---------------------------------------------------------------------
To unsubscribe, e-mail: fop-users-unsubscribe@xmlgraphics.apache.org
For additional commands, e-mail: fop-users-help@xmlgraphics.apache.org


---------------------------------------------------------------------
To unsubscribe, e-mail: fop-users-unsubscribe@xmlgraphics.apache.org
For additional commands, e-mail: fop-users-help@xmlgraphics.apache.org


Re: matchless in Solaris

Posted by Syd Bauman <Sy...@Brown.edu>.
Thank you very much for the information, Craig. I also suspect that
Xalan is the culprit, but had not realized Xalan was bundled with my
Java, not with FOP. So I'm glad I asked (and that you answered!)

Having read the FAQ you pointed me to, I spent an hour or so fighting
with Xalan and the system to get that working, with some, but not
sufficient, success.

So I gave up on making this a one-step procedure, installed SaxonB
9.1 (as the java on this system is too old for the current version,
SaxonHE 9.2), and now just perform the XML -> FO transformation as a
completely separate step before calling FOP. Given that this is being
run from a script, it doesn't matter.

Thanks again!

> It looks like fop is using Xalan for XSLT processing and XPath
> support.
> I'm guessing (and I do mean guessing) that your issue will come
> down to different versions of Xalan, since matches() is added by
> xpath 2.0.
> Xalan is bundled in 1.4.2-01 and up according to some quick
> searching. So I suspect you're using an elderly version of Xalan
> from the old JRE/JDK on the sun box that doesn't understand
> matches(). You might need to override the bundled version of Xalan.
> See: "Q. How do I override the JAXP implementation in JDK 1.4 and
> above?" in : http://people.apache.org/~edwingo/jaxp-faq.html

---------------------------------------------------------------------
To unsubscribe, e-mail: fop-users-unsubscribe@xmlgraphics.apache.org
For additional commands, e-mail: fop-users-help@xmlgraphics.apache.org


Re: matchless in Solaris

Posted by Craig Ringer <cr...@postnewspapers.com.au>.
On 28/06/10 12:00, Syd Bauman wrote:
> When I give fop 0.95 an XSLT 2.0 stylesheet that calls the XPath
> matches() function on a SunOS[1] system running java 1.4[2] I get
> "javax.xml.transform.TransformerException: Could not find function:
> matches". The same version of fop executes the transform just fine on
> Mac OS X 10.6 (running java 1.6). The doc says java 1.4 is sufficient
> for fop.[3]

It looks like fop is using Xalan for XSLT processing and XPath support.

I'm guessing (and I do mean guessing) that your issue will come down to
different versions of Xalan, since matches() is added by xpath 2.0.

Xalan is bundled in 1.4.2-01 and up according to some quick searching.
So I suspect you're using an elderly version of Xalan from the old
JRE/JDK on the sun box that doesn't understand matches(). You might need
to override the bundled version of Xalan.

See: "Q. How do I override the JAXP implementation in JDK 1.4 and
above?" in : http://people.apache.org/~edwingo/jaxp-faq.html

--
Craig Ringer

---------------------------------------------------------------------
To unsubscribe, e-mail: fop-users-unsubscribe@xmlgraphics.apache.org
For additional commands, e-mail: fop-users-help@xmlgraphics.apache.org