[XSL-LIST Mailing List Archive Home] [By Thread] [By Date] [Recent Entries] [Reply To This Message]

RE: Passing XML Tree to a java method as String.

Subject: RE: Passing XML Tree to a java method as String.
From: "Michael Kay" <mike@xxxxxxxxxxxx>
Date: Sat, 15 Jul 2006 06:27:24 +0100
java xml to string
> I have a SOAP Message in the XSL template and need to pass 
> everything inside the Body element to a java method that 
> takes a String.

You don't make it clear, but presumably the Java method is expecting lexical
XML containing markup (angle brackets)?

> 
> When I do the following:
> <xsl:template match="/">
> 	<xsl:variable name="myxml">
> 		<xsl:copy-of select="env:Envelope/env:Body/*" />
> 	</xsl:variable>
> 
> 	<xsl:value-of select="JavaClassRef:javaMethod($myxml)" 
> /> </xsl:template>
> 
> In the javaMethod I get only the values inside the elements passed.
> How can I pass everything including the elements that are 
> inside the Body element as String (the entire XML structure 
> as String)? Do I need to convert the XML to String?

Interfaces to extension functions are entirely implementation-defined, so it
all depends on the product. I would expect that most products, if they allow
you to pass a node to a function that expects a string, would convert the
node to a string by calling the string() function, which will lose all the
markup.

Saxon has an extension function saxon:serialize() which might be what you
want.

Michael Kay
http://www.saxonica.com/

Current Thread

PURCHASE STYLUS STUDIO ONLINE TODAY!

Purchasing Stylus Studio from our online shop is Easy, Secure and Value Priced!

Buy Stylus Studio Now

Download The World's Best XML IDE!

Accelerate XML development with our award-winning XML IDE - Download a free trial today!

Don't miss another message! Subscribe to this list today.
Email
First Name
Last Name
Company
Subscribe in XML format
RSS 2.0
Atom 0.3
Site Map | Privacy Policy | Terms of Use | Trademarks
Free Stylus Studio XML Training:
W3C Member
Stylus Studio® and DataDirect XQuery ™are products from DataDirect Technologies, is a registered trademark of Progress Software Corporation, in the U.S. and other countries. © 2004-2013 All Rights Reserved.