xsl-list
[Top] [All Lists]

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

2007-12-06 12:07:44
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']" />
and:
        <xsl:variable name="pdfBytes">
                <xsl:value-of select="transf:rtrtransform($xmlString)"/>
        </xsl:variable>
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.
edbgruppen.genericdocumentprocess.transformation.TransformManagerImpl.
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 
problem.

Best regards,
Richard Trans
----Oprindelig meddelelse----
Fra: davidc(_at_)nag(_dot_)co(_dot_)uk
Dato: 06/12/2007 17:53
Til: <xsl-list(_at_)lists(_dot_)mulberrytech(_dot_)com>
Emne: Re: [xsl] Calling java from xsl - with xml as parameter

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

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 
make
a string of the element contents. If you don't want that, just pass 
the
xml to your extension functrion, assuming your function can accept XML
nodes (using some object model)

David


________________________________________________________________________
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. 
________________________________________________________________________

--~------------------------------------------------------------------
XSL-List info and archive:  http://www.mulberrytech.com/xsl/xsl-list
To unsubscribe, go to: http://lists.mulberrytech.com/xsl-list/
or e-mail: <mailto:xsl-list-unsubscribe(_at_)lists(_dot_)mulberrytech(_dot_)com>
--~--



--~------------------------------------------------------------------
XSL-List info and archive:  http://www.mulberrytech.com/xsl/xsl-list
To unsubscribe, go to: http://lists.mulberrytech.com/xsl-list/
or e-mail: <mailto:xsl-list-unsubscribe(_at_)lists(_dot_)mulberrytech(_dot_)com>
--~--