oh damn... my match expressions were wrong... replace all this code with nested ifs... it's working fine.
cheers andre
On Jul 11, 2004, at 9:49 PM, Andre Garzia wrote:
Hi folks,
I am trying to build a routine to check what is the type of a variable so that I can generate XML-RPC Parameters. I am using a switch structure I pasted below. The problem is, when executing the handler like: xmlRPCCall "http://someurl", "somemethod", "andre", 1, "10/06/98" all parameters evaluate to string even the date and the number... the snipet that deals with strings is the "default" part of the switch, I thought, if it ain't a date, bool, int or float then it must be a string, but, everything turns to be a string... any clues?
PS: yes, I am using those nice functions made by Sarah :D
if the paramCount > 2 then addNewXMLElement tTreeID, "/methodCall", "params", "" repeat with x = 3 to the paramCount put x - 2 into tNum
switch (param(x))
case (param(x) is a integer)
addNewXMLElement tTreeID, "/methodCall/params/", "param", ""
addNewXMLElement tTreeID, replaceText("/methodCall/params/param[tNum]", "tNum", tNum), "value", ""
addNewXMLElement tTreeID, replaceText("/methodCall/params/param[tNum]/value", "tNum", tNum), "int", param(x)
break
case (param(x) is a number)
addNewXMLElement tTreeID, "/methodCall/params/", "param", ""
addNewXMLElement tTreeID, replaceText("/methodCall/params/param[tNum]", "tNum", tNum), "value", ""
addNewXMLElement tTreeID, replaceText("/methodCall/params/param[tNum]/value", "tNum", tNum), "float", param(x)
break
case (param(x) is a boolean)
addNewXMLElement tTreeID, "/methodCall/params/", "param", ""
addNewXMLElement tTreeID, replaceText("/methodCall/params/param[tNum]", "tNum", tNum), "value", ""
addNewXMLElement tTreeID, replaceText("/methodCall/params/param[tNum]/value", "tNum", tNum), "boolean", param(x)
break
case (param(x) is a date)
addNewXMLElement tTreeID, "/methodCall/params/", "param", ""
addNewXMLElement tTreeID, replaceText("/methodCall/params/param[tNum]", "tNum", tNum), "value", ""
addNewXMLElement tTreeID, replaceText("/methodCall/params/param[tNum]/value", "tNum", tNum), "date", param(x)
break
default
addNewXMLElement tTreeID, "/methodCall/params/", "param", ""
addNewXMLElement tTreeID, replaceText("/methodCall/params/param[tNum]", "tNum", tNum), "value", ""
addNewXMLElement tTreeID, replaceText("/methodCall/params/param[tNum]/value", "tNum", tNum), "string", param(x)
break
break end switch end repeat end if
-- Andre Alves Garzia 2004 Soap Dog Studios - BRAZIL http://studio.soapdog.org _______________________________________________ use-revolution mailing list [EMAIL PROTECTED] http://lists.runrev.com/mailman/listinfo/use-revolution
-- Andre Alves Garzia 2004 BRAZIL http://studio.soapdog.org
_______________________________________________ use-revolution mailing list [EMAIL PROTECTED] http://lists.runrev.com/mailman/listinfo/use-revolution
