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/
--~------------------------------------------------------------------
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>
--~--