How to pass XML to Java function?
Added by Anonymous over 19 years ago
Legacy ID: #3130572 Legacy Poster: chris (chris1972)
Hi, I'm trying to pass some XML from my XSLT stylesheet to a user-defined static Java method, preferrebly as some kind of DOM node. I saw a few posts in this forum where it looks like people have gotten it to work just by declaring the method parameter as a org.w3c.dom.Node or org.w3c.dom.Document. Well I've tried this an many more things, but nothing works for me. I always get... "Cannot convert supplied XPath value to the required type for the extension function" exceptions. Let's take a simple example.... <xsl:variable name="javaTestVar"> <xml> <element value="a"/> <element value="b"/> </xml> </xsl:variable> What if I want to get $javaTestVar into my Java class as a DOM element? What should I do? Assuming this is no longer possible, I'd be fine with passing the XML as a String and constructing my own DOM. However, I don't even know how to do that. When I declare the parameter as String, I only get the inner text of the XML. I'm using Saxon 8.4. Any ideas? Thanks!
Replies (2)
RE: How to pass XML to Java function? - Added by Anonymous over 19 years ago
Legacy ID: #3130602 Legacy Poster: Michael Kay (mhkay)
Have you tried using the -TJ option which shows you what Saxon is doing when it tries to bind extension functions? This sometimes provides the diagnostics you need. Have you got saxon8-dom.jar on the classpath? This contains all the classes needed to interface between Saxon and the DOM. Saxon now treats DOM as a third-party object model just like JDOM or XOM, and only recognizes DOM interfaces if these support classes are available.
RE: How to pass XML to Java function? - Added by Anonymous over 19 years ago
Legacy ID: #3131471 Legacy Poster: chris (chris1972)
Putting saxon8-dom.jar in the classpath did the trick. For some reason I always thought that saxon8.jar had all the libraries in it and you only used the other ones when you wanted to include only a subset of functionality in your app. In the future I'll try the -TJ for troubleshooting too. Thanks a bunch for your help.
Please register to reply