You are viewing a plain text version of this content. The canonical link for it is here.
Posted to rpc-dev@xml.apache.org by ha...@apache.org on 2001/11/07 13:41:45 UTC
cvs commit: xml-rpc/src/java/org/apache/xmlrpc XmlRpc.java
hannes 01/11/07 04:41:45
Modified: src/java/org/apache/xmlrpc XmlRpc.java
Log:
* Removed support for nil/null, which is not complient with the XML-RPC spec.
* Switched to MinML as standard parser
* Some minor tweaks and enhancements.
Revision Changes Path
1.3 +12 -12 xml-rpc/src/java/org/apache/xmlrpc/XmlRpc.java
Index: XmlRpc.java
===================================================================
RCS file: /home/cvs/xml-rpc/src/java/org/apache/xmlrpc/XmlRpc.java,v
retrieving revision 1.2
retrieving revision 1.3
diff -u -r1.2 -r1.3
--- XmlRpc.java 2001/10/29 17:07:05 1.2
+++ XmlRpc.java 2001/11/07 12:41:45 1.3
@@ -76,7 +76,7 @@
public abstract class XmlRpc
extends HandlerBase
{
- public static final String version = "helma XML-RPC 1.0";
+ public static final String version = "Apache XML-RPC 1.0";
String methodName;
@@ -85,6 +85,7 @@
private static Hashtable saxDrivers = new Hashtable ();
static
{
+ saxDrivers.put ("xerces", "org.apache.xerces.parsers.SAXParser");
saxDrivers.put ("xp", "com.jclark.xml.sax.Driver");
saxDrivers.put ("ibm1", "com.ibm.xml.parser.SAXDriver");
saxDrivers.put ("ibm2", "com.ibm.xml.parsers.SAXParser");
@@ -117,7 +118,6 @@
static final int BASE64 = 5;
static final int STRUCT = 6;
static final int ARRAY = 7;
- static final int NIL = 8;
// Error level + message
int errorLevel;
@@ -133,10 +133,9 @@
// for debugging output
public static boolean debug = false;
final static String types[] = {"String", "Integer", "Boolean", "Double",
- "Date", "Base64", "Struct", "Array", "Nil"};
+ "Date", "Base64", "Struct", "Array"};
// mapping between java encoding names and "real" names used in XML prolog.
- // if you use an encoding not listed here send feedback to xmlrpc@helma.org
static String encoding = "ISO8859_1";
static Properties encodings = new Properties ();
@@ -190,6 +189,9 @@
encoding = enc;
}
+ /**
+ * Return the encoding, transforming to the canonical name if possible.
+ */
public String getEncoding ()
{
return encodings.getProperty (encoding, encoding);
@@ -244,9 +246,10 @@
if (parserClass == null)
{
// try to get the name of the SAX driver from the System properties
- //setDriver (System.getProperty ("sax.driver", "org.openxml.parser.XMLSAXParser"));
+ // setDriver (System.getProperty (
+ // "sax.driver", "org.apache.xerces.parsers.SAXParser"));
setDriver (System.getProperty (
- "sax.driver", "org.apache.xerces.parsers.SAXParser"));
+ "sax.driver", "uk.co.wilson.xml.MinML"));
}
Parser parser = null;
@@ -278,8 +281,7 @@
writer.startElement ("value");
if (what == null)
{
- // try sending experimental <ni/> element
- writer.emptyElement ("nil");
+ throw new RuntimeException ("null value not supported by XML-RPC");
}
else if (what instanceof String)
{
@@ -504,8 +506,6 @@
currentValue.setType (STRUCT);
else if ("array".equals (name))
currentValue.setType (ARRAY);
- else if ("nil".equals (name))
- currentValue.setType (NIL);
}
@@ -634,7 +634,7 @@
public XmlWriter (StringBuffer buf)
{
- // The encoding used for XML-RPC is ISO-8859-1 for pragmatical reasons (Frontier/Win).
+ // The default encoding used for XML-RPC is ISO-8859-1 for pragmatical reasons.
this (buf, encoding);
}
@@ -644,7 +644,7 @@
this.enc = enc;
// get name of encoding for XML prolog
String encName = encodings.getProperty (enc, enc);
- buf.append ("<?xml version=\"1.0\" encoding=\""+encName + "\"?>");
+ buf.append ("<?xml version=\"1.0\" encoding=\"" + encName + "\"?>");
}
public void startElement (String elem)