case "unsignedLong": return XmlConvert.ToString ((UInt64)value);
case "guid": return XmlConvert.ToString ((Guid)value);
case "base64Binary": return Convert.ToBase64String ((byte[])value);
+ case "anyURI":
default: return value.ToString ();
}
}
case "unsignedLong": return XmlConvert.ToUInt64 (value);
case "guid": return XmlConvert.ToGuid (value);
case "base64Binary": return Convert.FromBase64String (value);
- default: return Convert.ChangeType (value, type.Type);
+ case "anyUri": return new Uri (value);
+ default:
+ if (type.Type != null)
+ return Convert.ChangeType (value, type.Type);
+ else
+ return value;
}
}
{
case "boolean": return "(" + value + "?\"true\":\"false\")";
case "unsignedByte": return value + ".ToString()";
- case "char": return value + ".ToString()";
+ case "char": return "((int)(" + value + ")).ToString()";
case "dateTime": return value + ".ToString(\"yyyy-MM-ddTHH:mm:ss.fffffffzzz\", CultureInfo.InvariantCulture)";
case "date": return value + ".ToString(\"yyyy-MM-dd\", CultureInfo.InvariantCulture)";
case "time": return value + ".ToString(\"HH:mm:ss.fffffffzzz\", CultureInfo.InvariantCulture";
case "unsignedLong": return value + ".ToString()";
case "guid": return "XmlConvert.ToString (" + value + ")";
case "base64Binary": return "Convert.ToBase64String (" + value + ")";
+ case "NMTOKEN":
+ case "Name":
+ case "NCName":
+ case "language":
+ case "ENTITY":
+ case "ID":
+ case "IDREF":
+ case "NOTATION":
+ case "token":
+ case "normalizedString":
case "string": return value;
- default: return value + ".ToString()";
+ default: return "((" + value + " != null) ? (" + value + ").ToString() : null)";
}
}
switch (type.XmlType)
{
case "boolean": return "XmlConvert.ToBoolean (" + value + ")";
- case "unsignedByte": return "SByte.Parse(" + value + ")";
+ case "unsignedByte": return "byte.Parse(" + value + ")";
case "char": return "(char)Int32.Parse (" + value + ")";
case "dateTime": return "XmlConvert.ToDateTime (" + value + ")";
case "date": return "DateTime.ParseExact (" + value + ", \"yyyy-MM-dd\", null)";