2 // System.Xml.Serialization.XmlCustomFormatter.cs
5 // Tim Coleman (tim@timcoleman.com)
7 // Copyright (C) Tim Coleman, 2002
14 namespace System.Xml.Serialization {
15 internal class XmlCustomFormatter {
20 internal static byte[] FromByteArrayBase64 (byte[] value)
22 throw new NotImplementedException ();
25 internal static string FromByteArrayHex (byte[] value)
27 StringBuilder output = new StringBuilder ();
28 foreach (byte val in value)
29 output.Append (val.ToString ("X2"));
30 return output.ToString ();
33 internal static string FromChar (char value)
35 return ((int) value).ToString ();
38 internal static string FromDate (DateTime value)
40 return XmlConvert.ToString (value, "yyyy-MM-dd");
43 internal static string FromDateTime (DateTime value)
45 return XmlConvert.ToString (value, "yyyy-MM-ddTHH:mm:ss.fffffffzzz");
48 internal static string FromTime (DateTime value)
50 return XmlConvert.ToString (value, "HH:mm:ss.fffffffzzz");
53 internal static string FromEnum (long value, string[] values, long[] ids)
55 int length = ids.Length;
57 for (int i = 0; i < length; i ++) {
59 if (i >= values.Length)
62 return values[i].ToString ();
64 return value.ToString ();
67 internal static string FromXmlName (string name)
69 return XmlConvert.EncodeName (name);
72 internal static string FromXmlNCName (string ncName)
74 return XmlConvert.EncodeLocalName (ncName);
77 internal static string FromXmlNmToken (string nmToken)
79 return XmlConvert.EncodeNmToken (nmToken);
82 internal static string FromXmlNmTokens (string nmTokens)
84 StringBuilder output = new StringBuilder ();
85 string [] tokens = nmTokens.Split (' ');
86 foreach (string token in tokens)
87 output.Append (FromXmlNmToken (token));
88 return output.ToString ();
91 internal static char ToChar (string value)
93 return (char) XmlConvert.ToUInt16 (value);
96 internal static DateTime ToDate (string value)
98 return ToDateTime (value);
101 internal static DateTime ToDateTime (string value)
103 return XmlConvert.ToDateTime (value);
106 internal static DateTime ToTime (string value)
108 return ToDateTime (value);
111 internal static string ToXmlName (string value)
113 return XmlConvert.DecodeName (value);
116 internal static string ToXmlNCName (string value)
118 return ToXmlName (value);
121 internal static string ToXmlNmToken (string value)
123 return ToXmlName (value);
126 internal static string ToXmlNmTokens (string value)
128 return ToXmlName (value);
131 #endregion // Methods