private /*static*/ XmlQualifiedName MapType (Type type)
{
switch (Type.GetTypeCode (type)) {
case TypeCode.String: return XmlConstants.QnString;
case TypeCode.Int16: return XmlConstants.QnShort;
case TypeCode.Int32: return XmlConstants.QnInt;
case TypeCode.Int64: return XmlConstants.QnLong;
case TypeCode.Boolean: return XmlConstants.QnBoolean;
case TypeCode.Byte: return XmlConstants.QnUnsignedByte;
//case TypeCode.Char: return XmlConstants.QnChar;
case TypeCode.DateTime: return XmlConstants.QnDateTime;
case TypeCode.Decimal: return XmlConstants.QnDecimal;
case TypeCode.Double: return XmlConstants.QnDouble;
case TypeCode.SByte: return XmlConstants.QnSbyte;
case TypeCode.Single: return XmlConstants.QnFloat;
case TypeCode.UInt16: return XmlConstants.QnUnsignedShort;
case TypeCode.UInt32: return XmlConstants.QnUnsignedInt;
case TypeCode.UInt64: return XmlConstants.QnUnsignedLong;
}
if (typeof (TimeSpan) == type)
return XmlConstants.QnDuration;
else if (typeof (System.Uri) == type)
return XmlConstants.QnUri;
else if (typeof (byte[]) == type)
return XmlConstants.QnBase64Binary;
else if (typeof (XmlQualifiedName) == type)
return XmlConstants.QnXmlQualifiedName;
else
return XmlConstants.QnString;
}
}