1. According to the spec, if no type is indicated, the type is string.
<int> and <i4> fields appear to be handled the same and subject to the
same rules, so changing the tag from int to i4 shouldn't affect any
compliant parser.
  is the space character, so the generated XML is compliant to the
spec and would be interpreted correctly by a compliant client. I know of
no way to make the generated xml display exactly as you described
without hacking apache's code.
2. The spec has been updated to state that int fields collapse leading
zeros in int values. To keep the leading zeros you'd have to store it as
another type, for example string or base64
Hope this helps,
Derek
________________________________
From: Yixing Ma [mailto:Yixing.Ma@interfacemgmt.net]
Sent: Tuesday, November 01, 2005 1:35 PM
To: xmlrpc-user@ws.apache.org
Subject: <i4> and array type question,please help
Importance: High
Hi,
As I'm starting to use apache's XML-RPC java api, I found couple of
questions.
1) The standard XML-RPC spec defines the array type as something like:
**********************************************************************
<array>
<data>
<value><i4>1404</i4></value>
<value><string>Something Here</string></value>
</data>
</array>
***********************************************************************
But I was unable to put <i4> into the array by using java Vector. I
could only put <int></int> instead of <i4>. Also the <string></string>
tag in red is missing. The blank space was replaced by " " in the
generated XML.
My code is:
**********************************
Vector v=new Vector(); *
v.add(new Integer("1404")); *
v.add("Something Here"); *
**********************************
The result XML is
**********************************************************************
<array>
<data>
<value><int>1404</int></value>
<value>Something Here</value>
</data>
</array>
**********************************************************************
Is there a way to produce the exact same XML as XML-RPC defined by using
apache's api?
2) If I want to generate
<array>
<data>
<value><i4>001404</i4></value>
</data>
</array>
as I want to preserve the zero before 1404. What should I do?
Best regards,
Yixing Ma
|