* TypeTranslator.cs, XmlCustomFormatter.cs: Added support for base64. This
authorLluis Sanchez <lluis@novell.com>
Thu, 15 Jul 2004 09:16:31 +0000 (09:16 -0000)
committerLluis Sanchez <lluis@novell.com>
Thu, 15 Jul 2004 09:16:31 +0000 (09:16 -0000)
  xsd type is not part of the last schema specification, but the google api
  uses it and ms.net accepts it.

svn path=/branches/mono-1-0/mcs/; revision=31168

mcs/class/System.XML/System.Xml.Serialization/ChangeLog
mcs/class/System.XML/System.Xml.Serialization/TypeTranslator.cs
mcs/class/System.XML/System.Xml.Serialization/XmlCustomFormatter.cs

index f98edd97e7f42a53a8d68c8446c2e7733e80c59c..e542d6a843de9ef67266293a26e32de6d12f293d 100755 (executable)
@@ -1,3 +1,9 @@
+2004-07-15  Lluis Sanchez Gual  <lluis@novell.com>
+
+       * TypeTranslator.cs, XmlCustomFormatter.cs: Added support for base64. This
+         xsd type is not part of the last schema specification, but the google api
+         uses it and ms.net accepts it.
+
 2004-06-22  Lluis Sanchez Gual  <lluis@ximian.com>
 
        * ReflectionHelper.cs: Correctly detect private types.
index cffcb1567a13a37d00d2d7f943b02699f699b00e..fc71eeea981f378058c4908567497f5e0da23c23 100644 (file)
@@ -106,6 +106,7 @@ namespace System.Xml.Serialization
                        primitiveTypes.Add ("token", new TypeData (typeof (string), "token", true));
                        primitiveTypes.Add ("normalizedString", new TypeData (typeof (string), "normalizedString", true));
                        primitiveTypes.Add ("anyURI", new TypeData (typeof (string), "anyURI", true));
+                       primitiveTypes.Add ("base64", new TypeData (typeof (byte[]), "base64", true));
                }
 
                public static TypeData GetTypeData (Type type)
index 17514268a90ffcfa350575ad16fb34b1e0bfddee..60b4f282cab465b0e00fe9105b165817e3edf8ed 100644 (file)
@@ -195,6 +195,7 @@ namespace System.Xml.Serialization {
                                case "unsignedInt": return XmlConvert.ToString ((UInt32)value);
                                case "unsignedLong": return XmlConvert.ToString ((UInt64)value);
                                case "guid": return XmlConvert.ToString ((Guid)value);
+                               case "base64":
                                case "base64Binary": return Convert.ToBase64String ((byte[])value);
                        default: return value is IFormattable ? ((IFormattable) value).ToString (null, CultureInfo.InvariantCulture) : value.ToString ();
                        }
@@ -223,6 +224,7 @@ namespace System.Xml.Serialization {
                                case "unsignedInt": return XmlConvert.ToUInt32 (value);
                                case "unsignedLong": return XmlConvert.ToUInt64 (value);
                                case "guid": return XmlConvert.ToGuid (value);
+                               case "base64":
                                case "base64Binary": return Convert.FromBase64String (value);
                                default: 
                                        if (type.Type != null)
@@ -253,6 +255,7 @@ namespace System.Xml.Serialization {
                                case "unsignedInt": return value + ".ToString(CultureInfo.InvariantCulture)";
                                case "unsignedLong": return value + ".ToString(CultureInfo.InvariantCulture)";
                                case "guid": return "XmlConvert.ToString (" + value + ")";
+                               case "base64":
                                case "base64Binary": return "Convert.ToBase64String (" + value + ")";
                                case "NMTOKEN":
                                case "Name":
@@ -290,6 +293,7 @@ namespace System.Xml.Serialization {
                                case "unsignedInt": return "UInt32.Parse (" + value + ", CultureInfo.InvariantCulture)";
                                case "unsignedLong": return "UInt64.Parse (" + value + ", CultureInfo.InvariantCulture)";
                                case "guid": return "XmlConvert.ToGuid (" + value + ")";
+                               case "base64:":
                                case "base64Binary": return "Convert.FromBase64String (" + value + ")";
                                default: return value;
                        }