Copyright 2004 Fourthought, Inc. (USA). Detailed license and copyright information: http://4suite.org/COPYRIGHT Project home, documentation, distributions: http://4suite.org/
|
Classes:
|
Functions:
|
Globals:
|
string -> string
number -> floating-point number
boolean -> boolean
node set -> array of strings
You can also coerce the value to a certain type by using an attribute
of the form t1, t2,... corresponding to the pN attribute with one of the
following string values:
INT
DOUBLE
STRING
BOOLEAN
The return value is converted into an XML fragment representation,
which is sent to output.
string -> <String>[value]</String>
floating-point number -> <Double>[value]</Double>
boolean -> boolean <Boolean>["true" or "false"]</Boolean>
array -> <Array>[sequence of child elements as above, according to array elements]</Array>
An example of an array:
<Array>
<String>a string</String>
<Float>123.4</Float>
<Int>1234</Int>
<String>another string</String>
</Array>
This means that in order to access a remote method
obj.spam('eggs', 3)
On a remote server at
http://spam.com/xmlrpcserver
And save the result of XSLT variable "monty",
you can use the following XSLT snippet:
<xsl:variable name="monty">
<futil:xml-rpc-invoke uri="http://spam.com/xmlrpcserver"
method="obj.spam"
p1="'eggs'"
p2="3" t2="INT"/>
</xsl:variable>
No type coercion is used for p1 because XSLT string are generally
unambiguous in converting to XML-RPC. However, the second param
could be integer or double, so it is coerced (default is double).
Beware that if an array is returned, you might need to use
the exslt:node-set function to convert from result tree fragment
to node set.