Hi all, We are currently developing Jabber-RPC based interactions in a distributed application.
We use the base64 type to transmit binary data over the wire and we are facing a compatibility issue between client and server implementations: The capitalization of the 'Base64' element seems to be inconsistent across the different documents related to the standard. The XEP-0009 document [1] provides a schema that describes Base64 with capital 'B'. It also has a disclaimer saying: "There is no official XML schema for XML-RPC. The main body of this schema has been borrowed from an unofficial schema representation contained in the book "Processing XML With Java" by Elliotte Rusty Harold, as located at: http://www.ibiblio.org/xml/books/xmljava/chapters/ch02s05.html" That document [2] presents a DTD and an XSD as definitions for the XML-RPC messages. The DTD declares base64 in lowercase : <!ELEMENT base64 (#PCDATA)> While the schema declares Base64 in uppercase: <xsd:element name="Base64" type="xsd:base64Binary"/> Also, while looking at the complete XSD type definition, "Base64" is the only entry which does not follow the 'start with lowercase' pattern observed in the rest of the type declarations: <xs:element name="i4" type="xs:int"/> <xs:element name="int" type="xs:int"/> <xs:element name="string" type="ASCIIString"/> <xs:element name="double" type="xs:decimal"/> <xs:element name="Base64" type="xs:base64Binary"/> <xs:element name="boolean" type="NumericBoolean"/> <xs:element name="dateTime.iso8601" type="xs:dateTime"/> <xs:element name="array" type="ArrayType"/> <xs:element name="struct" type="StructType"/> The question is: is "Base64" (in uppercase) a typo in the schema or is it the correct definition for it and must be respected by the implementations? Many thanks, Gerard Maas. [1] http://xmpp.org/extensions/xep-0009.html [2] http://www.ibiblio.org/xml/books/xmljava/chapters/ch02s05.html Disclaimer: I joined the list to discuss this issue. My excuses if this has been handled before, though I would appreciate the final conclusion of any previous discussions.
