Re: [xsl] Calling java from xsl - with xml as parameter

Subject: Re: [xsl] Calling java from xsl - with xml as parameter
From: "richardtrans@xxxxxx" <richardtrans@xxxxxx>
Date: Thu, 6 Dec 2007 20:06:57 +0100 (CET)
Hi David.

Your answer brought me closer. Knowing datatypes is important.
If i do as you suggested:
	<xsl:variable name="xmlString" select="/*[local-name()='Invoice']" />
 	<xsl:variable name="pdfBytes">
		<xsl:value-of select="transf:rtrtransform($xmlString)"/>
then it sends a NodeSet (I THINK) to the java method.
But the java method does not get called. I get an error: 
javax.xml.transform.TransformerException: java.lang.
NoSuchMethodException: For extension function, could not find method dk.
rtrtransform([ExpressionContext,] #NODESET).
Checked both static and instance methods.

Is one of my datatypes wrong?

public static String rtrtransform(NodeSet object2Transform) {
	try {
//method is simplified.
			System.out.println("OK " + "");
			return "ok";
		} catch (Exception ex) {
			System.out.println("Error " + "");
			return "Error";

I know i didnt send complete files, but i think you understand the 

Best regards,
Richard Trans
----Oprindelig meddelelse----
Fra: davidc@xxxxxxxxx
Dato: 06/12/2007 17:53
Til: <xsl-list@xxxxxxxxxxxxxxxxxxxxxx>
Emne: Re: [xsl] Calling java from xsl - with xml as parameter

<xsl:variable name="xmlString">
	<xsl:copy-of select="/*[local-name()='Invoice']" />

There is no need to copy it, just

<xsl:variable name="xmlString" select="/*[local-name()='Invoice']" />

f select="transf:rtrtransform(string($xmlString))"/>

the string function will throw away all the tree structure and just 
a string of the element contents. If you don't want that, just pass 
xml to your extension functrion, assuming your function can accept XML
nodes (using some object model)


The Numerical Algorithms Group Ltd is a company registered in England
and Wales with company number 1249803. The registered office is:
Wilkinson House, Jordan Hill Road, Oxford OX2 8DR, United Kingdom.

This e-mail has been scanned for all viruses by Star. The service is
powered by MessageLabs. 

Current Thread